console.time("Load Player Dependencies"); console.time("Load Shared Dependencies"); var jsGlobal = function() { return this || (0,eval)("this"); }(), inBrowser = "undefined" != typeof console; jsGlobal.performance || (jsGlobal.performance = {}); jsGlobal.performance.now || (jsGlobal.performance.now = "undefined" !== typeof dateNow ? dateNow : Date.now); function log(b) { for (var k = 0;k < arguments.length - 1;k++) { } jsGlobal.print.apply(jsGlobal, arguments); } function warn(b) { for (var k = 0;k < arguments.length - 1;k++) { } inBrowser ? console.warn.apply(console, arguments) : jsGlobal.print(Shumway.IndentingWriter.RED + b + Shumway.IndentingWriter.ENDC); } var Shumway; (function(b) { function k(a) { return(a | 0) === a; } function g(a) { return "object" === typeof a || "function" === typeof a; } function f(a) { return String(Number(a)) === a; } function t(a) { var c = 0; if ("number" === typeof a) { return c = a | 0, a === c && 0 <= c ? !0 : a >>> 0 === a; } if ("string" !== typeof a) { return!1; } var e = a.length; if (0 === e) { return!1; } if ("0" === a) { return!0; } if (e > b.UINT32_CHAR_BUFFER_LENGTH) { return!1; } var r = 0, c = a.charCodeAt(r++) - 48; if (1 > c || 9 < c) { return!1; } for (var h = 0, q = 0;r < e;) { q = a.charCodeAt(r++) - 48; if (0 > q || 9 < q) { return!1; } h = c; c = 10 * c + q; } return h < b.UINT32_MAX_DIV_10 || h === b.UINT32_MAX_DIV_10 && q <= b.UINT32_MAX_MOD_10 ? !0 : !1; } (function(a) { a[a._0 = 48] = "_0"; a[a._1 = 49] = "_1"; a[a._2 = 50] = "_2"; a[a._3 = 51] = "_3"; a[a._4 = 52] = "_4"; a[a._5 = 53] = "_5"; a[a._6 = 54] = "_6"; a[a._7 = 55] = "_7"; a[a._8 = 56] = "_8"; a[a._9 = 57] = "_9"; })(b.CharacterCodes || (b.CharacterCodes = {})); b.UINT32_CHAR_BUFFER_LENGTH = 10; b.UINT32_MAX = 4294967295; b.UINT32_MAX_DIV_10 = 429496729; b.UINT32_MAX_MOD_10 = 5; b.isString = function(a) { return "string" === typeof a; }; b.isFunction = function(a) { return "function" === typeof a; }; b.isNumber = function(a) { return "number" === typeof a; }; b.isInteger = k; b.isArray = function(a) { return a instanceof Array; }; b.isNumberOrString = function(a) { return "number" === typeof a || "string" === typeof a; }; b.isObject = g; b.toNumber = function(a) { return+a; }; b.isNumericString = f; b.isNumeric = function(a) { if ("number" === typeof a) { return!0; } if ("string" === typeof a) { var c = a.charCodeAt(0); return 65 <= c && 90 >= c || 97 <= c && 122 >= c || 36 === c || 95 === c ? !1 : t(a) || f(a); } return!1; }; b.isIndex = t; b.isNullOrUndefined = function(a) { return void 0 == a; }; (function(a) { a.backtrace = function() { try { throw Error(); } catch (a) { return a.stack ? a.stack.split("\n").slice(2).join("\n") : ""; } }; a.error = function(c) { inBrowser ? warn(c) : warn(c + "\n\nStack Trace:\n" + a.backtrace()); throw Error(c); }; a.assert = function(c, r) { "undefined" === typeof r && (r = "assertion failed"); "" === c && (c = !0); c || a.error(r.toString()); }; a.assertUnreachable = function(a) { var l = Error().stack.split("\n")[1]; throw Error("Reached unreachable location " + l + a); }; a.assertNotImplemented = function(c, r) { c || a.error("notImplemented: " + r); }; a.warning = function(a) { warn(a); }; a.notUsed = function(c) { a.assert(!1, "Not Used " + c); }; a.notImplemented = function(c) { log("release: false"); a.assert(!1, "Not Implemented " + c); }; a.abstractMethod = function(c) { a.assert(!1, "Abstract Method " + c); }; var c = {}; a.somewhatImplemented = function(e) { c[e] || (c[e] = !0, a.warning("somewhatImplemented: " + e)); }; a.unexpected = function(c) { a.assert(!1, "Unexpected: " + c); }; a.untested = function(c) { a.warning("Congratulations, you've found a code path for which we haven't found a test case. Please submit the test case: " + c); }; })(b.Debug || (b.Debug = {})); var s = b.Debug; b.getTicks = function() { return performance.now(); }; (function(a) { function c(a, l) { for (var r = 0, e = a.length;r < e;r++) { if (a[r] === l) { return r; } } a.push(l); return a.length - 1; } var e = b.Debug.assert; a.popManyInto = function(a, l, c) { e(a.length >= l); for (var r = l - 1;0 <= r;r--) { c[r] = a.pop(); } c.length = l; }; a.popMany = function(a, l) { e(a.length >= l); var c = a.length - l, r = a.slice(c, this.length); a.splice(c, l); return r; }; a.popManyIntoVoid = function(a, l) { e(a.length >= l); a.length -= l; }; a.pushMany = function(a, l) { for (var c = 0;c < l.length;c++) { a.push(l[c]); } }; a.top = function(a) { return a.length && a[a.length - 1]; }; a.last = function(a) { return a.length && a[a.length - 1]; }; a.peek = function(a) { e(0 < a.length); return a[a.length - 1]; }; a.indexOf = function(a, l) { for (var c = 0, r = a.length;c < r;c++) { if (a[c] === l) { return c; } } return-1; }; a.pushUnique = c; a.unique = function(a) { for (var l = [], r = 0;r < a.length;r++) { c(l, a[r]); } return l; }; a.copyFrom = function(h, c) { h.length = 0; a.pushMany(h, c); }; a.ensureTypedArrayCapacity = function(a, l) { if (a.length < l) { var c = a; a = new a.constructor(b.IntegerUtilities.nearestPowerOfTwo(l)); a.set(c, 0); } return a; }; var r = function() { function a(h) { "undefined" === typeof h && (h = 16); this._f32 = this._i32 = this._u16 = this._u8 = null; this._offset = 0; this.ensureCapacity(h); } a.prototype.reset = function() { this._offset = 0; }; Object.defineProperty(a.prototype, "offset", {get:function() { return this._offset; }, enumerable:!0, configurable:!0}); a.prototype.getIndex = function(a) { e(1 === a || 2 === a || 4 === a || 8 === a || 16 === a); a = this._offset / a; e((a | 0) === a); return a; }; a.prototype.ensureAdditionalCapacity = function(a) { this.ensureCapacity(this._offset + a); }; a.prototype.ensureCapacity = function(a) { if (!this._u8) { this._u8 = new Uint8Array(a); } else { if (this._u8.length > a) { return; } } var h = 2 * this._u8.length; h < a && (h = a); a = new Uint8Array(h); a.set(this._u8, 0); this._u8 = a; this._u16 = new Uint16Array(a.buffer); this._i32 = new Int32Array(a.buffer); this._f32 = new Float32Array(a.buffer); }; a.prototype.writeInt = function(a) { e(0 === (this._offset & 3)); this.ensureCapacity(this._offset + 4); this.writeIntUnsafe(a); }; a.prototype.writeIntAt = function(a, h) { e(0 <= h && h <= this._offset); e(0 === (h & 3)); this.ensureCapacity(h + 4); this._i32[h >> 2] = a; }; a.prototype.writeIntUnsafe = function(a) { this._i32[this._offset >> 2] = a; this._offset += 4; }; a.prototype.writeFloat = function(a) { e(0 === (this._offset & 3)); this.ensureCapacity(this._offset + 4); this.writeFloatUnsafe(a); }; a.prototype.writeFloatUnsafe = function(a) { this._f32[this._offset >> 2] = a; this._offset += 4; }; a.prototype.write4Floats = function(a, h, l, c) { e(0 === (this._offset & 3)); this.ensureCapacity(this._offset + 16); this.write4FloatsUnsafe(a, h, l, c); }; a.prototype.write4FloatsUnsafe = function(a, h, l, c) { var r = this._offset >> 2; this._f32[r + 0] = a; this._f32[r + 1] = h; this._f32[r + 2] = l; this._f32[r + 3] = c; this._offset += 16; }; a.prototype.write6Floats = function(a, h, l, c, r, u) { e(0 === (this._offset & 3)); this.ensureCapacity(this._offset + 24); this.write6FloatsUnsafe(a, h, l, c, r, u); }; a.prototype.write6FloatsUnsafe = function(a, h, l, c, r, e) { var u = this._offset >> 2; this._f32[u + 0] = a; this._f32[u + 1] = h; this._f32[u + 2] = l; this._f32[u + 3] = c; this._f32[u + 4] = r; this._f32[u + 5] = e; this._offset += 24; }; a.prototype.subF32View = function() { return this._f32.subarray(0, this._offset >> 2); }; a.prototype.subI32View = function() { return this._i32.subarray(0, this._offset >> 2); }; a.prototype.subU16View = function() { return this._u16.subarray(0, this._offset >> 1); }; a.prototype.subU8View = function() { return this._u8.subarray(0, this._offset); }; a.prototype.hashWords = function(a, h, l) { h = this._i32; for (var c = 0;c < l;c++) { a = (31 * a | 0) + h[c] | 0; } return a; }; a.prototype.reserve = function(a) { a = a + 3 & -4; this.ensureCapacity(this._offset + a); this._offset += a; }; return a; }(); a.ArrayWriter = r; })(b.ArrayUtilities || (b.ArrayUtilities = {})); var m = b.ArrayUtilities, d = function() { function a(l) { this._u8 = new Uint8Array(l); this._u16 = new Uint16Array(l); this._i32 = new Int32Array(l); this._f32 = new Float32Array(l); this._offset = 0; } Object.defineProperty(a.prototype, "offset", {get:function() { return this._offset; }, enumerable:!0, configurable:!0}); a.prototype.isEmpty = function() { return this._offset === this._u8.length; }; a.prototype.readInt = function() { s.assert(0 === (this._offset & 3)); s.assert(this._offset <= this._u8.length - 4); var a = this._i32[this._offset >> 2]; this._offset += 4; return a; }; a.prototype.readFloat = function() { s.assert(0 === (this._offset & 3)); s.assert(this._offset <= this._u8.length - 4); var a = this._f32[this._offset >> 2]; this._offset += 4; return a; }; return a; }(); b.ArrayReader = d; (function(l) { function c(a, h) { return Object.prototype.hasOwnProperty.call(a, h); } function e(a, h) { for (var l in h) { c(h, l) && (a[l] = h[l]); } } l.boxValue = function(a) { return void 0 == a || g(a) ? a : Object(a); }; l.toKeyValueArray = function(a) { var h = Object.prototype.hasOwnProperty, l = [], c; for (c in a) { h.call(a, c) && l.push([c, a[c]]); } return l; }; l.isPrototypeWriteable = function(a) { return Object.getOwnPropertyDescriptor(a, "prototype").writable; }; l.hasOwnProperty = c; l.propertyIsEnumerable = function(a, h) { return Object.prototype.propertyIsEnumerable.call(a, h); }; l.getOwnPropertyDescriptor = function(a, h) { return Object.getOwnPropertyDescriptor(a, h); }; l.hasOwnGetter = function(a, h) { var l = Object.getOwnPropertyDescriptor(a, h); return!(!l || !l.get); }; l.getOwnGetter = function(a, h) { var l = Object.getOwnPropertyDescriptor(a, h); return l ? l.get : null; }; l.hasOwnSetter = function(a, h) { var l = Object.getOwnPropertyDescriptor(a, h); return!(!l || !l.set); }; l.createObject = function(a) { return Object.create(a); }; l.createEmptyObject = function() { return Object.create(null); }; l.createMap = function() { return Object.create(null); }; l.createArrayMap = function() { return[]; }; l.defineReadOnlyProperty = function(a, h, l) { Object.defineProperty(a, h, {value:l, writable:!1, configurable:!0, enumerable:!1}); }; l.getOwnPropertyDescriptors = function(a) { for (var h = l.createMap(), c = Object.getOwnPropertyNames(a), e = 0;e < c.length;e++) { h[c[e]] = Object.getOwnPropertyDescriptor(a, c[e]); } return h; }; l.cloneObject = function(a) { var h = Object.create(Object.getPrototypeOf(a)); e(h, a); return h; }; l.copyProperties = function(a, h) { for (var l in h) { a[l] = h[l]; } }; l.copyOwnProperties = e; l.copyOwnPropertyDescriptors = function(a, h, l) { "undefined" === typeof l && (l = !0); for (var e in h) { if (c(h, e)) { var q = Object.getOwnPropertyDescriptor(h, e); if (l || !c(a, e)) { s.assert(q); try { Object.defineProperty(a, e, q); } catch (d) { } } } } }; l.getLatestGetterOrSetterPropertyDescriptor = function(a, h) { for (var l = {};a;) { var c = Object.getOwnPropertyDescriptor(a, h); c && (l.get = l.get || c.get, l.set = l.set || c.set); if (l.get && l.set) { break; } a = Object.getPrototypeOf(a); } return l; }; l.defineNonEnumerableGetterOrSetter = function(a, h, c, e) { var u = l.getLatestGetterOrSetterPropertyDescriptor(a, h); u.configurable = !0; u.enumerable = !1; e ? u.get = c : u.set = c; Object.defineProperty(a, h, u); }; l.defineNonEnumerableGetter = function(a, h, l) { Object.defineProperty(a, h, {get:l, configurable:!0, enumerable:!1}); }; l.defineNonEnumerableSetter = function(a, h, l) { Object.defineProperty(a, h, {set:l, configurable:!0, enumerable:!1}); }; l.defineNonEnumerableProperty = function(a, h, l) { Object.defineProperty(a, h, {value:l, writable:!0, configurable:!0, enumerable:!1}); }; l.defineNonEnumerableForwardingProperty = function(l, h, c) { Object.defineProperty(l, h, {get:a.makeForwardingGetter(c), set:a.makeForwardingSetter(c), writable:!0, configurable:!0, enumerable:!1}); }; l.defineNewNonEnumerableProperty = function(a, h, c) { s.assert(!Object.prototype.hasOwnProperty.call(a, h), "Property: " + h + " already exits."); l.defineNonEnumerableProperty(a, h, c); }; })(b.ObjectUtilities || (b.ObjectUtilities = {})); (function(a) { a.makeForwardingGetter = function(a) { return new Function('return this["' + a + '"]'); }; a.makeForwardingSetter = function(a) { return new Function("value", 'this["' + a + '"] = value;'); }; a.bindSafely = function(a, l) { s.assert(!a.boundTo && l); var c = a.bind(l); c.boundTo = l; return c; }; })(b.FunctionUtilities || (b.FunctionUtilities = {})); var a = b.FunctionUtilities; (function(a) { function c(a) { return "string" === typeof a ? '"' + a + '"' : "number" === typeof a || "boolean" === typeof a ? String(a) : a instanceof Array ? "[] " + a.length : typeof a; } var e = b.Debug.assert; a.repeatString = function(a, h) { for (var l = "", c = 0;c < h;c++) { l += a; } return l; }; a.memorySizeToString = function(a) { a |= 0; return 1024 > a ? a + " B" : 1048576 > a ? (a / 1024).toFixed(2) + "KB" : (a / 1048576).toFixed(2) + "MB"; }; a.toSafeString = c; a.toSafeArrayString = function(a) { for (var h = [], l = 0;l < a.length;l++) { h.push(c(a[l])); } return h.join(", "); }; a.utf8decode = function(a) { for (var h = new Uint8Array(4 * a.length), l = 0, c = 0, e = a.length;c < e;c++) { var r = a.charCodeAt(c); if (127 >= r) { h[l++] = r; } else { if (55296 <= r && 56319 >= r) { var u = a.charCodeAt(c + 1); 56320 <= u && 57343 >= u && (r = ((r & 1023) << 10) + (u & 1023) + 65536, ++c); } 0 !== (r & 4292870144) ? (h[l++] = 248 | r >>> 24 & 3, h[l++] = 128 | r >>> 18 & 63, h[l++] = 128 | r >>> 12 & 63, h[l++] = 128 | r >>> 6 & 63) : 0 !== (r & 4294901760) ? (h[l++] = 240 | r >>> 18 & 7, h[l++] = 128 | r >>> 12 & 63, h[l++] = 128 | r >>> 6 & 63) : 0 !== (r & 4294965248) ? (h[l++] = 224 | r >>> 12 & 15, h[l++] = 128 | r >>> 6 & 63) : h[l++] = 192 | r >>> 6 & 31; h[l++] = 128 | r & 63; } } return h.subarray(0, l); }; a.utf8encode = function(a) { for (var h = 0, l = "";h < a.length;) { var c = a[h++] & 255; if (127 >= c) { l += String.fromCharCode(c); } else { var e = 192, r = 5; do { if ((c & (e >> 1 | 128)) === e) { break; } e = e >> 1 | 128; --r; } while (0 <= r); if (0 >= r) { l += String.fromCharCode(c); } else { for (var c = c & (1 << r) - 1, e = !1, u = 5;u >= r;--u) { var q = a[h++]; if (128 != (q & 192)) { e = !0; break; } c = c << 6 | q & 63; } if (e) { for (r = h - (7 - u);r < h;++r) { l += String.fromCharCode(a[r] & 255); } } else { l = 65536 <= c ? l + String.fromCharCode(c - 65536 >> 10 & 1023 | 55296, c & 1023 | 56320) : l + String.fromCharCode(c); } } } } return l; }; a.base64ArrayBuffer = function(a) { var h = ""; a = new Uint8Array(a); for (var l = a.byteLength, c = l % 3, l = l - c, e, r, u, q, d = 0;d < l;d += 3) { q = a[d] << 16 | a[d + 1] << 8 | a[d + 2], e = (q & 16515072) >> 18, r = (q & 258048) >> 12, u = (q & 4032) >> 6, q &= 63, h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[e] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[r] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[u] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[q]; } 1 == c ? (q = a[l], h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 252) >> 2] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 3) << 4] + "==") : 2 == c && (q = a[l] << 8 | a[l + 1], h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 64512) >> 10] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 1008) >> 4] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 15) << 2] + "="); return h; }; a.escapeString = function(a) { void 0 !== a && (a = a.replace(/[^\w$]/gi, "$"), /^\d/.test(a) && (a = "$" + a)); return a; }; a.fromCharCodeArray = function(a) { for (var h = "", l = 0;l < a.length;l += 16384) { var c = Math.min(a.length - l, 16384), h = h + String.fromCharCode.apply(null, a.subarray(l, l + c)) } return h; }; a.variableLengthEncodeInt32 = function(h) { var c = 32 - Math.clz32(h); e(32 >= c, c); for (var r = Math.ceil(c / 6), u = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$_"[r], q = r - 1;0 <= q;q--) { u += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$_"[h >> 6 * q & 63]; } e(a.variableLengthDecodeInt32(u) === h, h + " : " + u + " - " + r + " bits: " + c); return u; }; a.toEncoding = function(a) { return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$_"[a]; }; a.fromEncoding = function(a) { a = a.charCodeAt(0); if (65 <= a && 90 >= a) { return a - 65; } if (97 <= a && 122 >= a) { return a - 71; } if (48 <= a && 57 >= a) { return a + 4; } if (36 === a) { return 62; } if (95 === a) { return 63; } e(!1, "Invalid Encoding"); }; a.variableLengthDecodeInt32 = function(h) { for (var c = a.fromEncoding(h[0]), e = 0, r = 0;r < c;r++) { var u = 6 * (c - r - 1), e = e | a.fromEncoding(h[1 + r]) << u } return e; }; a.trimMiddle = function(a, h) { if (a.length <= h) { return a; } var l = h >> 1, c = h - l - 1; return a.substr(0, l) + "\u2026" + a.substr(a.length - c, c); }; a.multiple = function(a, h) { for (var l = "", c = 0;c < h;c++) { l += a; } return l; }; a.indexOfAny = function(a, h, l) { for (var c = a.length, e = 0;e < h.length;e++) { var r = a.indexOf(h[e], l); 0 <= r && (c = Math.min(c, r)); } return c === a.length ? -1 : c; }; var r = Array(3), h = Array(4), q = Array(5), d = Array(6), p = Array(7), n = Array(8), m = Array(9); a.concat3 = function(a, h, l) { r[0] = a; r[1] = h; r[2] = l; return r.join(""); }; a.concat4 = function(a, l, c, e) { h[0] = a; h[1] = l; h[2] = c; h[3] = e; return h.join(""); }; a.concat5 = function(a, h, l, c, e) { q[0] = a; q[1] = h; q[2] = l; q[3] = c; q[4] = e; return q.join(""); }; a.concat6 = function(a, h, l, c, e, r) { d[0] = a; d[1] = h; d[2] = l; d[3] = c; d[4] = e; d[5] = r; return d.join(""); }; a.concat7 = function(a, h, l, c, e, r, u) { p[0] = a; p[1] = h; p[2] = l; p[3] = c; p[4] = e; p[5] = r; p[6] = u; return p.join(""); }; a.concat8 = function(a, h, l, c, e, r, u, q) { n[0] = a; n[1] = h; n[2] = l; n[3] = c; n[4] = e; n[5] = r; n[6] = u; n[7] = q; return n.join(""); }; a.concat9 = function(a, h, l, c, e, r, u, q, d) { m[0] = a; m[1] = h; m[2] = l; m[3] = c; m[4] = e; m[5] = r; m[6] = u; m[7] = q; m[8] = d; return m.join(""); }; })(b.StringUtilities || (b.StringUtilities = {})); (function(a) { var c = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]), e = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]); a.hashBytesTo32BitsMD5 = function(a, h, l) { var q = 1732584193, d = -271733879, p = -1732584194, n = 271733878, b = l + 72 & -64, m = new Uint8Array(b), f; for (f = 0;f < l;++f) { m[f] = a[h++]; } m[f++] = 128; for (a = b - 8;f < a;) { m[f++] = 0; } m[f++] = l << 3 & 255; m[f++] = l >> 5 & 255; m[f++] = l >> 13 & 255; m[f++] = l >> 21 & 255; m[f++] = l >>> 29 & 255; m[f++] = 0; m[f++] = 0; m[f++] = 0; a = new Int32Array(16); for (f = 0;f < b;) { for (l = 0;16 > l;++l, f += 4) { a[l] = m[f] | m[f + 1] << 8 | m[f + 2] << 16 | m[f + 3] << 24; } var g = q; h = d; var s = p, k = n, t, z; for (l = 0;64 > l;++l) { 16 > l ? (t = h & s | ~h & k, z = l) : 32 > l ? (t = k & h | ~k & s, z = 5 * l + 1 & 15) : 48 > l ? (t = h ^ s ^ k, z = 3 * l + 5 & 15) : (t = s ^ (h | ~k), z = 7 * l & 15); var P = k, g = g + t + e[l] + a[z] | 0; t = c[l]; k = s; s = h; h = h + (g << t | g >>> 32 - t) | 0; g = P; } q = q + g | 0; d = d + h | 0; p = p + s | 0; n = n + k | 0; } return q; }; a.hashBytesTo32BitsAdler = function(a, h, l) { var c = 1, e = 0; for (l = h + l;h < l;++h) { c = (c + (a[h] & 255)) % 65521, e = (e + c) % 65521; } return e << 16 | c; }; })(b.HashUtilities || (b.HashUtilities = {})); var c = function() { function a() { } a.seed = function(c) { a._state[0] = c; a._state[1] = c; }; a.next = function() { var a = this._state, l = Math.imul(18273, a[0] & 65535) + (a[0] >>> 16) | 0; a[0] = l; var c = Math.imul(36969, a[1] & 65535) + (a[1] >>> 16) | 0; a[1] = c; a = (l << 16) + (c & 65535) | 0; return 2.3283064365386963E-10 * (0 > a ? a + 4294967296 : a); }; a._state = new Uint32Array([57005, 48879]); return a; }(); b.Random = c; Math.random = function() { return c.next(); }; (function() { function a() { this.id = "$weakmap" + c++; } if ("function" !== typeof jsGlobal.WeakMap) { var c = 0; a.prototype = {has:function(a) { return a.hasOwnProperty(this.id); }, get:function(a, l) { return a.hasOwnProperty(this.id) ? a[this.id] : l; }, set:function(a, l) { Object.defineProperty(a, this.id, {value:l, enumerable:!1, configurable:!0}); }}; jsGlobal.WeakMap = a; } })(); d = function() { function a() { "undefined" !== typeof netscape && netscape.security.PrivilegeManager ? this._map = new WeakMap : this._list = []; } a.prototype.clear = function() { this._map ? this._map.clear() : this._list.length = 0; }; a.prototype.push = function(a) { this._map ? this._map.set(a, null) : this._list.push(a); }; a.prototype.forEach = function(a) { if (this._map) { "undefined" !== typeof netscape && netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"), Components.utils.nondeterministicGetWeakMapKeys(this._map).forEach(function(h) { 0 !== h._referenceCount && a(h); }); } else { for (var l = this._list, c = 0, h = 0;h < l.length;h++) { var e = l[h]; 0 === e._referenceCount ? c++ : a(e); } if (16 < c && c > l.length >> 2) { c = []; for (h = 0;h < l.length;h++) { 0 < l[h]._referenceCount && c.push(l[h]); } this._list = c; } } }; Object.defineProperty(a.prototype, "length", {get:function() { return this._map ? -1 : this._list.length; }, enumerable:!0, configurable:!0}); return a; }(); b.WeakList = d; (function(a) { a.pow2 = function(a) { return a === (a | 0) ? 0 > a ? 1 / (1 << -a) : 1 << a : Math.pow(2, a); }; a.clamp = function(a, l, c) { return Math.max(l, Math.min(c, a)); }; a.roundHalfEven = function(a) { if (.5 === Math.abs(a % 1)) { var l = Math.floor(a); return 0 === l % 2 ? l : Math.ceil(a); } return Math.round(a); }; a.epsilonEquals = function(a, l) { return 1E-7 > Math.abs(a - l); }; })(b.NumberUtilities || (b.NumberUtilities = {})); (function(a) { a[a.MaxU16 = 65535] = "MaxU16"; a[a.MaxI16 = 32767] = "MaxI16"; a[a.MinI16 = -32768] = "MinI16"; })(b.Numbers || (b.Numbers = {})); (function(a) { function c(a) { return 256 * a << 16 >> 16; } var e = new ArrayBuffer(8); a.i8 = new Int8Array(e); a.u8 = new Uint8Array(e); a.i32 = new Int32Array(e); a.f32 = new Float32Array(e); a.f64 = new Float64Array(e); a.nativeLittleEndian = 1 === (new Int8Array((new Int32Array([1])).buffer))[0]; a.floatToInt32 = function(c) { a.f32[0] = c; return a.i32[0]; }; a.int32ToFloat = function(c) { a.i32[0] = c; return a.f32[0]; }; a.swap16 = function(a) { return(a & 255) << 8 | a >> 8 & 255; }; a.swap32 = function(a) { return(a & 255) << 24 | (a & 65280) << 8 | a >> 8 & 65280 | a >> 24 & 255; }; a.toS8U8 = c; a.fromS8U8 = function(a) { return a / 256; }; a.clampS8U8 = function(a) { return c(a) / 256; }; a.toS16 = function(a) { return a << 16 >> 16; }; a.bitCount = function(a) { a -= a >> 1 & 1431655765; a = (a & 858993459) + (a >> 2 & 858993459); return 16843009 * (a + (a >> 4) & 252645135) >> 24; }; a.ones = function(a) { a -= a >> 1 & 1431655765; a = (a & 858993459) + (a >> 2 & 858993459); return 16843009 * (a + (a >> 4) & 252645135) >> 24; }; a.trailingZeros = function(c) { return a.ones((c & -c) - 1); }; a.getFlags = function(a, h) { var c = ""; for (a = 0;a < h.length;a++) { a & 1 << a && (c += h[a] + " "); } return 0 === c.length ? "" : c.trim(); }; a.isPowerOfTwo = function(a) { return a && 0 === (a & a - 1); }; a.roundToMultipleOfFour = function(a) { return a + 3 & -4; }; a.nearestPowerOfTwo = function(a) { a--; a |= a >> 1; a |= a >> 2; a |= a >> 4; a |= a >> 8; a |= a >> 16; a++; return a; }; a.roundToMultipleOfPowerOfTwo = function(a, h) { var c = (1 << h) - 1; return a + c & ~c; }; Math.imul || (Math.imul = function(a, h) { var c = a & 65535, l = h & 65535; return c * l + ((a >>> 16 & 65535) * l + c * (h >>> 16 & 65535) << 16 >>> 0) | 0; }); Math.clz32 || (Math.clz32 = function(c) { c |= c >> 1; c |= c >> 2; c |= c >> 4; c |= c >> 8; return 32 - a.ones(c | c >> 16); }); })(b.IntegerUtilities || (b.IntegerUtilities = {})); var n = b.IntegerUtilities; (function(a) { function c(a, l, h, e, u, q) { return(h - a) * (q - l) - (e - l) * (u - a); } a.pointInPolygon = function(a, c, h) { for (var l = 0, e = h.length - 2, u = 0;u < e;u += 2) { var q = h[u + 0], d = h[u + 1], p = h[u + 2], n = h[u + 3]; (d <= c && n > c || d > c && n <= c) && a < q + (c - d) / (n - d) * (p - q) && l++; } return 1 === (l & 1); }; a.signedArea = c; a.counterClockwise = function(a, l, h, e, q, d) { return 0 < c(a, l, h, e, q, d); }; a.clockwise = function(a, l, h, e, q, d) { return 0 > c(a, l, h, e, q, d); }; a.pointInPolygonInt32 = function(a, c, h) { a |= 0; c |= 0; for (var l = 0, e = h.length - 2, u = 0;u < e;u += 2) { var q = h[u + 0], d = h[u + 1], p = h[u + 2], n = h[u + 3]; (d <= c && n > c || d > c && n <= c) && a < q + (c - d) / (n - d) * (p - q) && l++; } return 1 === (l & 1); }; })(b.GeometricUtilities || (b.GeometricUtilities = {})); (function(a) { a[a.Error = 1] = "Error"; a[a.Warn = 2] = "Warn"; a[a.Debug = 4] = "Debug"; a[a.Log = 8] = "Log"; a[a.Info = 16] = "Info"; a[a.All = 31] = "All"; })(b.LogLevel || (b.LogLevel = {})); d = function() { function a(c, e) { "undefined" === typeof c && (c = !1); this._tab = " "; this._padding = ""; this._suppressOutput = c; this._out = e || a._consoleOut; this._outNoNewline = e || a._consoleOutNoNewline; } a.prototype.write = function(a, c) { "undefined" === typeof a && (a = ""); "undefined" === typeof c && (c = !1); this._suppressOutput || this._outNoNewline((c ? this._padding : "") + a); }; a.prototype.writeLn = function(a) { "undefined" === typeof a && (a = ""); this._suppressOutput || this._out(this._padding + a); }; a.prototype.writeTimeLn = function(a) { "undefined" === typeof a && (a = ""); this._suppressOutput || this._out(this._padding + performance.now().toFixed(2) + " " + a); }; a.prototype.writeComment = function(a) { a = a.split("\n"); if (1 === a.length) { this.writeLn("// " + a[0]); } else { this.writeLn("/**"); for (var c = 0;c < a.length;c++) { this.writeLn(" * " + a[c]); } this.writeLn(" */"); } }; a.prototype.writeLns = function(a) { a = a.split("\n"); for (var c = 0;c < a.length;c++) { this.writeLn(a[c]); } }; a.prototype.errorLn = function(c) { a.logLevel & 1 && this.boldRedLn(c); }; a.prototype.warnLn = function(c) { a.logLevel & 2 && this.yellowLn(c); }; a.prototype.debugLn = function(c) { a.logLevel & 4 && this.purpleLn(c); }; a.prototype.logLn = function(c) { a.logLevel & 8 && this.writeLn(c); }; a.prototype.infoLn = function(c) { a.logLevel & 16 && this.writeLn(c); }; a.prototype.yellowLn = function(c) { this.colorLn(a.YELLOW, c); }; a.prototype.greenLn = function(c) { this.colorLn(a.GREEN, c); }; a.prototype.boldRedLn = function(c) { this.colorLn(a.BOLD_RED, c); }; a.prototype.redLn = function(c) { this.colorLn(a.RED, c); }; a.prototype.purpleLn = function(c) { this.colorLn(a.PURPLE, c); }; a.prototype.colorLn = function(c, e) { this._suppressOutput || (inBrowser ? this._out(this._padding + e) : this._out(this._padding + c + e + a.ENDC)); }; a.prototype.redLns = function(c) { this.colorLns(a.RED, c); }; a.prototype.colorLns = function(a, c) { for (var l = c.split("\n"), h = 0;h < l.length;h++) { this.colorLn(a, l[h]); } }; a.prototype.enter = function(a) { this._suppressOutput || this._out(this._padding + a); this.indent(); }; a.prototype.leaveAndEnter = function() { this.leave("Slots"); this.indent(); }; a.prototype.leave = function(a) { this.outdent(); this._suppressOutput || this._out(this._padding + a); }; a.prototype.indent = function() { this._padding += this._tab; }; a.prototype.outdent = function() { 0 < this._padding.length && (this._padding = this._padding.substring(0, this._padding.length - this._tab.length)); }; a.prototype.writeArray = function(a, c, l) { "undefined" === typeof c && (c = !1); "undefined" === typeof l && (l = !1); c = c || !1; for (var h = 0, e = a.length;h < e;h++) { var q = ""; c && (q = null === a[h] ? "null" : void 0 === a[h] ? "undefined" : a[h].constructor.name, q += " "); var d = l ? "" : ("" + h).padRight(" ", 4); this.writeLn(d + q + a[h]); } }; a.PURPLE = "\u001b[94m"; a.YELLOW = "\u001b[93m"; a.GREEN = "\u001b[92m"; a.RED = "\u001b[91m"; a.BOLD_RED = "\u001b[1;91m"; a.ENDC = "\u001b[0m"; a.logLevel = 31; a._consoleOut = inBrowser ? console.info.bind(console) : print; a._consoleOutNoNewline = inBrowser ? console.info.bind(console) : putstr; return a; }(); b.IndentingWriter = d; var p = function() { return function(a, c) { this.value = a; this.next = c; }; }(), d = function() { function a(c) { s.assert(c); this._compare = c; this._head = null; this._length = 0; } a.prototype.push = function(a) { s.assert(void 0 !== a); this._length++; if (this._head) { var c = this._head, l = null; a = new p(a, null); for (var h = this._compare;c;) { if (0 < h(c.value, a.value)) { l ? (a.next = c, l.next = a) : (a.next = this._head, this._head = a); return; } l = c; c = c.next; } l.next = a; } else { this._head = new p(a, null); } }; a.prototype.forEach = function(c) { for (var e = this._head, r = null;e;) { var h = c(e.value); if (h === a.RETURN) { break; } else { h === a.DELETE ? e = r ? r.next = e.next : this._head = this._head.next : (r = e, e = e.next); } } }; a.prototype.isEmpty = function() { return!this._head; }; a.prototype.pop = function() { if (this._head) { this._length--; var a = this._head; this._head = this._head.next; return a.value; } }; a.prototype.contains = function(a) { for (var c = this._head;c;) { if (c.value === a) { return!0; } c = c.next; } return!1; }; a.prototype.toString = function() { for (var a = "[", c = this._head;c;) { a += c.value.toString(), (c = c.next) && (a += ","); } return a + "]"; }; a.RETURN = 1; a.DELETE = 2; return a; }(); b.SortedList = d; d = function() { function a(c, l) { "undefined" === typeof l && (l = 12); this.start = this.index = 0; this._size = 1 << l; this._mask = this._size - 1; this.array = new c(this._size); } a.prototype.get = function(a) { return this.array[a]; }; a.prototype.forEachInReverse = function(a) { if (!this.isEmpty()) { for (var c = 0 === this.index ? this._size - 1 : this.index - 1, l = this.start - 1 & this._mask;c !== l && !a(this.array[c], c);) { c = 0 === c ? this._size - 1 : c - 1; } } }; a.prototype.write = function(a) { this.array[this.index] = a; this.index = this.index + 1 & this._mask; this.index === this.start && (this.start = this.start + 1 & this._mask); }; a.prototype.isFull = function() { return(this.index + 1 & this._mask) === this.start; }; a.prototype.isEmpty = function() { return this.index === this.start; }; a.prototype.reset = function() { this.start = this.index = 0; }; return a; }(); b.CircularBuffer = d; (function(a) { function c(h) { return h + (a.BITS_PER_WORD - 1) >> a.ADDRESS_BITS_PER_WORD << a.ADDRESS_BITS_PER_WORD; } function e(a, h) { a = a || "1"; h = h || "0"; for (var c = "", l = 0;l < length;l++) { c += this.get(l) ? a : h; } return c; } function r(a) { for (var h = [], c = 0;c < length;c++) { this.get(c) && h.push(a ? a[c] : c); } return h.join(", "); } var h = b.Debug.assert; a.ADDRESS_BITS_PER_WORD = 5; a.BITS_PER_WORD = 1 << a.ADDRESS_BITS_PER_WORD; a.BIT_INDEX_MASK = a.BITS_PER_WORD - 1; var q = function() { function e(h) { this.size = c(h); this.dirty = this.count = 0; this.length = h; this.bits = new Uint32Array(this.size >> a.ADDRESS_BITS_PER_WORD); } e.prototype.recount = function() { if (this.dirty) { for (var a = this.bits, h = 0, c = 0, e = a.length;c < e;c++) { var l = a[c], l = l - (l >> 1 & 1431655765), l = (l & 858993459) + (l >> 2 & 858993459), h = h + (16843009 * (l + (l >> 4) & 252645135) >> 24) } this.count = h; this.dirty = 0; } }; e.prototype.set = function(h) { var c = h >> a.ADDRESS_BITS_PER_WORD, e = this.bits[c]; h = e | 1 << (h & a.BIT_INDEX_MASK); this.bits[c] = h; this.dirty |= e ^ h; }; e.prototype.setAll = function() { for (var a = this.bits, h = 0, c = a.length;h < c;h++) { a[h] = 4294967295; } this.count = this.size; this.dirty = 0; }; e.prototype.assign = function(a) { this.count = a.count; this.dirty = a.dirty; this.size = a.size; for (var h = 0, c = this.bits.length;h < c;h++) { this.bits[h] = a.bits[h]; } }; e.prototype.clear = function(h) { var c = h >> a.ADDRESS_BITS_PER_WORD, e = this.bits[c]; h = e & ~(1 << (h & a.BIT_INDEX_MASK)); this.bits[c] = h; this.dirty |= e ^ h; }; e.prototype.get = function(h) { return 0 !== (this.bits[h >> a.ADDRESS_BITS_PER_WORD] & 1 << (h & a.BIT_INDEX_MASK)); }; e.prototype.clearAll = function() { for (var a = this.bits, h = 0, c = a.length;h < c;h++) { a[h] = 0; } this.dirty = this.count = 0; }; e.prototype._union = function(a) { var h = this.dirty, c = this.bits; a = a.bits; for (var e = 0, l = c.length;e < l;e++) { var r = c[e], q = r | a[e]; c[e] = q; h |= r ^ q; } this.dirty = h; }; e.prototype.intersect = function(a) { var h = this.dirty, c = this.bits; a = a.bits; for (var e = 0, l = c.length;e < l;e++) { var r = c[e], q = r & a[e]; c[e] = q; h |= r ^ q; } this.dirty = h; }; e.prototype.subtract = function(a) { var h = this.dirty, c = this.bits; a = a.bits; for (var e = 0, l = c.length;e < l;e++) { var r = c[e], q = r & ~a[e]; c[e] = q; h |= r ^ q; } this.dirty = h; }; e.prototype.negate = function() { for (var a = this.dirty, h = this.bits, c = 0, e = h.length;c < e;c++) { var l = h[c], r = ~l; h[c] = r; a |= l ^ r; } this.dirty = a; }; e.prototype.forEach = function(c) { h(c); for (var e = this.bits, r = 0, q = e.length;r < q;r++) { var u = e[r]; if (u) { for (var d = 0;d < a.BITS_PER_WORD;d++) { u & 1 << d && c(r * a.BITS_PER_WORD + d); } } } }; e.prototype.toArray = function() { for (var h = [], c = this.bits, e = 0, r = c.length;e < r;e++) { var q = c[e]; if (q) { for (var u = 0;u < a.BITS_PER_WORD;u++) { q & 1 << u && h.push(e * a.BITS_PER_WORD + u); } } } return h; }; e.prototype.equals = function(a) { if (this.size !== a.size) { return!1; } var h = this.bits; a = a.bits; for (var c = 0, e = h.length;c < e;c++) { if (h[c] !== a[c]) { return!1; } } return!0; }; e.prototype.contains = function(a) { if (this.size !== a.size) { return!1; } var h = this.bits; a = a.bits; for (var c = 0, e = h.length;c < e;c++) { if ((h[c] | a[c]) !== h[c]) { return!1; } } return!0; }; e.prototype.isEmpty = function() { this.recount(); return 0 === this.count; }; e.prototype.clone = function() { var a = new e(this.length); a._union(this); return a; }; return e; }(); a.Uint32ArrayBitSet = q; var d = function() { function e(a) { this.dirty = this.count = 0; this.size = c(a); this.bits = 0; this.singleWord = !0; this.length = a; } e.prototype.recount = function() { if (this.dirty) { var a = this.bits, a = a - (a >> 1 & 1431655765), a = (a & 858993459) + (a >> 2 & 858993459); this.count = 0 + (16843009 * (a + (a >> 4) & 252645135) >> 24); this.dirty = 0; } }; e.prototype.set = function(h) { var c = this.bits; this.bits = h = c | 1 << (h & a.BIT_INDEX_MASK); this.dirty |= c ^ h; }; e.prototype.setAll = function() { this.bits = 4294967295; this.count = this.size; this.dirty = 0; }; e.prototype.assign = function(a) { this.count = a.count; this.dirty = a.dirty; this.size = a.size; this.bits = a.bits; }; e.prototype.clear = function(h) { var c = this.bits; this.bits = h = c & ~(1 << (h & a.BIT_INDEX_MASK)); this.dirty |= c ^ h; }; e.prototype.get = function(h) { return 0 !== (this.bits & 1 << (h & a.BIT_INDEX_MASK)); }; e.prototype.clearAll = function() { this.dirty = this.count = this.bits = 0; }; e.prototype._union = function(a) { var h = this.bits; this.bits = a = h | a.bits; this.dirty = h ^ a; }; e.prototype.intersect = function(a) { var h = this.bits; this.bits = a = h & a.bits; this.dirty = h ^ a; }; e.prototype.subtract = function(a) { var h = this.bits; this.bits = a = h & ~a.bits; this.dirty = h ^ a; }; e.prototype.negate = function() { var a = this.bits, h = ~a; this.bits = h; this.dirty = a ^ h; }; e.prototype.forEach = function(c) { h(c); var e = this.bits; if (e) { for (var r = 0;r < a.BITS_PER_WORD;r++) { e & 1 << r && c(r); } } }; e.prototype.toArray = function() { var h = [], c = this.bits; if (c) { for (var e = 0;e < a.BITS_PER_WORD;e++) { c & 1 << e && h.push(e); } } return h; }; e.prototype.equals = function(a) { return this.bits === a.bits; }; e.prototype.contains = function(a) { var h = this.bits; return(h | a.bits) === h; }; e.prototype.isEmpty = function() { this.recount(); return 0 === this.count; }; e.prototype.clone = function() { var a = new e(this.length); a._union(this); return a; }; return e; }(); a.Uint32BitSet = d; d.prototype.toString = r; d.prototype.toBitString = e; q.prototype.toString = r; q.prototype.toBitString = e; a.BitSetFunctor = function(h) { var e = 1 === c(h) >> a.ADDRESS_BITS_PER_WORD ? d : q; return function() { return new e(h); }; }; })(b.BitSets || (b.BitSets = {})); d = function() { function a() { } a.randomStyle = function() { a._randomStyleCache || (a._randomStyleCache = "#ff5e3a #ff9500 #ffdb4c #87fc70 #52edc7 #1ad6fd #c644fc #ef4db6 #4a4a4a #dbddde #ff3b30 #ff9500 #ffcc00 #4cd964 #34aadc #007aff #5856d6 #ff2d55 #8e8e93 #c7c7cc #5ad427 #c86edf #d1eefc #e0f8d8 #fb2b69 #f7f7f7 #1d77ef #d6cec3 #55efcb #ff4981 #ffd3e0 #f7f7f7 #ff1300 #1f1f21 #bdbec2 #ff3a2d".split(" ")); return a._randomStyleCache[a._nextStyle++ % a._randomStyleCache.length]; }; a.contrastStyle = function(a) { a = parseInt(a.substr(1), 16); return 128 <= (299 * (a >> 16) + 587 * (a >> 8 & 255) + 114 * (a & 255)) / 1E3 ? "#000000" : "#ffffff"; }; a.reset = function() { a._nextStyle = 0; }; a.TabToolbar = "#252c33"; a.Toolbars = "#343c45"; a.HighlightBlue = "#1d4f73"; a.LightText = "#f5f7fa"; a.ForegroundText = "#b6babf"; a.Black = "#000000"; a.VeryDark = "#14171a"; a.Dark = "#181d20"; a.Light = "#a9bacb"; a.Grey = "#8fa1b2"; a.DarkGrey = "#5f7387"; a.Blue = "#46afe3"; a.Purple = "#6b7abb"; a.Pink = "#df80ff"; a.Red = "#eb5368"; a.Orange = "#d96629"; a.LightOrange = "#d99b28"; a.Green = "#70bf53"; a.BlueGrey = "#5e88b0"; a._nextStyle = 0; return a; }(); b.ColorStyle = d; d = function() { function a(c, e, l, h) { this.xMin = c | 0; this.yMin = e | 0; this.xMax = l | 0; this.yMax = h | 0; } a.FromUntyped = function(c) { return new a(c.xMin, c.yMin, c.xMax, c.yMax); }; a.FromRectangle = function(c) { return new a(20 * c.x | 0, 20 * c.y | 0, 20 * (c.x + c.width) | 0, 20 * (c.y + c.height) | 0); }; a.prototype.setElements = function(a, c, e, h) { this.xMin = a; this.yMin = c; this.xMax = e; this.yMax = h; }; a.prototype.copyFrom = function(a) { this.setElements(a.xMin, a.yMin, a.xMax, a.yMax); }; a.prototype.contains = function(a, c) { return a < this.xMin !== a < this.xMax && c < this.yMin !== c < this.yMax; }; a.prototype.unionInPlace = function(a) { this.xMin = Math.min(this.xMin, a.xMin); this.yMin = Math.min(this.yMin, a.yMin); this.xMax = Math.max(this.xMax, a.xMax); this.yMax = Math.max(this.yMax, a.yMax); }; a.prototype.extendByPoint = function(a, c) { this.extendByX(a); this.extendByY(c); }; a.prototype.extendByX = function(a) { 134217728 === this.xMin ? this.xMin = this.xMax = a : (this.xMin = Math.min(this.xMin, a), this.xMax = Math.max(this.xMax, a)); }; a.prototype.extendByY = function(a) { 134217728 === this.yMin ? this.yMin = this.yMax = a : (this.yMin = Math.min(this.yMin, a), this.yMax = Math.max(this.yMax, a)); }; a.prototype.intersects = function(a) { return this.contains(a.xMin, a.yMin) || this.contains(a.xMax, a.yMax); }; a.prototype.isEmpty = function() { return this.xMax <= this.xMin || this.yMax <= this.yMin; }; Object.defineProperty(a.prototype, "width", {get:function() { return this.xMax - this.xMin; }, set:function(a) { this.xMax = this.xMin + a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "height", {get:function() { return this.yMax - this.yMin; }, set:function(a) { this.yMax = this.yMin + a; }, enumerable:!0, configurable:!0}); a.prototype.getBaseWidth = function(a) { return Math.abs(Math.cos(a)) * (this.xMax - this.xMin) + Math.abs(Math.sin(a)) * (this.yMax - this.yMin); }; a.prototype.getBaseHeight = function(a) { return Math.abs(Math.sin(a)) * (this.xMax - this.xMin) + Math.abs(Math.cos(a)) * (this.yMax - this.yMin); }; a.prototype.setEmpty = function() { this.xMin = this.yMin = this.xMax = this.yMax = 0; }; a.prototype.setToSentinels = function() { this.xMin = this.yMin = this.xMax = this.yMax = 134217728; }; a.prototype.clone = function() { return new a(this.xMin, this.yMin, this.xMax, this.yMax); }; a.prototype.toString = function() { return "{ xMin: " + this.xMin + ", xMin: " + this.yMin + ", xMax: " + this.xMax + ", xMax: " + this.yMax + " }"; }; return a; }(); b.Bounds = d; d = function() { function a(c, e, l, h) { s.assert(k(c)); s.assert(k(e)); s.assert(k(l)); s.assert(k(h)); this._xMin = c | 0; this._yMin = e | 0; this._xMax = l | 0; this._yMax = h | 0; } a.FromUntyped = function(c) { return new a(c.xMin, c.yMin, c.xMax, c.yMax); }; a.FromRectangle = function(c) { return new a(20 * c.x | 0, 20 * c.y | 0, 20 * (c.x + c.width) | 0, 20 * (c.y + c.height) | 0); }; a.prototype.setElements = function(a, c, e, h) { this.xMin = a; this.yMin = c; this.xMax = e; this.yMax = h; }; a.prototype.copyFrom = function(a) { this.setElements(a.xMin, a.yMin, a.xMax, a.yMax); }; a.prototype.contains = function(a, c) { return a < this.xMin !== a < this.xMax && c < this.yMin !== c < this.yMax; }; a.prototype.unionWith = function(a) { this._xMin = Math.min(this._xMin, a._xMin); this._yMin = Math.min(this._yMin, a._yMin); this._xMax = Math.max(this._xMax, a._xMax); this._yMax = Math.max(this._yMax, a._yMax); }; a.prototype.extendByPoint = function(a, c) { this.extendByX(a); this.extendByY(c); }; a.prototype.extendByX = function(a) { 134217728 === this.xMin ? this.xMin = this.xMax = a : (this.xMin = Math.min(this.xMin, a), this.xMax = Math.max(this.xMax, a)); }; a.prototype.extendByY = function(a) { 134217728 === this.yMin ? this.yMin = this.yMax = a : (this.yMin = Math.min(this.yMin, a), this.yMax = Math.max(this.yMax, a)); }; a.prototype.intersects = function(a) { return this.contains(a._xMin, a._yMin) || this.contains(a._xMax, a._yMax); }; a.prototype.isEmpty = function() { return this._xMax <= this._xMin || this._yMax <= this._yMin; }; Object.defineProperty(a.prototype, "xMin", {get:function() { return this._xMin; }, set:function(a) { s.assert(k(a)); this._xMin = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "yMin", {get:function() { return this._yMin; }, set:function(a) { s.assert(k(a)); this._yMin = a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "xMax", {get:function() { return this._xMax; }, set:function(a) { s.assert(k(a)); this._xMax = a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "width", {get:function() { return this._xMax - this._xMin; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "yMax", {get:function() { return this._yMax; }, set:function(a) { s.assert(k(a)); this._yMax = a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "height", {get:function() { return this._yMax - this._yMin; }, enumerable:!0, configurable:!0}); a.prototype.getBaseWidth = function(a) { return Math.abs(Math.cos(a)) * (this._xMax - this._xMin) + Math.abs(Math.sin(a)) * (this._yMax - this._yMin); }; a.prototype.getBaseHeight = function(a) { return Math.abs(Math.sin(a)) * (this._xMax - this._xMin) + Math.abs(Math.cos(a)) * (this._yMax - this._yMin); }; a.prototype.setEmpty = function() { this._xMin = this._yMin = this._xMax = this._yMax = 0; }; a.prototype.clone = function() { return new a(this.xMin, this.yMin, this.xMax, this.yMax); }; a.prototype.toString = function() { return "{ xMin: " + this._xMin + ", xMin: " + this._yMin + ", xMax: " + this._xMax + ", yMax: " + this._yMax + " }"; }; a.prototype.assertValid = function() { }; return a; }(); b.DebugBounds = d; d = function() { function a(c, e, l, h) { this.r = c; this.g = e; this.b = l; this.a = h; } a.FromARGB = function(c) { return new a((c >> 16 & 255) / 255, (c >> 8 & 255) / 255, (c >> 0 & 255) / 255, (c >> 24 & 255) / 255); }; a.FromRGBA = function(c) { return a.FromARGB(e.RGBAToARGB(c)); }; a.prototype.toRGBA = function() { return 255 * this.r << 24 | 255 * this.g << 16 | 255 * this.b << 8 | 255 * this.a; }; a.prototype.toCSSStyle = function() { return e.rgbaToCSSStyle(this.toRGBA()); }; a.prototype.set = function(a) { this.r = a.r; this.g = a.g; this.b = a.b; this.a = a.a; }; a.randomColor = function(c) { "undefined" === typeof c && (c = 1); return new a(Math.random(), Math.random(), Math.random(), c); }; a.parseColor = function(c) { a.colorCache || (a.colorCache = Object.create(null)); if (a.colorCache[c]) { return a.colorCache[c]; } var e = document.createElement("span"); document.body.appendChild(e); e.style.backgroundColor = c; var r = getComputedStyle(e).backgroundColor; document.body.removeChild(e); (e = /^rgb\((\d+), (\d+), (\d+)\)$/.exec(r)) || (e = /^rgba\((\d+), (\d+), (\d+), ([\d.]+)\)$/.exec(r)); r = new a(0, 0, 0, 0); r.r = parseFloat(e[1]) / 255; r.g = parseFloat(e[2]) / 255; r.b = parseFloat(e[3]) / 255; r.a = e[4] ? parseFloat(e[4]) / 255 : 1; return a.colorCache[c] = r; }; a.Red = new a(1, 0, 0, 1); a.Green = new a(0, 1, 0, 1); a.Blue = new a(0, 0, 1, 1); a.None = new a(0, 0, 0, 0); a.White = new a(1, 1, 1, 1); a.Black = new a(0, 0, 0, 1); a.colorCache = {}; return a; }(); b.Color = d; (function(a) { function c(a) { var e, l, r = a >> 24 & 255; l = (Math.imul(a >> 16 & 255, r) + 127) / 255 | 0; e = (Math.imul(a >> 8 & 255, r) + 127) / 255 | 0; a = (Math.imul(a >> 0 & 255, r) + 127) / 255 | 0; return r << 24 | l << 16 | e << 8 | a; } a.RGBAToARGB = function(a) { return a >> 8 & 16777215 | (a & 255) << 24; }; a.ARGBToRGBA = function(a) { return a << 8 | a >> 24 & 255; }; a.rgbaToCSSStyle = function(a) { return b.StringUtilities.concat9("rgba(", a >> 24 & 255, ",", a >> 16 & 255, ",", a >> 8 & 255, ",", (a & 255) / 255, ")"); }; a.cssStyleToRGBA = function(a) { if ("#" === a[0]) { if (7 === a.length) { return parseInt(a.substring(1), 16) << 8 | 255; } } else { if ("r" === a[0]) { return a = a.substring(5, a.length - 1).split(","), (parseInt(a[0]) & 255) << 24 | (parseInt(a[1]) & 255) << 16 | (parseInt(a[2]) & 255) << 8 | 255 * parseFloat(a[3]) & 255; } } return 4278190335; }; a.hexToRGB = function(a) { return parseInt(a.slice(1), 16); }; a.rgbToHex = function(a) { return "#" + ("000000" + a.toString(16)).slice(-6); }; a.isValidHexColor = function(a) { return/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(a); }; a.clampByte = function(a) { return Math.max(0, Math.min(255, a)); }; a.unpremultiplyARGB = function(a) { var c, e, l = a >> 24 & 255; e = Math.imul(255, a >> 16 & 255) / l & 255; c = Math.imul(255, a >> 8 & 255) / l & 255; a = Math.imul(255, a >> 0 & 255) / l & 255; return l << 24 | e << 16 | c << 8 | a; }; a.premultiplyARGB = c; var e; a.ensureUnpremultiplyTable = function() { if (!e) { e = new Uint8Array(65536); for (var a = 0;256 > a;a++) { for (var c = 0;256 > c;c++) { e[(c << 8) + a] = Math.imul(255, a) / c; } } } }; a.tableLookupUnpremultiplyARGB = function(a) { a |= 0; var c = a >> 24 & 255; if (0 === c) { return 0; } if (255 === c) { return a; } var l, r, q = c << 8, d = e; r = d[q + (a >> 16 & 255)]; l = d[q + (a >> 8 & 255)]; a = d[q + (a >> 0 & 255)]; return c << 24 | r << 16 | l << 8 | a; }; a.blendPremultipliedBGRA = function(a, c) { var e, l; l = 256 - (c & 255); e = Math.imul(a & 16711935, l) >> 8; l = Math.imul(a >> 8 & 16711935, l) >> 8; return((c >> 8 & 16711935) + l & 16711935) << 8 | (c & 16711935) + e & 16711935; }; var r = n.swap32; a.convertImage = function(a, l, d, p) { d !== p && s.assert(d.buffer !== p.buffer, "Can't handle overlapping views."); var n = d.length; if (a === l) { if (d !== p) { for (a = 0;a < n;a++) { p[a] = d[a]; } } } else { if (1 === a && 3 === l) { for (b.ColorUtilities.ensureUnpremultiplyTable(), a = 0;a < n;a++) { var m = d[a]; l = m & 255; if (0 === l) { p[a] = 0; } else { if (255 === l) { p[a] = (m & 255) << 24 | m >> 8 & 16777215; } else { var f = m >> 24 & 255, g = m >> 16 & 255, m = m >> 8 & 255, k = l << 8, t = e, m = t[k + m], g = t[k + g], f = t[k + f]; p[a] = l << 24 | f << 16 | g << 8 | m; } } } } else { if (2 === a && 3 === l) { for (a = 0;a < n;a++) { p[a] = r(d[a]); } } else { if (3 === a && 1 === l) { for (a = 0;a < n;a++) { l = d[a], p[a] = r(c(l & 4278255360 | l >> 16 & 255 | (l & 255) << 16)); } } else { for (s.somewhatImplemented("Image Format Conversion: " + q[a] + " -> " + q[l]), a = 0;a < n;a++) { p[a] = d[a]; } } } } } }; })(b.ColorUtilities || (b.ColorUtilities = {})); var e = b.ColorUtilities, d = function() { function a(c) { "undefined" === typeof c && (c = 32); this._list = []; this._maxSize = c; } a.prototype.acquire = function(c) { if (a._enabled) { for (var e = this._list, r = 0;r < e.length;r++) { var h = e[r]; if (h.byteLength >= c) { return e.splice(r, 1), h; } } } return new ArrayBuffer(c); }; a.prototype.release = function(c) { if (a._enabled) { var e = this._list; s.assert(0 > m.indexOf(e, c)); e.length === this._maxSize && e.shift(); e.push(c); } }; a.prototype.ensureUint8ArrayLength = function(a, c) { if (a.length >= c) { return a; } var e = Math.max(a.length + c, (3 * a.length >> 1) + 1), e = new Uint8Array(this.acquire(e), 0, e); e.set(a); this.release(a.buffer); return e; }; a.prototype.ensureFloat64ArrayLength = function(a, c) { if (a.length >= c) { return a; } var e = Math.max(a.length + c, (3 * a.length >> 1) + 1), e = new Float64Array(this.acquire(e * Float64Array.BYTES_PER_ELEMENT), 0, e); e.set(a); this.release(a.buffer); return e; }; a._enabled = !0; return a; }(); b.ArrayBufferPool = d; (function(a) { (function(a) { a[a.EXTERNAL_INTERFACE_FEATURE = 1] = "EXTERNAL_INTERFACE_FEATURE"; a[a.CLIPBOARD_FEATURE = 2] = "CLIPBOARD_FEATURE"; a[a.SHAREDOBJECT_FEATURE = 3] = "SHAREDOBJECT_FEATURE"; a[a.VIDEO_FEATURE = 4] = "VIDEO_FEATURE"; a[a.SOUND_FEATURE = 5] = "SOUND_FEATURE"; a[a.NETCONNECTION_FEATURE = 6] = "NETCONNECTION_FEATURE"; })(a.Feature || (a.Feature = {})); (function(a) { a[a.AVM1_ERROR = 1] = "AVM1_ERROR"; a[a.AVM2_ERROR = 2] = "AVM2_ERROR"; })(a.ErrorTypes || (a.ErrorTypes = {})); a.instance; })(b.Telemetry || (b.Telemetry = {})); (function(a) { a.instance; })(b.FileLoadingService || (b.FileLoadingService = {})); (function(a) { a.instance = {enabled:!1, initJS:function(a) { }, registerCallback:function(a) { }, unregisterCallback:function(a) { }, eval:function(a) { }, call:function(a) { }, getId:function() { return null; }}; })(b.ExternalInterfaceService || (b.ExternalInterfaceService = {})); d = function() { function a() { } a.prototype.setClipboard = function(a) { s.abstractMethod("public ClipboardService::setClipboard"); }; a.instance = null; return a; }(); b.ClipboardService = d; d = function() { function a() { this._queues = {}; } a.prototype.register = function(a, c) { s.assert(a); s.assert(c); var e = this._queues[a]; if (e) { if (-1 < e.indexOf(c)) { return; } } else { e = this._queues[a] = []; } e.push(c); }; a.prototype.unregister = function(a, c) { s.assert(a); s.assert(c); var e = this._queues[a]; if (e) { var h = e.indexOf(c); -1 !== h && e.splice(h, 1); 0 === e.length && (this._queues[a] = null); } }; a.prototype.notify = function(a, c) { var e = this._queues[a]; if (e) { e = e.slice(); c = Array.prototype.slice.call(arguments, 0); for (var h = 0;h < e.length;h++) { e[h].apply(null, c); } } }; a.prototype.notify1 = function(a, c) { var e = this._queues[a]; if (e) { for (var e = e.slice(), h = 0;h < e.length;h++) { (0,e[h])(a, c); } } }; return a; }(); b.Callback = d; (function(a) { a[a.None = 0] = "None"; a[a.PremultipliedAlphaARGB = 1] = "PremultipliedAlphaARGB"; a[a.StraightAlphaARGB = 2] = "StraightAlphaARGB"; a[a.StraightAlphaRGBA = 3] = "StraightAlphaRGBA"; a[a.JPEG = 4] = "JPEG"; a[a.PNG = 5] = "PNG"; a[a.GIF = 6] = "GIF"; })(b.ImageType || (b.ImageType = {})); var q = b.ImageType; b.PromiseWrapper = function() { return function() { this.promise = new Promise(function(a, c) { this.resolve = a; this.reject = c; }.bind(this)); }; }(); })(Shumway || (Shumway = {})); (function() { function b(a) { if ("function" !== typeof a) { throw new TypeError("Invalid deferred constructor"); } var c = p(); a = new a(c); var e = c.resolve; if ("function" !== typeof e) { throw new TypeError("Invalid resolve construction function"); } c = c.reject; if ("function" !== typeof c) { throw new TypeError("Invalid reject construction function"); } return{promise:a, resolve:e, reject:c}; } function k(a, c) { if ("object" !== typeof a || null === a) { return!1; } try { var e = a.then; if ("function" !== typeof e) { return!1; } e.call(a, c.resolve, c.reject); } catch (l) { e = c.reject, e(l); } return!0; } function g(a) { return "object" === typeof a && null !== a && "undefined" !== typeof a.promiseStatus; } function f(a, c) { if ("unresolved" === a.promiseStatus) { var e = a.rejectReactions; a.result = c; a.resolveReactions = void 0; a.rejectReactions = void 0; a.promiseStatus = "has-rejection"; t(e, c); } } function t(a, c) { for (var e = 0;e < a.length;e++) { s({reaction:a[e], argument:c}); } } function s(a) { 0 === w.length && setTimeout(m, 0); w.push(a); } function m() { for (;0 < w.length;) { var a = w[0]; try { a: { var c = a.reaction, e = c.deferred, q = c.handler, d = void 0, p = void 0; try { d = q(a.argument); } catch (n) { var b = e.reject; b(n); break a; } if (d === e.promise) { b = e.reject, b(new TypeError("Self resolution")); } else { try { if (p = k(d, e), !p) { var m = e.resolve; m(d); } } catch (u) { b = e.reject, b(u); } } } } catch (f) { if ("function" === typeof l.onerror) { l.onerror(f); } } w.shift(); } } function d(a) { throw a; } function a(a) { return a; } function c(a) { return function(c) { f(a, c); }; } function n(a) { return function(c) { if ("unresolved" === a.promiseStatus) { var e = a.resolveReactions; a.result = c; a.resolveReactions = void 0; a.rejectReactions = void 0; a.promiseStatus = "has-resolution"; t(e, c); } }; } function p() { function a(c, e) { a.resolve = c; a.reject = e; } return a; } function e(a, c, e) { return function(l) { if (l === a) { return e(new TypeError("Self resolution")); } var q = a.promiseConstructor; if (g(l) && l.promiseConstructor === q) { return l.then(c, e); } q = b(q); return k(l, q) ? q.promise.then(c, e) : c(l); }; } function q(a, c, e, l) { return function(q) { c[a] = q; l.countdown--; 0 === l.countdown && e.resolve(c); }; } function l(a) { if ("function" !== typeof a) { throw new TypeError("resolver is not a function"); } if ("object" !== typeof this) { throw new TypeError("Promise to initialize is not an object"); } this.promiseStatus = "unresolved"; this.resolveReactions = []; this.rejectReactions = []; this.result = void 0; var h = n(this), e = c(this); try { a(h, e); } catch (q) { f(this, q); } this.promiseConstructor = l; return this; } var u = Function("return this")(); if (u.Promise) { "function" !== typeof u.Promise.all && (u.Promise.all = function(a) { var c = 0, e = [], l, q, d = new u.Promise(function(a, c) { l = a; q = c; }); a.forEach(function(a, d) { c++; a.then(function(a) { e[d] = a; c--; 0 === c && l(e); }, q); }); 0 === c && l(e); return d; }), "function" !== typeof u.Promise.resolve && (u.Promise.resolve = function(a) { return new u.Promise(function(c) { c(a); }); }); } else { var w = []; l.all = function(a) { var c = b(this), e = [], l = {countdown:0}, d = 0; a.forEach(function(a) { this.cast(a).then(q(d, e, c, l), c.reject); d++; l.countdown++; }, this); 0 === d && c.resolve(e); return c.promise; }; l.cast = function(a) { if (g(a)) { return a; } var c = b(this); c.resolve(a); return c.promise; }; l.reject = function(a) { var c = b(this); c.reject(a); return c.promise; }; l.resolve = function(a) { var c = b(this); c.resolve(a); return c.promise; }; l.prototype = {"catch":function(a) { this.then(void 0, a); }, then:function(c, h) { if (!g(this)) { throw new TypeError("this is not a Promises"); } var l = b(this.promiseConstructor), q = "function" === typeof h ? h : d, p = {deferred:l, handler:e(this, "function" === typeof c ? c : a, q)}, q = {deferred:l, handler:q}; switch(this.promiseStatus) { case "unresolved": this.resolveReactions.push(p); this.rejectReactions.push(q); break; case "has-resolution": s({reaction:p, argument:this.result}); break; case "has-rejection": s({reaction:q, argument:this.result}); } return l.promise; }}; u.Promise = l; } })(); "undefined" !== typeof exports && (exports.Shumway = Shumway); (function() { function b(b, g, f) { b[g] || Object.defineProperty(b, g, {value:f, writable:!0, configurable:!0, enumerable:!1}); } b(String.prototype, "padRight", function(b, g) { var f = this, t = f.replace(/\033\[[0-9]*m/g, "").length; if (!b || t >= g) { return f; } for (var t = (g - t) / b.length, s = 0;s < t;s++) { f += b; } return f; }); b(String.prototype, "padLeft", function(b, g) { var f = this, t = f.length; if (!b || t >= g) { return f; } for (var t = (g - t) / b.length, s = 0;s < t;s++) { f = b + f; } return f; }); b(String.prototype, "trim", function() { return this.replace(/^\s+|\s+$/g, ""); }); b(String.prototype, "endsWith", function(b) { return-1 !== this.indexOf(b, this.length - b.length); }); b(Array.prototype, "replace", function(b, g) { if (b === g) { return 0; } for (var f = 0, t = 0;t < this.length;t++) { this[t] === b && (this[t] = g, f++); } return f; }); })(); (function(b) { (function(k) { var g = b.isObject, f = b.Debug.assert, t = function() { function a(a, d, p, e) { this.shortName = a; this.longName = d; this.type = p; e = e || {}; this.positional = e.positional; this.parseFn = e.parse; this.value = e.defaultValue; } a.prototype.parse = function(a) { "boolean" === this.type ? (f("boolean" === typeof a), this.value = a) : "number" === this.type ? (f(!isNaN(a), a + " is not a number"), this.value = parseInt(a, 10)) : this.value = a; this.parseFn && this.parseFn(this.value); }; return a; }(); k.Argument = t; var s = function() { function a() { this.args = []; } a.prototype.addArgument = function(a, d, p, e) { a = new t(a, d, p, e); this.args.push(a); return a; }; a.prototype.addBoundOption = function(a) { this.args.push(new t(a.shortName, a.longName, a.type, {parse:function(d) { a.value = d; }})); }; a.prototype.addBoundOptionSet = function(a) { var n = this; a.options.forEach(function(a) { a instanceof m ? n.addBoundOptionSet(a) : (f(a instanceof d), n.addBoundOption(a)); }); }; a.prototype.getUsage = function() { var a = ""; this.args.forEach(function(d) { a = d.positional ? a + d.longName : a + ("[-" + d.shortName + "|--" + d.longName + ("boolean" === d.type ? "" : " " + d.type[0].toUpperCase()) + "]"); a += " "; }); return a; }; a.prototype.parse = function(a) { var d = {}, p = []; this.args.forEach(function(a) { a.positional ? p.push(a) : (d["-" + a.shortName] = a, d["--" + a.longName] = a); }); for (var e = [];a.length;) { var q = a.shift(), l = null, b = q; if ("--" == q) { e = e.concat(a); break; } else { if ("-" == q.slice(0, 1) || "--" == q.slice(0, 2)) { l = d[q]; if (!l) { continue; } "boolean" !== l.type ? (b = a.shift(), f("-" !== b && "--" !== b, "Argument " + q + " must have a value.")) : b = !0; } else { p.length ? l = p.shift() : e.push(b); } } l && l.parse(b); } f(0 === p.length, "Missing positional arguments."); return e; }; return a; }(); k.ArgumentParser = s; var m = function() { function a(a, d) { "undefined" === typeof d && (d = null); this.open = !1; this.name = a; this.settings = d || {}; this.options = []; } a.prototype.register = function(c) { if (c instanceof a) { for (var d = 0;d < this.options.length;d++) { var p = this.options[d]; if (p instanceof a && p.name === c.name) { return p; } } } this.options.push(c); if (this.settings) { if (c instanceof a) { d = this.settings[c.name], g(d) && (c.settings = d.settings, c.open = d.open); } else { if ("undefined" !== typeof this.settings[c.longName]) { switch(c.type) { case "boolean": c.value = !!this.settings[c.longName]; break; case "number": c.value = +this.settings[c.longName]; break; default: c.value = this.settings[c.longName]; } } } } return c; }; a.prototype.trace = function(a) { a.enter(this.name + " {"); this.options.forEach(function(d) { d.trace(a); }); a.leave("}"); }; a.prototype.getSettings = function() { var c = {}; this.options.forEach(function(d) { d instanceof a ? c[d.name] = {settings:d.getSettings(), open:d.open} : c[d.longName] = d.value; }); return c; }; a.prototype.setSettings = function(c) { c && this.options.forEach(function(d) { d instanceof a ? d.name in c && d.setSettings(c[d.name].settings) : d.longName in c && (d.value = c[d.longName]); }); }; return a; }(); k.OptionSet = m; var d = function() { function a(a, d, p, e, q, l) { "undefined" === typeof l && (l = null); this.longName = d; this.shortName = a; this.type = p; this.value = this.defaultValue = e; this.description = q; this.config = l; } a.prototype.parse = function(a) { this.value = a; }; a.prototype.trace = function(a) { a.writeLn(("-" + this.shortName + "|--" + this.longName).padRight(" ", 30) + " = " + this.type + " " + this.value + " [" + this.defaultValue + "] (" + this.description + ")"); }; return a; }(); k.Option = d; })(b.Options || (b.Options = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { function g() { try { return "undefined" !== typeof window && "localStorage" in window && null !== window.localStorage; } catch (b) { return!1; } } function f(b) { "undefined" === typeof b && (b = k.ROOT); var f = {}; if (g() && (b = window.localStorage[b])) { try { f = JSON.parse(b); } catch (m) { } } return f; } k.ROOT = "Shumway Options"; k.shumwayOptions = new b.Options.OptionSet(k.ROOT, f()); k.isStorageSupported = g; k.load = f; k.save = function(b, f) { "undefined" === typeof b && (b = null); "undefined" === typeof f && (f = k.ROOT); if (g()) { try { window.localStorage[f] = JSON.stringify(b ? b : k.shumwayOptions.getSettings()); } catch (m) { } } }; k.setSettings = function(b) { k.shumwayOptions.setSettings(b); }; k.getSettings = function(b) { return k.shumwayOptions.getSettings(); }; })(b.Settings || (b.Settings = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = function() { function f(f, g) { this._parent = f; this._timers = b.ObjectUtilities.createMap(); this._name = g; this._count = this._total = this._last = this._begin = 0; } f.time = function(b, g) { f.start(b); g(); f.stop(); }; f.start = function(b) { f._top = f._top._timers[b] || (f._top._timers[b] = new f(f._top, b)); f._top.start(); b = f._flat._timers[b] || (f._flat._timers[b] = new f(f._flat, b)); b.start(); f._flatStack.push(b); }; f.stop = function() { f._top.stop(); f._top = f._top._parent; f._flatStack.pop().stop(); }; f.stopStart = function(b) { f.stop(); f.start(b); }; f.prototype.start = function() { this._begin = b.getTicks(); }; f.prototype.stop = function() { this._last = b.getTicks() - this._begin; this._total += this._last; this._count += 1; }; f.prototype.toJSON = function() { return{name:this._name, total:this._total, timers:this._timers}; }; f.prototype.trace = function(b) { b.enter(this._name + ": " + this._total.toFixed(2) + " ms, count: " + this._count + ", average: " + (this._total / this._count).toFixed(2) + " ms"); for (var f in this._timers) { this._timers[f].trace(b); } b.outdent(); }; f.trace = function(b) { f._base.trace(b); f._flat.trace(b); }; f._base = new f(null, "Total"); f._top = f._base; f._flat = new f(null, "Flat"); f._flatStack = []; return f; }(); k.Timer = g; g = function() { function f(b) { this._enabled = b; this.clear(); } Object.defineProperty(f.prototype, "counts", {get:function() { return this._counts; }, enumerable:!0, configurable:!0}); f.prototype.setEnabled = function(b) { this._enabled = b; }; f.prototype.clear = function() { this._counts = b.ObjectUtilities.createMap(); this._times = b.ObjectUtilities.createMap(); }; f.prototype.toJSON = function() { return{counts:this._counts, times:this._times}; }; f.prototype.count = function(b, f, m) { "undefined" === typeof f && (f = 1); "undefined" === typeof m && (m = 0); if (this._enabled) { return void 0 === this._counts[b] && (this._counts[b] = 0, this._times[b] = 0), this._counts[b] += f, this._times[b] += m, this._counts[b]; } }; f.prototype.trace = function(b) { for (var f in this._counts) { b.writeLn(f + ": " + this._counts[f]); } }; f.prototype._pairToString = function(b, f) { var m = f[0], d = f[1], a = b[m], m = m + ": " + d; a && (m += ", " + a.toFixed(4), 1 < d && (m += " (" + (a / d).toFixed(4) + ")")); return m; }; f.prototype.toStringSorted = function() { var b = this, f = this._times, m = [], d; for (d in this._counts) { m.push([d, this._counts[d]]); } m.sort(function(a, c) { return c[1] - a[1]; }); return m.map(function(a) { return b._pairToString(f, a); }).join(", "); }; f.prototype.traceSorted = function(b) { var f = !0; "undefined" === typeof f && (f = !1); var m = this, d = this._times, a = [], c; for (c in this._counts) { a.push([c, this._counts[c]]); } a.sort(function(a, c) { return c[1] - a[1]; }); f ? b.writeLn(a.map(function(a) { return m._pairToString(d, a); }).join(", ")) : a.forEach(function(a) { b.writeLn(m._pairToString(d, a)); }); }; f.instance = new f(!0); return f; }(); k.Counter = g; g = function() { function b(f) { this._samples = new Float64Array(f); this._index = this._count = 0; } b.prototype.push = function(b) { this._count < this._samples.length && this._count++; this._index++; this._samples[this._index % this._samples.length] = b; }; b.prototype.average = function() { for (var b = 0, f = 0;f < this._count;f++) { b += this._samples[f]; } return b / this._count; }; return b; }(); k.Average = g; })(b.Metrics || (b.Metrics = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { function g(a) { for (var c = Math.max.apply(null, a), e = a.length, q = 1 << c, h = new Uint32Array(q), d = c << 16 | 65535, b = 0;b < q;b++) { h[b] = d; } for (var d = 0, b = 1, p = 2;b <= c;d <<= 1, ++b, p <<= 1) { for (var n = 0;n < e;++n) { if (a[n] === b) { for (var m = 0, f = 0;f < b;++f) { m = 2 * m + (d >> f & 1); } for (f = m;f < q;f += p) { h[f] = b << 16 | n; } ++d; } } } return{codes:h, maxBits:c}; } var f; (function(a) { a[a.INIT = 0] = "INIT"; a[a.BLOCK_0 = 1] = "BLOCK_0"; a[a.BLOCK_1 = 2] = "BLOCK_1"; a[a.BLOCK_2_PRE = 3] = "BLOCK_2_PRE"; a[a.BLOCK_2 = 4] = "BLOCK_2"; a[a.DONE = 5] = "DONE"; a[a.ERROR = 6] = "ERROR"; a[a.VERIFY_HEADER = 7] = "VERIFY_HEADER"; })(f || (f = {})); f = function() { function e(l) { this._buffer = new Uint8Array(1024); this._bitLength = this._bitBuffer = this._bufferPosition = this._bufferSize = 0; this._window = new Uint8Array(65794); this._windowPosition = 0; this._state = l ? 7 : 0; this._isFinalBlock = !1; this._distanceTable = this._literalTable = null; this._block0Read = 0; this._block2State = null; this._copyState = {state:0, len:0, lenBits:0, dist:0, distBits:0}; this._error = void 0; if (!p) { t = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); s = new Uint16Array(30); m = new Uint8Array(30); for (var q = l = 0, r = 1;30 > l;++l) { s[l] = r, r += 1 << (m[l] = ~~((q += 2 < l ? 1 : 0) / 2)); } var h = new Uint8Array(288); for (l = 0;32 > l;++l) { h[l] = 5; } d = g(h.subarray(0, 32)); a = new Uint16Array(29); c = new Uint8Array(29); q = l = 0; for (r = 3;29 > l;++l) { a[l] = r - (28 == l ? 1 : 0), r += 1 << (c[l] = ~~((q += 4 < l ? 1 : 0) / 4 % 6)); } for (l = 0;288 > l;++l) { h[l] = 144 > l || 279 < l ? 8 : 256 > l ? 9 : 7; } n = g(h); p = !0; } } Object.defineProperty(e.prototype, "error", {get:function() { return this._error; }, enumerable:!0, configurable:!0}); e.prototype.push = function(a) { if (this._buffer.length < this._bufferSize + a.length) { var c = new Uint8Array(this._bufferSize + a.length); c.set(this._buffer); this._buffer = c; } this._buffer.set(a, this._bufferSize); this._bufferSize += a.length; this._bufferPosition = 0; a = !1; do { c = this._windowPosition; if (0 === this._state && (a = this._decodeInitState())) { break; } switch(this._state) { case 1: a = this._decodeBlock0(); break; case 3: if (a = this._decodeBlock2Pre()) { break; } ; case 2: ; case 4: a = this._decodeBlock(); break; case 6: ; case 5: this._bufferPosition = this._bufferSize; break; case 7: a = this._verifyZlibHeader(); } if (0 < this._windowPosition - c) { this.onData(this._window.subarray(c, this._windowPosition)); } 65536 <= this._windowPosition && (this._window.set(this._window.subarray(this._windowPosition - 32768, this._windowPosition)), this._windowPosition = 32768); } while (!a && this._bufferPosition < this._bufferSize); this._bufferPosition < this._bufferSize ? (this._buffer.set(this._buffer.subarray(this._bufferPosition, this._bufferSize)), this._bufferSize -= this._bufferPosition) : this._bufferSize = 0; }; e.prototype._verifyZlibHeader = function() { var a = this._bufferPosition; if (a + 2 > this._bufferSize) { return!0; } var c = this._buffer, c = c[a] << 8 | c[a + 1]; this._bufferPosition = a + 2; a = null; 2048 !== (c & 3840) ? a = "inflate: unknown compression method" : 0 !== c % 31 ? a = "inflate: bad FCHECK" : 0 !== (c & 32) && (a = "inflate: FDICT bit set"); a ? (this._error = a, this._state = 6) : this._state = 0; }; e.prototype._decodeInitState = function() { if (this._isFinalBlock) { return this._state = 5, !1; } var a = this._buffer, c = this._bufferSize, e = this._bitBuffer, h = this._bitLength, l = this._bufferPosition; if (3 > (c - l << 3) + h) { return!0; } 3 > h && (e |= a[l++] << h, h += 8); var q = e & 7, e = e >> 3, h = h - 3; switch(q >> 1) { case 0: h = e = 0; if (4 > c - l) { return!0; } var b = a[l] | a[l + 1] << 8, a = a[l + 2] | a[l + 3] << 8, l = l + 4; if (65535 !== (b ^ a)) { this._error = "inflate: invalid block 0 length"; a = 6; break; } 0 === b ? a = 0 : (this._block0Read = b, a = 1); break; case 1: a = 2; this._literalTable = n; this._distanceTable = d; break; case 2: if (26 > (c - l << 3) + h) { return!0; } for (;14 > h;) { e |= a[l++] << h, h += 8; } b = (e >> 10 & 15) + 4; if ((c - l << 3) + h < 14 + 3 * b) { return!0; } for (var c = {numLiteralCodes:(e & 31) + 257, numDistanceCodes:(e >> 5 & 31) + 1, codeLengthTable:void 0, bitLengths:void 0, codesRead:0, dupBits:0}, e = e >> 14, h = h - 14, p = new Uint8Array(19), m = 0;m < b;++m) { 3 > h && (e |= a[l++] << h, h += 8), p[t[m]] = e & 7, e >>= 3, h -= 3; } for (;19 > m;m++) { p[t[m]] = 0; } c.bitLengths = new Uint8Array(c.numLiteralCodes + c.numDistanceCodes); c.codeLengthTable = g(p); this._block2State = c; a = 3; break; default: return this._error = "inflate: unsupported block type", !1; } this._isFinalBlock = !!(q & 1); this._state = a; this._bufferPosition = l; this._bitBuffer = e; this._bitLength = h; return!1; }; e.prototype._decodeBlock0 = function() { var a = this._bufferPosition, c = this._windowPosition, e = this._block0Read, h = 65794 - c, l = this._bufferSize - a, q = l < e, d = Math.min(h, l, e); this._window.set(this._buffer.subarray(a, a + d), c); this._windowPosition = c + d; this._bufferPosition = a + d; this._block0Read = e - d; return e === d ? (this._state = 0, !1) : q && h < l; }; e.prototype._readBits = function(a) { var c = this._bitBuffer, e = this._bitLength; if (a > e) { var h = this._bufferPosition, l = this._bufferSize; do { if (h >= l) { return this._bufferPosition = h, this._bitBuffer = c, this._bitLength = e, -1; } c |= this._buffer[h++] << e; e += 8; } while (a > e); this._bufferPosition = h; } this._bitBuffer = c >> a; this._bitLength = e - a; return c & (1 << a) - 1; }; e.prototype._readCode = function(a) { var c = this._bitBuffer, e = this._bitLength, h = a.maxBits; if (h > e) { var l = this._bufferPosition, q = this._bufferSize; do { if (l >= q) { return this._bufferPosition = l, this._bitBuffer = c, this._bitLength = e, -1; } c |= this._buffer[l++] << e; e += 8; } while (h > e); this._bufferPosition = l; } a = a.codes[c & (1 << h) - 1]; h = a >> 16; if (a & 32768) { return this._error = "inflate: invalid encoding", this._state = 6, -1; } this._bitBuffer = c >> h; this._bitLength = e - h; return a & 65535; }; e.prototype._decodeBlock2Pre = function() { var a = this._block2State, c = a.numLiteralCodes + a.numDistanceCodes, e = a.bitLengths, h = a.codesRead, l = 0 < h ? e[h - 1] : 0, q = a.codeLengthTable, d; if (0 < a.dupBits) { d = this._readBits(a.dupBits); if (0 > d) { return!0; } for (;d--;) { e[h++] = l; } a.dupBits = 0; } for (;h < c;) { var b = this._readCode(q); if (0 > b) { return a.codesRead = h, !0; } if (16 > b) { e[h++] = l = b; } else { var p; switch(b) { case 16: p = 2; d = 3; b = l; break; case 17: d = p = 3; b = 0; break; case 18: p = 7, d = 11, b = 0; } for (;d--;) { e[h++] = b; } d = this._readBits(p); if (0 > d) { return a.codesRead = h, a.dupBits = p, !0; } for (;d--;) { e[h++] = b; } l = b; } } this._literalTable = g(e.subarray(0, a.numLiteralCodes)); this._distanceTable = g(e.subarray(a.numLiteralCodes)); this._state = 4; this._block2State = null; return!1; }; e.prototype._decodeBlock = function() { var e = this._literalTable, l = this._distanceTable, q = this._window, h = this._windowPosition, d = this._copyState, b, p, n, f; if (0 !== d.state) { switch(d.state) { case 1: if (0 > (b = this._readBits(d.lenBits))) { return!0; } d.len += b; d.state = 2; case 2: if (0 > (b = this._readCode(l))) { return!0; } d.distBits = m[b]; d.dist = s[b]; d.state = 3; case 3: b = 0; if (0 < d.distBits && 0 > (b = this._readBits(d.distBits))) { return!0; } f = d.dist + b; p = d.len; for (b = h - f;p--;) { q[h++] = q[b++]; } d.state = 0; if (65536 <= h) { return this._windowPosition = h, !1; } break; } } do { b = this._readCode(e); if (0 > b) { return this._windowPosition = h, !0; } if (256 > b) { q[h++] = b; } else { if (256 < b) { this._windowPosition = h; b -= 257; n = c[b]; p = a[b]; b = 0 === n ? 0 : this._readBits(n); if (0 > b) { return d.state = 1, d.len = p, d.lenBits = n, !0; } p += b; b = this._readCode(l); if (0 > b) { return d.state = 2, d.len = p, !0; } n = m[b]; f = s[b]; b = 0 === n ? 0 : this._readBits(n); if (0 > b) { return d.state = 3, d.len = p, d.dist = f, d.distBits = n, !0; } f += b; for (b = h - f;p--;) { q[h++] = q[b++]; } } else { this._state = 0; break; } } } while (65536 > h); this._windowPosition = h; return!1; }; e.inflate = function(a, c, q) { var h = new Uint8Array(c), d = 0; c = new e(q); c.onData = function(a) { h.set(a, d); d += a.length; }; c.push(a); return h; }; return e; }(); b.Inflate = f; var t, s, m, d, a, c, n, p = !1, e; (function(a) { a[a.WRITE = 0] = "WRITE"; a[a.DONE = 1] = "DONE"; a[a.ZLIB_HEADER = 2] = "ZLIB_HEADER"; })(e || (e = {})); var q = function() { function a() { this.a = 1; this.b = 0; } a.prototype.update = function(a, c, e) { for (var h = this.a, l = this.b;c < e;++c) { h = (h + (a[c] & 255)) % 65521, l = (l + h) % 65521; } this.a = h; this.b = l; }; a.prototype.getChecksum = function() { return this.b << 16 | this.a; }; return a; }(); b.Adler32 = q; e = function() { function a(c) { this._state = (this._writeZlibHeader = c) ? 2 : 0; this._adler32 = c ? new q : null; } a.prototype.push = function(a) { 2 === this._state && (this.onData(new Uint8Array([120, 156])), this._state = 0); for (var c = a.length, e = new Uint8Array(c + 5 * Math.ceil(c / 65535)), h = 0, l = 0;65535 < c;) { e.set(new Uint8Array([0, 255, 255, 0, 0]), h), h += 5, e.set(a.subarray(l, l + 65535), h), l += 65535, h += 65535, c -= 65535; } e.set(new Uint8Array([0, c & 255, c >> 8 & 255, ~c & 255, ~c >> 8 & 255]), h); e.set(a.subarray(l, c), h + 5); this.onData(e); this._adler32 && this._adler32.update(a, 0, c); }; a.prototype.finish = function() { this._state = 1; this.onData(new Uint8Array([1, 0, 0, 255, 255])); if (this._adler32) { var a = this._adler32.getChecksum(); this.onData(new Uint8Array([a & 255, a >> 8 & 255, a >> 16 & 255, a >>> 24 & 255])); } }; return a; }(); b.Deflate = e; })(b.ArrayUtilities || (b.ArrayUtilities = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { function g() { t("throwEOFError"); } function f(a) { return "string" === typeof a ? a : void 0 == a ? null : a + ""; } var t = b.Debug.notImplemented, s = b.StringUtilities.utf8decode, m = b.StringUtilities.utf8encode, d = b.NumberUtilities.clamp, a = function() { return function(a, c, l) { this.buffer = a; this.length = c; this.littleEndian = l; }; }(); k.PlainObjectDataBuffer = a; for (var c = new Uint32Array(33), n = 1, p = 0;32 >= n;n++) { c[n] = p = p << 1 | 1; } n = function() { function e(a) { "undefined" === typeof a && (a = e.INITIAL_SIZE); this._buffer || (this._buffer = new ArrayBuffer(a), this._position = this._length = 0, this._updateViews(), this._littleEndian = e._nativeLittleEndian, this._bitLength = this._bitBuffer = 0); } e.FromArrayBuffer = function(a, c) { "undefined" === typeof c && (c = -1); var d = Object.create(e.prototype); d._buffer = a; d._length = -1 === c ? a.byteLength : c; d._position = 0; d._updateViews(); d._littleEndian = e._nativeLittleEndian; d._bitBuffer = 0; d._bitLength = 0; return d; }; e.FromPlainObject = function(a) { var c = e.FromArrayBuffer(a.buffer, a.length); c._littleEndian = a.littleEndian; return c; }; e.prototype.toPlainObject = function() { return new a(this._buffer, this._length, this._littleEndian); }; e.prototype._updateViews = function() { this._u8 = new Uint8Array(this._buffer); 0 === (this._buffer.byteLength & 3) && (this._i32 = new Int32Array(this._buffer), this._f32 = new Float32Array(this._buffer)); }; e.prototype.getBytes = function() { return new Uint8Array(this._buffer, 0, this._length); }; e.prototype._ensureCapacity = function(a) { var c = this._buffer; if (c.byteLength < a) { for (var d = Math.max(c.byteLength, 1);d < a;) { d *= 2; } a = e._arrayBufferPool.acquire(d); d = this._u8; this._buffer = a; this._updateViews(); this._u8.set(d); e._arrayBufferPool.release(c); } }; e.prototype.clear = function() { this._position = this._length = 0; }; e.prototype.readBoolean = function() { return 0 !== this.readUnsignedByte(); }; e.prototype.readByte = function() { return this.readUnsignedByte() << 24 >> 24; }; e.prototype.readUnsignedByte = function() { this._position + 1 > this._length && g(); return this._u8[this._position++]; }; e.prototype.readBytes = function(a, c, e) { "undefined" === typeof c && (c = 0); "undefined" === typeof e && (e = 0); var d = this._position; c || (c = 0); e || (e = this._length - d); d + e > this._length && g(); a.length < c + e && (a._ensureCapacity(c + e), a.length = c + e); a._u8.set(new Uint8Array(this._buffer, d, e), c); this._position += e; }; e.prototype.readShort = function() { return this.readUnsignedShort() << 16 >> 16; }; e.prototype.readUnsignedShort = function() { var a = this._u8, c = this._position; c + 2 > this._length && g(); var e = a[c + 0], a = a[c + 1]; this._position = c + 2; return this._littleEndian ? a << 8 | e : e << 8 | a; }; e.prototype.readInt = function() { var a = this._u8, c = this._position; c + 4 > this._length && g(); var e = a[c + 0], d = a[c + 1], b = a[c + 2], a = a[c + 3]; this._position = c + 4; return this._littleEndian ? a << 24 | b << 16 | d << 8 | e : e << 24 | d << 16 | b << 8 | a; }; e.prototype.readUnsignedInt = function() { return this.readInt() >>> 0; }; e.prototype.readFloat = function() { var a = this._position; a + 4 > this._length && g(); this._position = a + 4; if (this._littleEndian && 0 === (a & 3) && this._f32) { return this._f32[a >> 2]; } var c = this._u8, e = b.IntegerUtilities.u8; this._littleEndian ? (e[0] = c[a + 0], e[1] = c[a + 1], e[2] = c[a + 2], e[3] = c[a + 3]) : (e[3] = c[a + 0], e[2] = c[a + 1], e[1] = c[a + 2], e[0] = c[a + 3]); return b.IntegerUtilities.f32[0]; }; e.prototype.readDouble = function() { var a = this._u8, c = this._position; c + 8 > this._length && g(); var e = b.IntegerUtilities.u8; this._littleEndian ? (e[0] = a[c + 0], e[1] = a[c + 1], e[2] = a[c + 2], e[3] = a[c + 3], e[4] = a[c + 4], e[5] = a[c + 5], e[6] = a[c + 6], e[7] = a[c + 7]) : (e[0] = a[c + 7], e[1] = a[c + 6], e[2] = a[c + 5], e[3] = a[c + 4], e[4] = a[c + 3], e[5] = a[c + 2], e[6] = a[c + 1], e[7] = a[c + 0]); this._position = c + 8; return b.IntegerUtilities.f64[0]; }; e.prototype.writeBoolean = function(a) { this.writeByte(a ? 1 : 0); }; e.prototype.writeByte = function(a) { var c = this._position + 1; this._ensureCapacity(c); this._u8[this._position++] = a; c > this._length && (this._length = c); }; e.prototype.writeUnsignedByte = function(a) { var c = this._position + 1; this._ensureCapacity(c); this._u8[this._position++] = a; c > this._length && (this._length = c); }; e.prototype.writeRawBytes = function(a) { var c = this._position + a.length; this._ensureCapacity(c); this._u8.set(a, this._position); this._position = c; c > this._length && (this._length = c); }; e.prototype.writeBytes = function(a, c, e) { "undefined" === typeof c && (c = 0); "undefined" === typeof e && (e = 0); 2 > arguments.length && (c = 0); 3 > arguments.length && (e = 0); c !== d(c, 0, a.length) && t("throwRangeError"); var b = c + e; b !== d(b, 0, a.length) && t("throwRangeError"); 0 === e && (e = a.length - c); this.writeRawBytes(new Int8Array(a._buffer, c, e)); }; e.prototype.writeShort = function(a) { this.writeUnsignedShort(a); }; e.prototype.writeUnsignedShort = function(a) { var c = this._position; this._ensureCapacity(c + 2); var e = this._u8; this._littleEndian ? (e[c + 0] = a, e[c + 1] = a >> 8) : (e[c + 0] = a >> 8, e[c + 1] = a); this._position = c += 2; c > this._length && (this._length = c); }; e.prototype.writeInt = function(a) { this.writeUnsignedInt(a); }; e.prototype.write4Ints = function(a, c, e, d) { this.write4UnsignedInts(a, c, e, d); }; e.prototype.writeUnsignedInt = function(a) { var c = this._position; this._ensureCapacity(c + 4); if (this._littleEndian === e._nativeLittleEndian && 0 === (c & 3) && this._i32) { this._i32[c >> 2] = a; } else { var d = this._u8; this._littleEndian ? (d[c + 0] = a, d[c + 1] = a >> 8, d[c + 2] = a >> 16, d[c + 3] = a >> 24) : (d[c + 0] = a >> 24, d[c + 1] = a >> 16, d[c + 2] = a >> 8, d[c + 3] = a); } this._position = c += 4; c > this._length && (this._length = c); }; e.prototype.write4UnsignedInts = function(a, c, d, b) { var p = this._position; this._ensureCapacity(p + 16); this._littleEndian === e._nativeLittleEndian && 0 === (p & 3) && this._i32 ? (this._i32[(p >> 2) + 0] = a, this._i32[(p >> 2) + 1] = c, this._i32[(p >> 2) + 2] = d, this._i32[(p >> 2) + 3] = b, this._position = p += 16, p > this._length && (this._length = p)) : (this.writeUnsignedInt(a), this.writeUnsignedInt(c), this.writeUnsignedInt(d), this.writeUnsignedInt(b)); }; e.prototype.writeFloat = function(a) { var c = this._position; this._ensureCapacity(c + 4); if (this._littleEndian === e._nativeLittleEndian && 0 === (c & 3) && this._f32) { this._f32[c >> 2] = a; } else { var d = this._u8; b.IntegerUtilities.f32[0] = a; a = b.IntegerUtilities.u8; this._littleEndian ? (d[c + 0] = a[0], d[c + 1] = a[1], d[c + 2] = a[2], d[c + 3] = a[3]) : (d[c + 0] = a[3], d[c + 1] = a[2], d[c + 2] = a[1], d[c + 3] = a[0]); } this._position = c += 4; c > this._length && (this._length = c); }; e.prototype.write6Floats = function(a, c, d, b, p, h) { var n = this._position; this._ensureCapacity(n + 24); this._littleEndian === e._nativeLittleEndian && 0 === (n & 3) && this._f32 ? (this._f32[(n >> 2) + 0] = a, this._f32[(n >> 2) + 1] = c, this._f32[(n >> 2) + 2] = d, this._f32[(n >> 2) + 3] = b, this._f32[(n >> 2) + 4] = p, this._f32[(n >> 2) + 5] = h, this._position = n += 24, n > this._length && (this._length = n)) : (this.writeFloat(a), this.writeFloat(c), this.writeFloat(d), this.writeFloat(b), this.writeFloat(p), this.writeFloat(h)); }; e.prototype.writeDouble = function(a) { var c = this._position; this._ensureCapacity(c + 8); var e = this._u8; b.IntegerUtilities.f64[0] = a; a = b.IntegerUtilities.u8; this._littleEndian ? (e[c + 0] = a[0], e[c + 1] = a[1], e[c + 2] = a[2], e[c + 3] = a[3], e[c + 4] = a[4], e[c + 5] = a[5], e[c + 6] = a[6], e[c + 7] = a[7]) : (e[c + 0] = a[7], e[c + 1] = a[6], e[c + 2] = a[5], e[c + 3] = a[4], e[c + 4] = a[3], e[c + 5] = a[2], e[c + 6] = a[1], e[c + 7] = a[0]); this._position = c += 8; c > this._length && (this._length = c); }; e.prototype.readRawBytes = function() { return new Int8Array(this._buffer, 0, this._length); }; e.prototype.writeUTF = function(a) { a = f(a); a = s(a); this.writeShort(a.length); this.writeRawBytes(a); }; e.prototype.writeUTFBytes = function(a) { a = f(a); a = s(a); this.writeRawBytes(a); }; e.prototype.readUTF = function() { return this.readUTFBytes(this.readShort()); }; e.prototype.readUTFBytes = function(a) { a >>>= 0; var c = this._position; c + a > this._length && g(); this._position += a; return m(new Int8Array(this._buffer, c, a)); }; Object.defineProperty(e.prototype, "length", {get:function() { return this._length; }, set:function(a) { a >>>= 0; a > this._buffer.byteLength && this._ensureCapacity(a); this._length = a; this._position = d(this._position, 0, this._length); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "bytesAvailable", {get:function() { return this._length - this._position; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "position", {get:function() { return this._position; }, set:function(a) { this._position = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "buffer", {get:function() { return this._buffer; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "bytes", {get:function() { return this._u8; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "ints", {get:function() { return this._i32; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "objectEncoding", {get:function() { return this._objectEncoding; }, set:function(a) { this._objectEncoding = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "endian", {get:function() { return this._littleEndian ? "littleEndian" : "bigEndian"; }, set:function(a) { a = f(a); this._littleEndian = "auto" === a ? e._nativeLittleEndian : "littleEndian" === a; }, enumerable:!0, configurable:!0}); e.prototype.toString = function() { return m(new Int8Array(this._buffer, 0, this._length)); }; e.prototype.toBlob = function() { return new Blob([new Int8Array(this._buffer, this._position, this._length)]); }; e.prototype.writeMultiByte = function(a, c) { t("packageInternal flash.utils.ObjectOutput::writeMultiByte"); }; e.prototype.readMultiByte = function(a, c) { t("packageInternal flash.utils.ObjectInput::readMultiByte"); }; e.prototype.getValue = function(a) { a |= 0; return a >= this._length ? void 0 : this._u8[a]; }; e.prototype.setValue = function(a, c) { a |= 0; var e = a + 1; this._ensureCapacity(e); this._u8[a] = c; e > this._length && (this._length = e); }; e.prototype.readFixed = function() { return this.readInt() / 65536; }; e.prototype.readFixed8 = function() { return this.readShort() / 256; }; e.prototype.readFloat16 = function() { var a = this.readUnsignedShort(), c = a >> 15 ? -1 : 1, e = (a & 31744) >> 10, a = a & 1023; return e ? 31 === e ? a ? NaN : Infinity * c : c * Math.pow(2, e - 15) * (1 + a / 1024) : a / 1024 * Math.pow(2, -14) * c; }; e.prototype.readEncodedU32 = function() { var a = this.readUnsignedByte(); if (!(a & 128)) { return a; } a = a & 127 | this.readUnsignedByte() << 7; if (!(a & 16384)) { return a; } a = a & 16383 | this.readUnsignedByte() << 14; if (!(a & 2097152)) { return a; } a = a & 2097151 | this.readUnsignedByte() << 21; return a & 268435456 ? a & 268435455 | this.readUnsignedByte() << 28 : a; }; e.prototype.readBits = function(a) { return this.readUnsignedBits(a) << 32 - a >> 32 - a; }; e.prototype.readUnsignedBits = function(a) { for (var e = this._bitBuffer, d = this._bitLength;a > d;) { e = e << 8 | this.readUnsignedByte(), d += 8; } d -= a; a = e >>> d & c[a]; this._bitBuffer = e; this._bitLength = d; return a; }; e.prototype.readFixedBits = function(a) { return this.readBits(a) / 65536; }; e.prototype.readString = function(a) { var c = this._position; if (a) { c + a > this._length && g(), this._position += a; } else { a = 0; for (var e = c;e < this._length && this._u8[e];e++) { a++; } this._position += a + 1; } return m(new Int8Array(this._buffer, c, a)); }; e.prototype.align = function() { this._bitLength = this._bitBuffer = 0; }; e.prototype._compress = function(a) { a = f(a); switch(a) { case "zlib": a = new k.Deflate(!0); break; case "deflate": a = new k.Deflate(!1); break; default: return; } var c = new e; a.onData = c.writeRawBytes.bind(c); a.push(this._u8.subarray(0, this._length)); a.finish(); this._ensureCapacity(c._u8.length); this._u8.set(c._u8); this.length = c.length; this._position = 0; }; e.prototype._uncompress = function(a) { a = f(a); switch(a) { case "zlib": a = new k.Inflate(!0); break; case "deflate": a = new k.Inflate(!1); break; default: return; } var c = new e; a.onData = c.writeRawBytes.bind(c); a.push(this._u8.subarray(0, this._length)); a.error && t("throwCompressedDataError"); this._ensureCapacity(c._u8.length); this._u8.set(c._u8); this.length = c.length; this._position = 0; }; e._nativeLittleEndian = 1 === (new Int8Array((new Int32Array([1])).buffer))[0]; e.INITIAL_SIZE = 128; e._arrayBufferPool = new b.ArrayBufferPool; return e; }(); k.DataBuffer = n; })(b.ArrayUtilities || (b.ArrayUtilities = {})); })(Shumway || (Shumway = {})); (function(b) { var k = b.ArrayUtilities.DataBuffer, g = b.ArrayUtilities.ensureTypedArrayCapacity, f = b.Debug.assert; (function(b) { b[b.BeginSolidFill = 1] = "BeginSolidFill"; b[b.BeginGradientFill = 2] = "BeginGradientFill"; b[b.BeginBitmapFill = 3] = "BeginBitmapFill"; b[b.EndFill = 4] = "EndFill"; b[b.LineStyleSolid = 5] = "LineStyleSolid"; b[b.LineStyleGradient = 6] = "LineStyleGradient"; b[b.LineStyleBitmap = 7] = "LineStyleBitmap"; b[b.LineEnd = 8] = "LineEnd"; b[b.MoveTo = 9] = "MoveTo"; b[b.LineTo = 10] = "LineTo"; b[b.CurveTo = 11] = "CurveTo"; b[b.CubicCurveTo = 12] = "CubicCurveTo"; })(b.PathCommand || (b.PathCommand = {})); (function(b) { b[b.Linear = 16] = "Linear"; b[b.Radial = 18] = "Radial"; })(b.GradientType || (b.GradientType = {})); (function(b) { b[b.Pad = 0] = "Pad"; b[b.Reflect = 1] = "Reflect"; b[b.Repeat = 2] = "Repeat"; })(b.GradientSpreadMethod || (b.GradientSpreadMethod = {})); (function(b) { b[b.RGB = 0] = "RGB"; b[b.LinearRGB = 1] = "LinearRGB"; })(b.GradientInterpolationMethod || (b.GradientInterpolationMethod = {})); (function(b) { b[b.None = 0] = "None"; b[b.Normal = 1] = "Normal"; b[b.Vertical = 2] = "Vertical"; b[b.Horizontal = 3] = "Horizontal"; })(b.LineScaleMode || (b.LineScaleMode = {})); var t = function() { return function(b, d, a, c, n, p, e, q, l) { this.commands = b; this.commandsPosition = d; this.coordinates = a; this.coordinatesPosition = c; this.morphCoordinates = n; this.styles = p; this.stylesLength = e; this.hasFills = q; this.hasLines = l; }; }(); b.PlainObjectShapeData = t; var s; (function(b) { b[b.Commands = 32] = "Commands"; b[b.Coordinates = 128] = "Coordinates"; b[b.Styles = 16] = "Styles"; })(s || (s = {})); s = function() { function b(d) { "undefined" === typeof d && (d = !0); d && this.clear(); } b.FromPlainObject = function(d) { var a = new b(!1); a.commands = d.commands; a.coordinates = d.coordinates; a.morphCoordinates = d.morphCoordinates; a.commandsPosition = d.commandsPosition; a.coordinatesPosition = d.coordinatesPosition; a.styles = k.FromArrayBuffer(d.styles, d.stylesLength); a.styles.endian = "auto"; a.hasFills = d.hasFills; a.hasLines = d.hasLines; return a; }; b.prototype.moveTo = function(d, a) { this.ensurePathCapacities(1, 2); this.commands[this.commandsPosition++] = 9; this.coordinates[this.coordinatesPosition++] = d; this.coordinates[this.coordinatesPosition++] = a; }; b.prototype.lineTo = function(d, a) { this.ensurePathCapacities(1, 2); this.commands[this.commandsPosition++] = 10; this.coordinates[this.coordinatesPosition++] = d; this.coordinates[this.coordinatesPosition++] = a; }; b.prototype.curveTo = function(d, a, c, b) { this.ensurePathCapacities(1, 4); this.commands[this.commandsPosition++] = 11; this.coordinates[this.coordinatesPosition++] = d; this.coordinates[this.coordinatesPosition++] = a; this.coordinates[this.coordinatesPosition++] = c; this.coordinates[this.coordinatesPosition++] = b; }; b.prototype.cubicCurveTo = function(d, a, c, b, p, e) { this.ensurePathCapacities(1, 6); this.commands[this.commandsPosition++] = 12; this.coordinates[this.coordinatesPosition++] = d; this.coordinates[this.coordinatesPosition++] = a; this.coordinates[this.coordinatesPosition++] = c; this.coordinates[this.coordinatesPosition++] = b; this.coordinates[this.coordinatesPosition++] = p; this.coordinates[this.coordinatesPosition++] = e; }; b.prototype.beginFill = function(d) { this.ensurePathCapacities(1, 0); this.commands[this.commandsPosition++] = 1; this.styles.writeUnsignedInt(d); this.hasFills = !0; }; b.prototype.endFill = function() { this.ensurePathCapacities(1, 0); this.commands[this.commandsPosition++] = 4; }; b.prototype.endLine = function() { this.ensurePathCapacities(1, 0); this.commands[this.commandsPosition++] = 8; }; b.prototype.lineStyle = function(d, a, c, b, p, e, q) { f(d === (d | 0), 0 <= d && 5100 >= d); this.ensurePathCapacities(2, 0); this.commands[this.commandsPosition++] = 5; this.coordinates[this.coordinatesPosition++] = d; d = this.styles; d.writeUnsignedInt(a); d.writeBoolean(c); d.writeUnsignedByte(b); d.writeUnsignedByte(p); d.writeUnsignedByte(e); d.writeUnsignedByte(q); this.hasLines = !0; }; b.prototype.beginBitmap = function(d, a, c, b, p) { f(3 === d || 7 === d); this.ensurePathCapacities(1, 0); this.commands[this.commandsPosition++] = d; d = this.styles; d.writeUnsignedInt(a); this._writeStyleMatrix(c); d.writeBoolean(b); d.writeBoolean(p); this.hasFills = !0; }; b.prototype.beginGradient = function(d, a, c, b, p, e, q, l) { f(2 === d || 6 === d); this.ensurePathCapacities(1, 0); this.commands[this.commandsPosition++] = d; d = this.styles; d.writeUnsignedByte(b); f(l === (l | 0)); d.writeShort(l); this._writeStyleMatrix(p); b = a.length; d.writeByte(b); for (p = 0;p < b;p++) { d.writeUnsignedByte(c[p]), d.writeUnsignedInt(a[p]); } d.writeUnsignedByte(e); d.writeUnsignedByte(q); this.hasFills = !0; }; b.prototype.writeCommandAndCoordinates = function(d, a, c) { this.ensurePathCapacities(1, 2); this.commands[this.commandsPosition++] = d; this.coordinates[this.coordinatesPosition++] = a; this.coordinates[this.coordinatesPosition++] = c; }; b.prototype.writeCoordinates = function(d, a) { this.ensurePathCapacities(0, 2); this.coordinates[this.coordinatesPosition++] = d; this.coordinates[this.coordinatesPosition++] = a; }; b.prototype.writeMorphCoordinates = function(d, a) { this.morphCoordinates = g(this.morphCoordinates, this.coordinatesPosition); this.morphCoordinates[this.coordinatesPosition - 2] = d; this.morphCoordinates[this.coordinatesPosition - 1] = a; }; b.prototype.clear = function() { this.commandsPosition = this.coordinatesPosition = 0; this.commands = new Uint8Array(32); this.coordinates = new Int32Array(128); this.styles = new k(16); this.styles.endian = "auto"; this.hasFills = this.hasLines = !1; }; b.prototype.isEmpty = function() { return 0 === this.commandsPosition; }; b.prototype.clone = function() { var d = new b(!1); d.commands = new Uint8Array(this.commands); d.commandsPosition = this.commandsPosition; d.coordinates = new Int32Array(this.coordinates); d.coordinatesPosition = this.coordinatesPosition; d.styles = new k(this.styles.length); d.styles.writeRawBytes(this.styles.bytes); d.hasFills = this.hasFills; d.hasLines = this.hasLines; return d; }; b.prototype.toPlainObject = function() { return new t(this.commands, this.commandsPosition, this.coordinates, this.coordinatesPosition, this.morphCoordinates, this.styles.buffer, this.styles.length, this.hasFills, this.hasLines); }; Object.defineProperty(b.prototype, "buffers", {get:function() { var d = [this.commands.buffer, this.coordinates.buffer, this.styles.buffer]; this.morphCoordinates && d.push(this.morphCoordinates.buffer); return d; }, enumerable:!0, configurable:!0}); b.prototype._writeStyleMatrix = function(d) { var a = this.styles; a.writeFloat(d.a); a.writeFloat(d.b); a.writeFloat(d.c); a.writeFloat(d.d); a.writeFloat(d.tx); a.writeFloat(d.ty); }; b.prototype.ensurePathCapacities = function(d, a) { this.commands = g(this.commands, this.commandsPosition + d); this.coordinates = g(this.coordinates, this.coordinatesPosition + a); }; return b; }(); b.ShapeData = s; })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(b) { b[b.CODE_END = 0] = "CODE_END"; b[b.CODE_SHOW_FRAME = 1] = "CODE_SHOW_FRAME"; b[b.CODE_DEFINE_SHAPE = 2] = "CODE_DEFINE_SHAPE"; b[b.CODE_FREE_CHARACTER = 3] = "CODE_FREE_CHARACTER"; b[b.CODE_PLACE_OBJECT = 4] = "CODE_PLACE_OBJECT"; b[b.CODE_REMOVE_OBJECT = 5] = "CODE_REMOVE_OBJECT"; b[b.CODE_DEFINE_BITS = 6] = "CODE_DEFINE_BITS"; b[b.CODE_DEFINE_BUTTON = 7] = "CODE_DEFINE_BUTTON"; b[b.CODE_JPEG_TABLES = 8] = "CODE_JPEG_TABLES"; b[b.CODE_SET_BACKGROUND_COLOR = 9] = "CODE_SET_BACKGROUND_COLOR"; b[b.CODE_DEFINE_FONT = 10] = "CODE_DEFINE_FONT"; b[b.CODE_DEFINE_TEXT = 11] = "CODE_DEFINE_TEXT"; b[b.CODE_DO_ACTION = 12] = "CODE_DO_ACTION"; b[b.CODE_DEFINE_FONT_INFO = 13] = "CODE_DEFINE_FONT_INFO"; b[b.CODE_DEFINE_SOUND = 14] = "CODE_DEFINE_SOUND"; b[b.CODE_START_SOUND = 15] = "CODE_START_SOUND"; b[b.CODE_STOP_SOUND = 16] = "CODE_STOP_SOUND"; b[b.CODE_DEFINE_BUTTON_SOUND = 17] = "CODE_DEFINE_BUTTON_SOUND"; b[b.CODE_SOUND_STREAM_HEAD = 18] = "CODE_SOUND_STREAM_HEAD"; b[b.CODE_SOUND_STREAM_BLOCK = 19] = "CODE_SOUND_STREAM_BLOCK"; b[b.CODE_DEFINE_BITS_LOSSLESS = 20] = "CODE_DEFINE_BITS_LOSSLESS"; b[b.CODE_DEFINE_BITS_JPEG2 = 21] = "CODE_DEFINE_BITS_JPEG2"; b[b.CODE_DEFINE_SHAPE2 = 22] = "CODE_DEFINE_SHAPE2"; b[b.CODE_DEFINE_BUTTON_CXFORM = 23] = "CODE_DEFINE_BUTTON_CXFORM"; b[b.CODE_PROTECT = 24] = "CODE_PROTECT"; b[b.CODE_PATHS_ARE_POSTSCRIPT = 25] = "CODE_PATHS_ARE_POSTSCRIPT"; b[b.CODE_PLACE_OBJECT2 = 26] = "CODE_PLACE_OBJECT2"; b[b.CODE_REMOVE_OBJECT2 = 28] = "CODE_REMOVE_OBJECT2"; b[b.CODE_SYNC_FRAME = 29] = "CODE_SYNC_FRAME"; b[b.CODE_FREE_ALL = 31] = "CODE_FREE_ALL"; b[b.CODE_DEFINE_SHAPE3 = 32] = "CODE_DEFINE_SHAPE3"; b[b.CODE_DEFINE_TEXT2 = 33] = "CODE_DEFINE_TEXT2"; b[b.CODE_DEFINE_BUTTON2 = 34] = "CODE_DEFINE_BUTTON2"; b[b.CODE_DEFINE_BITS_JPEG3 = 35] = "CODE_DEFINE_BITS_JPEG3"; b[b.CODE_DEFINE_BITS_LOSSLESS2 = 36] = "CODE_DEFINE_BITS_LOSSLESS2"; b[b.CODE_DEFINE_EDIT_TEXT = 37] = "CODE_DEFINE_EDIT_TEXT"; b[b.CODE_DEFINE_VIDEO = 38] = "CODE_DEFINE_VIDEO"; b[b.CODE_DEFINE_SPRITE = 39] = "CODE_DEFINE_SPRITE"; b[b.CODE_NAME_CHARACTER = 40] = "CODE_NAME_CHARACTER"; b[b.CODE_PRODUCT_INFO = 41] = "CODE_PRODUCT_INFO"; b[b.CODE_DEFINE_TEXT_FORMAT = 42] = "CODE_DEFINE_TEXT_FORMAT"; b[b.CODE_FRAME_LABEL = 43] = "CODE_FRAME_LABEL"; b[b.CODE_DEFINE_BEHAVIOUR = 44] = "CODE_DEFINE_BEHAVIOUR"; b[b.CODE_SOUND_STREAM_HEAD2 = 45] = "CODE_SOUND_STREAM_HEAD2"; b[b.CODE_DEFINE_MORPH_SHAPE = 46] = "CODE_DEFINE_MORPH_SHAPE"; b[b.CODE_FRAME_TAG = 47] = "CODE_FRAME_TAG"; b[b.CODE_DEFINE_FONT2 = 48] = "CODE_DEFINE_FONT2"; b[b.CODE_GEN_COMMAND = 49] = "CODE_GEN_COMMAND"; b[b.CODE_DEFINE_COMMAND_OBJ = 50] = "CODE_DEFINE_COMMAND_OBJ"; b[b.CODE_CHARACTER_SET = 51] = "CODE_CHARACTER_SET"; b[b.CODE_FONT_REF = 52] = "CODE_FONT_REF"; b[b.CODE_DEFINE_FUNCTION = 53] = "CODE_DEFINE_FUNCTION"; b[b.CODE_PLACE_FUNCTION = 54] = "CODE_PLACE_FUNCTION"; b[b.CODE_GEN_TAG_OBJECTS = 55] = "CODE_GEN_TAG_OBJECTS"; b[b.CODE_EXPORT_ASSETS = 56] = "CODE_EXPORT_ASSETS"; b[b.CODE_IMPORT_ASSETS = 57] = "CODE_IMPORT_ASSETS"; b[b.CODE_ENABLE_DEBUGGER = 58] = "CODE_ENABLE_DEBUGGER"; b[b.CODE_DO_INIT_ACTION = 59] = "CODE_DO_INIT_ACTION"; b[b.CODE_DEFINE_VIDEO_STREAM = 60] = "CODE_DEFINE_VIDEO_STREAM"; b[b.CODE_VIDEO_FRAME = 61] = "CODE_VIDEO_FRAME"; b[b.CODE_DEFINE_FONT_INFO2 = 62] = "CODE_DEFINE_FONT_INFO2"; b[b.CODE_DEBUG_ID = 63] = "CODE_DEBUG_ID"; b[b.CODE_ENABLE_DEBUGGER2 = 64] = "CODE_ENABLE_DEBUGGER2"; b[b.CODE_SCRIPT_LIMITS = 65] = "CODE_SCRIPT_LIMITS"; b[b.CODE_SET_TAB_INDEX = 66] = "CODE_SET_TAB_INDEX"; b[b.CODE_FILE_ATTRIBUTES = 69] = "CODE_FILE_ATTRIBUTES"; b[b.CODE_PLACE_OBJECT3 = 70] = "CODE_PLACE_OBJECT3"; b[b.CODE_IMPORT_ASSETS2 = 71] = "CODE_IMPORT_ASSETS2"; b[b.CODE_DO_ABC_ = 72] = "CODE_DO_ABC_"; b[b.CODE_DEFINE_FONT_ALIGN_ZONES = 73] = "CODE_DEFINE_FONT_ALIGN_ZONES"; b[b.CODE_CSM_TEXT_SETTINGS = 74] = "CODE_CSM_TEXT_SETTINGS"; b[b.CODE_DEFINE_FONT3 = 75] = "CODE_DEFINE_FONT3"; b[b.CODE_SYMBOL_CLASS = 76] = "CODE_SYMBOL_CLASS"; b[b.CODE_METADATA = 77] = "CODE_METADATA"; b[b.CODE_DEFINE_SCALING_GRID = 78] = "CODE_DEFINE_SCALING_GRID"; b[b.CODE_DO_ABC = 82] = "CODE_DO_ABC"; b[b.CODE_DEFINE_SHAPE4 = 83] = "CODE_DEFINE_SHAPE4"; b[b.CODE_DEFINE_MORPH_SHAPE2 = 84] = "CODE_DEFINE_MORPH_SHAPE2"; b[b.CODE_DEFINE_SCENE_AND_FRAME_LABEL_DATA = 86] = "CODE_DEFINE_SCENE_AND_FRAME_LABEL_DATA"; b[b.CODE_DEFINE_BINARY_DATA = 87] = "CODE_DEFINE_BINARY_DATA"; b[b.CODE_DEFINE_FONT_NAME = 88] = "CODE_DEFINE_FONT_NAME"; b[b.CODE_START_SOUND2 = 89] = "CODE_START_SOUND2"; b[b.CODE_DEFINE_BITS_JPEG4 = 90] = "CODE_DEFINE_BITS_JPEG4"; b[b.CODE_DEFINE_FONT4 = 91] = "CODE_DEFINE_FONT4"; })(b.SwfTag || (b.SwfTag = {})); (function(b) { b[b.Reserved = 2048] = "Reserved"; b[b.OpaqueBackground = 1024] = "OpaqueBackground"; b[b.HasVisible = 512] = "HasVisible"; b[b.HasImage = 256] = "HasImage"; b[b.HasClassName = 2048] = "HasClassName"; b[b.HasCacheAsBitmap = 1024] = "HasCacheAsBitmap"; b[b.HasBlendMode = 512] = "HasBlendMode"; b[b.HasFilterList = 256] = "HasFilterList"; b[b.HasClipActions = 128] = "HasClipActions"; b[b.HasClipDepth = 64] = "HasClipDepth"; b[b.HasName = 32] = "HasName"; b[b.HasRatio = 16] = "HasRatio"; b[b.HasColorTransform = 8] = "HasColorTransform"; b[b.HasMatrix = 4] = "HasMatrix"; b[b.HasCharacter = 2] = "HasCharacter"; b[b.Move = 1] = "Move"; })(b.PlaceObjectFlags || (b.PlaceObjectFlags = {})); })(b.Parser || (b.Parser = {})); })(b.SWF || (b.SWF = {})); })(Shumway || (Shumway = {})); (function(b) { var k = b.Debug.unexpected, g = function() { function b(g, f, m, d) { this.url = g; this.method = f; this.mimeType = m; this.data = d; } b.prototype.readAll = function(b) { var g = this.url, m = new XMLHttpRequest({mozSystem:!0}); m.open(this.method || "GET", this.url, !0); m.responseType = "arraybuffer"; m.onreadystatechange = function(d) { 4 === m.readyState && (200 !== m.status && 0 !== m.status || null === m.response ? (k("Path: " + g + " not found."), b(null, m.statusText)) : b(m.response)); }; this.mimeType && m.setRequestHeader("Content-Type", this.mimeType); m.send(this.data || null); }; b.prototype.readAsync = function(b, g, m, d, a) { var c = new XMLHttpRequest({mozSystem:!0}), n = this.url, p = 0, e = 0; c.open(this.method || "GET", n, !0); c.responseType = "moz-chunked-arraybuffer"; var q = "moz-chunked-arraybuffer" !== c.responseType; q && (c.responseType = "arraybuffer"); c.onprogress = function(a) { q || (p = a.loaded, e = a.total, b(new Uint8Array(c.response), {loaded:p, total:e})); }; c.onreadystatechange = function(l) { 2 === c.readyState && a && a(n, c.status, c.getAllResponseHeaders()); 4 === c.readyState && (200 !== c.status && 0 !== c.status || null === c.response && (0 === e || p !== e) ? g(c.statusText) : (q && (l = c.response, b(new Uint8Array(l), {loaded:0, total:l.byteLength})), d && d())); }; this.mimeType && c.setRequestHeader("Content-Type", this.mimeType); c.send(this.data || null); m && m(); }; return b; }(); b.BinaryFileReader = g; })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { b[b.Objects = 0] = "Objects"; b[b.References = 1] = "References"; })(b.RemotingPhase || (b.RemotingPhase = {})); (function(b) { b[b.HasMatrix = 1] = "HasMatrix"; b[b.HasBounds = 2] = "HasBounds"; b[b.HasChildren = 4] = "HasChildren"; b[b.HasColorTransform = 8] = "HasColorTransform"; b[b.HasClipRect = 16] = "HasClipRect"; b[b.HasMiscellaneousProperties = 32] = "HasMiscellaneousProperties"; b[b.HasMask = 64] = "HasMask"; b[b.HasClip = 128] = "HasClip"; })(b.MessageBits || (b.MessageBits = {})); (function(b) { b[b.None = 0] = "None"; b[b.Asset = 134217728] = "Asset"; })(b.IDMask || (b.IDMask = {})); (function(b) { b[b.EOF = 0] = "EOF"; b[b.UpdateFrame = 100] = "UpdateFrame"; b[b.UpdateGraphics = 101] = "UpdateGraphics"; b[b.UpdateBitmapData = 102] = "UpdateBitmapData"; b[b.UpdateTextContent = 103] = "UpdateTextContent"; b[b.UpdateStage = 104] = "UpdateStage"; b[b.UpdateNetStream = 105] = "UpdateNetStream"; b[b.RequestBitmapData = 106] = "RequestBitmapData"; b[b.DecodeImage = 107] = "DecodeImage"; b[b.DecodeImageResponse = 108] = "DecodeImageResponse"; b[b.RegisterFont = 200] = "RegisterFont"; b[b.DrawToBitmap = 201] = "DrawToBitmap"; b[b.MouseEvent = 300] = "MouseEvent"; b[b.KeyboardEvent = 301] = "KeyboardEvent"; b[b.FocusEvent = 302] = "FocusEvent"; })(b.MessageTag || (b.MessageTag = {})); (function(b) { b[b.Identity = 0] = "Identity"; b[b.AlphaMultiplierOnly = 1] = "AlphaMultiplierOnly"; b[b.All = 2] = "All"; })(b.ColorTransformEncoding || (b.ColorTransformEncoding = {})); b.MouseEventNames = ["click", "dblclick", "mousedown", "mousemove", "mouseup"]; b.KeyboardEventNames = ["keydown", "keypress", "keyup"]; (function(b) { b[b.CtrlKey = 1] = "CtrlKey"; b[b.AltKey = 2] = "AltKey"; b[b.ShiftKey = 4] = "ShiftKey"; })(b.KeyboardEventFlags || (b.KeyboardEventFlags = {})); (function(b) { b[b.DocumentHidden = 0] = "DocumentHidden"; b[b.DocumentVisible = 1] = "DocumentVisible"; b[b.WindowBlur = 2] = "WindowBlur"; b[b.WindowFocus = 3] = "WindowFocus"; })(b.FocusEventType || (b.FocusEventType = {})); })(b.Remoting || (b.Remoting = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { var f = function() { function b() { } b.toRGBA = function(b, d, a, c) { "undefined" === typeof c && (c = 1); return "rgba(" + b + "," + d + "," + a + "," + c + ")"; }; return b; }(); b.UI = f; var k = function() { function b() { } b.prototype.tabToolbar = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(37, 44, 51, b); }; b.prototype.toolbars = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(52, 60, 69, b); }; b.prototype.selectionBackground = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(29, 79, 115, b); }; b.prototype.selectionText = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(245, 247, 250, b); }; b.prototype.splitters = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(0, 0, 0, b); }; b.prototype.bodyBackground = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(17, 19, 21, b); }; b.prototype.sidebarBackground = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(24, 29, 32, b); }; b.prototype.attentionBackground = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(161, 134, 80, b); }; b.prototype.bodyText = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(143, 161, 178, b); }; b.prototype.foregroundTextGrey = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(182, 186, 191, b); }; b.prototype.contentTextHighContrast = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(169, 186, 203, b); }; b.prototype.contentTextGrey = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(143, 161, 178, b); }; b.prototype.contentTextDarkGrey = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(95, 115, 135, b); }; b.prototype.blueHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(70, 175, 227, b); }; b.prototype.purpleHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(107, 122, 187, b); }; b.prototype.pinkHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(223, 128, 255, b); }; b.prototype.redHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(235, 83, 104, b); }; b.prototype.orangeHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(217, 102, 41, b); }; b.prototype.lightOrangeHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(217, 155, 40, b); }; b.prototype.greenHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(112, 191, 83, b); }; b.prototype.blueGreyHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(94, 136, 176, b); }; return b; }(); b.UIThemeDark = k; k = function() { function b() { } b.prototype.tabToolbar = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(235, 236, 237, b); }; b.prototype.toolbars = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(240, 241, 242, b); }; b.prototype.selectionBackground = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(76, 158, 217, b); }; b.prototype.selectionText = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(245, 247, 250, b); }; b.prototype.splitters = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(170, 170, 170, b); }; b.prototype.bodyBackground = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(252, 252, 252, b); }; b.prototype.sidebarBackground = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(247, 247, 247, b); }; b.prototype.attentionBackground = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(161, 134, 80, b); }; b.prototype.bodyText = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(24, 25, 26, b); }; b.prototype.foregroundTextGrey = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(88, 89, 89, b); }; b.prototype.contentTextHighContrast = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(41, 46, 51, b); }; b.prototype.contentTextGrey = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(143, 161, 178, b); }; b.prototype.contentTextDarkGrey = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(102, 115, 128, b); }; b.prototype.blueHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(0, 136, 204, b); }; b.prototype.purpleHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(91, 95, 255, b); }; b.prototype.pinkHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(184, 46, 229, b); }; b.prototype.redHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(237, 38, 85, b); }; b.prototype.orangeHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(241, 60, 0, b); }; b.prototype.lightOrangeHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(217, 126, 0, b); }; b.prototype.greenHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(44, 187, 15, b); }; b.prototype.blueGreyHighlight = function(b) { "undefined" === typeof b && (b = 1); return f.toRGBA(95, 136, 176, b); }; return b; }(); b.UIThemeLight = k; })(b.Theme || (b.Theme = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { var f = function() { function b(f) { this._buffers = f || []; this._snapshots = []; this._maxDepth = 0; } b.prototype.addBuffer = function(b) { this._buffers.push(b); }; b.prototype.getSnapshotAt = function(b) { return this._snapshots[b]; }; Object.defineProperty(b.prototype, "hasSnapshots", {get:function() { return 0 < this.snapshotCount; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "snapshotCount", {get:function() { return this._snapshots.length; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "startTime", {get:function() { return this._startTime; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "endTime", {get:function() { return this._endTime; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "totalTime", {get:function() { return this.endTime - this.startTime; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "windowStart", {get:function() { return this._windowStart; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "windowEnd", {get:function() { return this._windowEnd; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "windowLength", {get:function() { return this.windowEnd - this.windowStart; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "maxDepth", {get:function() { return this._maxDepth; }, enumerable:!0, configurable:!0}); b.prototype.forEachSnapshot = function(b) { for (var m = 0, d = this.snapshotCount;m < d;m++) { b(this._snapshots[m], m); } }; b.prototype.createSnapshots = function() { var b = Number.MAX_VALUE, m = Number.MIN_VALUE, d = 0; for (this._snapshots = [];0 < this._buffers.length;) { var a = this._buffers.shift().createSnapshot(); a && (b > a.startTime && (b = a.startTime), m < a.endTime && (m = a.endTime), d < a.maxDepth && (d = a.maxDepth), this._snapshots.push(a)); } this._startTime = b; this._endTime = m; this._windowStart = b; this._windowEnd = m; this._maxDepth = d; }; b.prototype.setWindow = function(b, m) { if (b > m) { var d = b; b = m; m = d; } d = Math.min(m - b, this.totalTime); b < this._startTime ? (b = this._startTime, m = this._startTime + d) : m > this._endTime && (b = this._endTime - d, m = this._endTime); this._windowStart = b; this._windowEnd = m; }; b.prototype.moveWindowTo = function(b) { this.setWindow(b - this.windowLength / 2, b + this.windowLength / 2); }; return b; }(); b.Profile = f; })(b.Profiler || (b.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); var __extends = this.__extends || function(b, k) { function g() { this.constructor = b; } for (var f in k) { k.hasOwnProperty(f) && (b[f] = k[f]); } g.prototype = k.prototype; b.prototype = new g; }; (function(b) { (function(b) { (function(b) { var f = function() { return function(b) { this.kind = b; this.totalTime = this.selfTime = this.count = 0; }; }(); b.TimelineFrameStatistics = f; var k = function() { function b(m, d, a, c, n, p) { this.parent = m; this.kind = d; this.startData = a; this.endData = c; this.startTime = n; this.endTime = p; this.maxDepth = 0; } Object.defineProperty(b.prototype, "totalTime", {get:function() { return this.endTime - this.startTime; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "selfTime", {get:function() { var b = this.totalTime; if (this.children) { for (var d = 0, a = this.children.length;d < a;d++) { var c = this.children[d], b = b - (c.endTime - c.startTime) } } return b; }, enumerable:!0, configurable:!0}); b.prototype.getChildIndex = function(b) { for (var d = this.children, a = 0;a < d.length;a++) { if (d[a].endTime > b) { return a; } } return 0; }; b.prototype.getChildRange = function(b, d) { if (this.children && b <= this.endTime && d >= this.startTime && d >= b) { var a = this._getNearestChild(b), c = this._getNearestChildReverse(d); if (a <= c) { return b = this.children[a].startTime, d = this.children[c].endTime, {startIndex:a, endIndex:c, startTime:b, endTime:d, totalTime:d - b}; } } return null; }; b.prototype._getNearestChild = function(b) { var d = this.children; if (d && d.length) { if (b <= d[0].endTime) { return 0; } for (var a, c = 0, n = d.length - 1;n > c;) { a = (c + n) / 2 | 0; var p = d[a]; if (b >= p.startTime && b <= p.endTime) { return a; } b > p.endTime ? c = a + 1 : n = a; } return Math.ceil((c + n) / 2); } return 0; }; b.prototype._getNearestChildReverse = function(b) { var d = this.children; if (d && d.length) { var a = d.length - 1; if (b >= d[a].startTime) { return a; } for (var c, n = 0;a > n;) { c = Math.ceil((n + a) / 2); var p = d[c]; if (b >= p.startTime && b <= p.endTime) { return c; } b > p.endTime ? n = c : a = c - 1; } return(n + a) / 2 | 0; } return 0; }; b.prototype.query = function(b) { if (b < this.startTime || b > this.endTime) { return null; } var d = this.children; if (d && 0 < d.length) { for (var a, c = 0, n = d.length - 1;n > c;) { var p = (c + n) / 2 | 0; a = d[p]; if (b >= a.startTime && b <= a.endTime) { return a.query(b); } b > a.endTime ? c = p + 1 : n = p; } a = d[n]; if (b >= a.startTime && b <= a.endTime) { return a.query(b); } } return this; }; b.prototype.queryNext = function(b) { for (var d = this;b > d.endTime;) { if (d.parent) { d = d.parent; } else { break; } } return d.query(b); }; b.prototype.getDepth = function() { for (var b = 0, d = this;d;) { b++, d = d.parent; } return b; }; b.prototype.calculateStatistics = function() { function b(a) { if (a.kind) { var c = d[a.kind.id] || (d[a.kind.id] = new f(a.kind)); c.count++; c.selfTime += a.selfTime; c.totalTime += a.totalTime; } a.children && a.children.forEach(b); } var d = this.statistics = []; b(this); }; return b; }(); b.TimelineFrame = k; k = function(b) { function m(d) { b.call(this, null, null, null, null, NaN, NaN); this.name = d; } __extends(m, b); return m; }(k); b.TimelineBufferSnapshot = k; })(b.Profiler || (b.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.ObjectUtilities.createEmptyObject, k = function() { function s(m, d) { "undefined" === typeof m && (m = ""); this.name = m || ""; this._startTime = b.isNullOrUndefined(d) ? performance.now() : d; } s.prototype.getKind = function(b) { return this._kinds[b]; }; Object.defineProperty(s.prototype, "kinds", {get:function() { return this._kinds.concat(); }, enumerable:!0, configurable:!0}); Object.defineProperty(s.prototype, "depth", {get:function() { return this._depth; }, enumerable:!0, configurable:!0}); s.prototype._initialize = function() { this._depth = 0; this._stack = []; this._data = []; this._kinds = []; this._kindNameMap = f(); this._marks = new b.CircularBuffer(Int32Array, 20); this._times = new b.CircularBuffer(Float64Array, 20); }; s.prototype._getKindId = function(b) { var d = s.MAX_KINDID; if (void 0 === this._kindNameMap[b]) { if (d = this._kinds.length, d < s.MAX_KINDID) { var a = {id:d, name:b, visible:!0}; this._kinds.push(a); this._kindNameMap[b] = a; } else { d = s.MAX_KINDID; } } else { d = this._kindNameMap[b].id; } return d; }; s.prototype._getMark = function(m, d, a) { var c = s.MAX_DATAID; b.isNullOrUndefined(a) || d === s.MAX_KINDID || (c = this._data.length, c < s.MAX_DATAID ? this._data.push(a) : c = s.MAX_DATAID); return m | c << 16 | d; }; s.prototype.enter = function(m, d, a) { a = (b.isNullOrUndefined(a) ? performance.now() : a) - this._startTime; this._marks || this._initialize(); this._depth++; m = this._getKindId(m); this._marks.write(this._getMark(s.ENTER, m, d)); this._times.write(a); this._stack.push(m); }; s.prototype.leave = function(m, d, a) { a = (b.isNullOrUndefined(a) ? performance.now() : a) - this._startTime; var c = this._stack.pop(); m && (c = this._getKindId(m)); this._marks.write(this._getMark(s.LEAVE, c, d)); this._times.write(a); this._depth--; }; s.prototype.count = function(b, d, a) { }; s.prototype.createSnapshot = function() { var m; "undefined" === typeof m && (m = Number.MAX_VALUE); if (!this._marks) { return null; } var d = this._times, a = this._kinds, c = this._data, n = new g.TimelineBufferSnapshot(this.name), p = [n], e = 0; this._marks || this._initialize(); this._marks.forEachInReverse(function(q, l) { var n = c[q >>> 16 & s.MAX_DATAID], w = a[q & s.MAX_KINDID]; if (b.isNullOrUndefined(w) || w.visible) { var r = q & 2147483648, h = d.get(l), x = p.length; if (r === s.LEAVE) { if (1 === x && (e++, e > m)) { return!0; } p.push(new g.TimelineFrame(p[x - 1], w, null, n, NaN, h)); } else { if (r === s.ENTER) { if (w = p.pop(), r = p[p.length - 1]) { for (r.children ? r.children.unshift(w) : r.children = [w], r = p.length, w.depth = r, w.startData = n, w.startTime = h;w;) { if (w.maxDepth < r) { w.maxDepth = r, w = w.parent; } else { break; } } } else { return!0; } } } } }); n.children && n.children.length && (n.startTime = n.children[0].startTime, n.endTime = n.children[n.children.length - 1].endTime); return n; }; s.prototype.reset = function(m) { this._startTime = b.isNullOrUndefined(m) ? performance.now() : m; this._marks ? (this._depth = 0, this._data = [], this._marks.reset(), this._times.reset()) : this._initialize(); }; s.FromFirefoxProfile = function(b, d) { for (var a = b.profile.threads[0].samples, c = new s(d, a[0].time), n = [], p, e = 0;e < a.length;e++) { p = a[e]; var q = p.time, l = p.frames, u = 0; for (p = Math.min(l.length, n.length);u < p && l[u].location === n[u].location;) { u++; } for (var w = n.length - u, r = 0;r < w;r++) { p = n.pop(), c.leave(p.location, null, q); } for (;u < l.length;) { p = l[u++], c.enter(p.location, null, q); } n = l; } for (;p = n.pop();) { c.leave(p.location, null, q); } return c; }; s.FromChromeProfile = function(b, d) { var a = b.timestamps, c = b.samples, n = new s(d, a[0] / 1E3), p = [], e = {}, q; s._resolveIds(b.head, e); for (var l = 0;l < a.length;l++) { var u = a[l] / 1E3, w = []; for (q = e[c[l]];q;) { w.unshift(q), q = q.parent; } var r = 0; for (q = Math.min(w.length, p.length);r < q && w[r] === p[r];) { r++; } for (var h = p.length - r, x = 0;x < h;x++) { q = p.pop(), n.leave(q.functionName, null, u); } for (;r < w.length;) { q = w[r++], n.enter(q.functionName, null, u); } p = w; } for (;q = p.pop();) { n.leave(q.functionName, null, u); } return n; }; s._resolveIds = function(b, d) { d[b.id] = b; if (b.children) { for (var a = 0;a < b.children.length;a++) { b.children[a].parent = b, s._resolveIds(b.children[a], d); } } }; s.ENTER = 0; s.LEAVE = -2147483648; s.MAX_KINDID = 65535; s.MAX_DATAID = 32767; return s; }(); g.TimelineBuffer = k; })(k.Profiler || (k.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(b) { b[b.DARK = 0] = "DARK"; b[b.LIGHT = 1] = "LIGHT"; })(g.UIThemeType || (g.UIThemeType = {})); var f = function() { function f(b, m) { "undefined" === typeof m && (m = 0); this._container = b; this._headers = []; this._charts = []; this._profiles = []; this._activeProfile = null; this.themeType = m; this._tooltip = this._createTooltip(); } f.prototype.createProfile = function(b, m) { "undefined" === typeof m && (m = !0); var d = new g.Profile(b); d.createSnapshots(); this._profiles.push(d); m && this.activateProfile(d); return d; }; f.prototype.activateProfile = function(b) { this.deactivateProfile(); this._activeProfile = b; this._createViews(); this._initializeViews(); }; f.prototype.activateProfileAt = function(b) { this.activateProfile(this.getProfileAt(b)); }; f.prototype.deactivateProfile = function() { this._activeProfile && (this._destroyViews(), this._activeProfile = null); }; f.prototype.resize = function() { this._onResize(); }; f.prototype.getProfileAt = function(b) { return this._profiles[b]; }; Object.defineProperty(f.prototype, "activeProfile", {get:function() { return this._activeProfile; }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "profileCount", {get:function() { return this._profiles.length; }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "container", {get:function() { return this._container; }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "themeType", {get:function() { return this._themeType; }, set:function(b) { switch(b) { case 0: this._theme = new k.Theme.UIThemeDark; break; case 1: this._theme = new k.Theme.UIThemeLight; } }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "theme", {get:function() { return this._theme; }, enumerable:!0, configurable:!0}); f.prototype.getSnapshotAt = function(b) { return this._activeProfile.getSnapshotAt(b); }; f.prototype._createViews = function() { if (this._activeProfile) { var b = this; this._overviewHeader = new g.FlameChartHeader(this, 0); this._overview = new g.FlameChartOverview(this, 0); this._activeProfile.forEachSnapshot(function(m, d) { b._headers.push(new g.FlameChartHeader(b, 1)); b._charts.push(new g.FlameChart(b, m)); }); window.addEventListener("resize", this._onResize.bind(this)); } }; f.prototype._destroyViews = function() { if (this._activeProfile) { this._overviewHeader.destroy(); for (this._overview.destroy();this._headers.length;) { this._headers.pop().destroy(); } for (;this._charts.length;) { this._charts.pop().destroy(); } window.removeEventListener("resize", this._onResize.bind(this)); } }; f.prototype._initializeViews = function() { if (this._activeProfile) { var b = this, m = this._activeProfile.startTime, d = this._activeProfile.endTime; this._overviewHeader.initialize(m, d); this._overview.initialize(m, d); this._activeProfile.forEachSnapshot(function(a, c) { b._headers[c].initialize(m, d); b._charts[c].initialize(m, d); }); } }; f.prototype._onResize = function() { if (this._activeProfile) { var b = this, m = this._container.offsetWidth; this._overviewHeader.setSize(m); this._overview.setSize(m); this._activeProfile.forEachSnapshot(function(d, a) { b._headers[a].setSize(m); b._charts[a].setSize(m); }); } }; f.prototype._updateViews = function() { if (this._activeProfile) { var b = this, m = this._activeProfile.windowStart, d = this._activeProfile.windowEnd; this._overviewHeader.setWindow(m, d); this._overview.setWindow(m, d); this._activeProfile.forEachSnapshot(function(a, c) { b._headers[c].setWindow(m, d); b._charts[c].setWindow(m, d); }); } }; f.prototype._drawViews = function() { }; f.prototype._createTooltip = function() { var b = document.createElement("div"); b.classList.add("profiler-tooltip"); b.style.display = "none"; this._container.insertBefore(b, this._container.firstChild); return b; }; f.prototype.setWindow = function(b, m) { this._activeProfile.setWindow(b, m); this._updateViews(); }; f.prototype.moveWindowTo = function(b) { this._activeProfile.moveWindowTo(b); this._updateViews(); }; f.prototype.showTooltip = function(b, m, d, a) { this.removeTooltipContent(); this._tooltip.appendChild(this.createTooltipContent(b, m)); this._tooltip.style.display = "block"; var c = this._tooltip.firstChild; m = c.clientWidth; c = c.clientHeight; d += d + m >= b.canvas.clientWidth - 50 ? -(m + 20) : 25; a += b.canvas.offsetTop - c / 2; this._tooltip.style.left = d + "px"; this._tooltip.style.top = a + "px"; }; f.prototype.hideTooltip = function() { this._tooltip.style.display = "none"; }; f.prototype.createTooltipContent = function(b, m) { var d = Math.round(1E5 * m.totalTime) / 1E5, a = Math.round(1E5 * m.selfTime) / 1E5, c = Math.round(1E4 * m.selfTime / m.totalTime) / 100, n = document.createElement("div"), p = document.createElement("h1"); p.textContent = m.kind.name; n.appendChild(p); p = document.createElement("p"); p.textContent = "Total: " + d + " ms"; n.appendChild(p); d = document.createElement("p"); d.textContent = "Self: " + a + " ms (" + c + "%)"; n.appendChild(d); if (a = b.getStatistics(m.kind)) { c = document.createElement("p"), c.textContent = "Count: " + a.count, n.appendChild(c), c = Math.round(1E5 * a.totalTime) / 1E5, d = document.createElement("p"), d.textContent = "All Total: " + c + " ms", n.appendChild(d), a = Math.round(1E5 * a.selfTime) / 1E5, c = document.createElement("p"), c.textContent = "All Self: " + a + " ms", n.appendChild(c); } this.appendDataElements(n, m.startData); this.appendDataElements(n, m.endData); return n; }; f.prototype.appendDataElements = function(f, m) { if (!b.isNullOrUndefined(m)) { f.appendChild(document.createElement("hr")); var d; if (b.isObject(m)) { for (var a in m) { d = document.createElement("p"), d.textContent = a + ": " + m[a], f.appendChild(d); } } else { d = document.createElement("p"), d.textContent = m.toString(), f.appendChild(d); } } }; f.prototype.removeTooltipContent = function() { for (var b = this._tooltip;b.firstChild;) { b.removeChild(b.firstChild); } }; return f; }(); g.Controller = f; })(k.Profiler || (k.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.NumberUtilities.clamp, k = function() { function b(d) { this.value = d; } b.prototype.toString = function() { return this.value; }; b.AUTO = new b("auto"); b.DEFAULT = new b("default"); b.NONE = new b("none"); b.HELP = new b("help"); b.POINTER = new b("pointer"); b.PROGRESS = new b("progress"); b.WAIT = new b("wait"); b.CELL = new b("cell"); b.CROSSHAIR = new b("crosshair"); b.TEXT = new b("text"); b.ALIAS = new b("alias"); b.COPY = new b("copy"); b.MOVE = new b("move"); b.NO_DROP = new b("no-drop"); b.NOT_ALLOWED = new b("not-allowed"); b.ALL_SCROLL = new b("all-scroll"); b.COL_RESIZE = new b("col-resize"); b.ROW_RESIZE = new b("row-resize"); b.N_RESIZE = new b("n-resize"); b.E_RESIZE = new b("e-resize"); b.S_RESIZE = new b("s-resize"); b.W_RESIZE = new b("w-resize"); b.NE_RESIZE = new b("ne-resize"); b.NW_RESIZE = new b("nw-resize"); b.SE_RESIZE = new b("se-resize"); b.SW_RESIZE = new b("sw-resize"); b.EW_RESIZE = new b("ew-resize"); b.NS_RESIZE = new b("ns-resize"); b.NESW_RESIZE = new b("nesw-resize"); b.NWSE_RESIZE = new b("nwse-resize"); b.ZOOM_IN = new b("zoom-in"); b.ZOOM_OUT = new b("zoom-out"); b.GRAB = new b("grab"); b.GRABBING = new b("grabbing"); return b; }(); g.MouseCursor = k; var s = function() { function b(d, a) { this._target = d; this._eventTarget = a; this._wheelDisabled = !1; this._boundOnMouseDown = this._onMouseDown.bind(this); this._boundOnMouseUp = this._onMouseUp.bind(this); this._boundOnMouseOver = this._onMouseOver.bind(this); this._boundOnMouseOut = this._onMouseOut.bind(this); this._boundOnMouseMove = this._onMouseMove.bind(this); this._boundOnMouseWheel = this._onMouseWheel.bind(this); this._boundOnDrag = this._onDrag.bind(this); a.addEventListener("mousedown", this._boundOnMouseDown, !1); a.addEventListener("mouseover", this._boundOnMouseOver, !1); a.addEventListener("mouseout", this._boundOnMouseOut, !1); a.addEventListener("onwheel" in document ? "wheel" : "mousewheel", this._boundOnMouseWheel, !1); } b.prototype.destroy = function() { var b = this._eventTarget; b.removeEventListener("mousedown", this._boundOnMouseDown); b.removeEventListener("mouseover", this._boundOnMouseOver); b.removeEventListener("mouseout", this._boundOnMouseOut); b.removeEventListener("onwheel" in document ? "wheel" : "mousewheel", this._boundOnMouseWheel); window.removeEventListener("mousemove", this._boundOnDrag); window.removeEventListener("mouseup", this._boundOnMouseUp); this._killHoverCheck(); this._target = this._eventTarget = null; }; b.prototype.updateCursor = function(d) { if (!b._cursorOwner || b._cursorOwner === this._target) { var a = this._eventTarget.parentElement; b._cursor !== d && (b._cursor = d, ["", "-moz-", "-webkit-"].forEach(function(c) { a.style.cursor = c + d; })); b._cursorOwner = b._cursor === k.DEFAULT ? null : this._target; } }; b.prototype._onMouseDown = function(b) { this._killHoverCheck(); if (0 === b.button) { var a = this._getTargetMousePos(b, b.target); this._dragInfo = {start:a, current:a, delta:{x:0, y:0}, hasMoved:!1, originalTarget:b.target}; window.addEventListener("mousemove", this._boundOnDrag, !1); window.addEventListener("mouseup", this._boundOnMouseUp, !1); this._target.onMouseDown(a.x, a.y); } }; b.prototype._onDrag = function(b) { var a = this._dragInfo; b = this._getTargetMousePos(b, a.originalTarget); var c = {x:b.x - a.start.x, y:b.y - a.start.y}; a.current = b; a.delta = c; a.hasMoved = !0; this._target.onDrag(a.start.x, a.start.y, b.x, b.y, c.x, c.y); }; b.prototype._onMouseUp = function(b) { window.removeEventListener("mousemove", this._boundOnDrag); window.removeEventListener("mouseup", this._boundOnMouseUp); var a = this; b = this._dragInfo; if (b.hasMoved) { this._target.onDragEnd(b.start.x, b.start.y, b.current.x, b.current.y, b.delta.x, b.delta.y); } else { this._target.onClick(b.current.x, b.current.y); } this._dragInfo = null; this._wheelDisabled = !0; setTimeout(function() { a._wheelDisabled = !1; }, 500); }; b.prototype._onMouseOver = function(b) { b.target.addEventListener("mousemove", this._boundOnMouseMove, !1); if (!this._dragInfo) { var a = this._getTargetMousePos(b, b.target); this._target.onMouseOver(a.x, a.y); this._startHoverCheck(b); } }; b.prototype._onMouseOut = function(b) { b.target.removeEventListener("mousemove", this._boundOnMouseMove, !1); if (!this._dragInfo) { this._target.onMouseOut(); } this._killHoverCheck(); }; b.prototype._onMouseMove = function(b) { if (!this._dragInfo) { var a = this._getTargetMousePos(b, b.target); this._target.onMouseMove(a.x, a.y); this._killHoverCheck(); this._startHoverCheck(b); } }; b.prototype._onMouseWheel = function(b) { if (!(b.altKey || b.metaKey || b.ctrlKey || b.shiftKey || (b.preventDefault(), this._dragInfo || this._wheelDisabled))) { var a = this._getTargetMousePos(b, b.target); b = f("undefined" !== typeof b.deltaY ? b.deltaY / 16 : -b.wheelDelta / 40, -1, 1); this._target.onMouseWheel(a.x, a.y, Math.pow(1.2, b) - 1); } }; b.prototype._startHoverCheck = function(d) { this._hoverInfo = {isHovering:!1, timeoutHandle:setTimeout(this._onMouseMoveIdleHandler.bind(this), b.HOVER_TIMEOUT), pos:this._getTargetMousePos(d, d.target)}; }; b.prototype._killHoverCheck = function() { if (this._hoverInfo) { clearTimeout(this._hoverInfo.timeoutHandle); if (this._hoverInfo.isHovering) { this._target.onHoverEnd(); } this._hoverInfo = null; } }; b.prototype._onMouseMoveIdleHandler = function() { var b = this._hoverInfo; b.isHovering = !0; this._target.onHoverStart(b.pos.x, b.pos.y); }; b.prototype._getTargetMousePos = function(b, a) { var c = a.getBoundingClientRect(); return{x:b.clientX - c.left, y:b.clientY - c.top}; }; b.HOVER_TIMEOUT = 500; b._cursor = k.DEFAULT; return b; }(); g.MouseController = s; })(k.Profiler || (k.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(b) { b[b.NONE = 0] = "NONE"; b[b.WINDOW = 1] = "WINDOW"; b[b.HANDLE_LEFT = 2] = "HANDLE_LEFT"; b[b.HANDLE_RIGHT = 3] = "HANDLE_RIGHT"; b[b.HANDLE_BOTH = 4] = "HANDLE_BOTH"; })(b.FlameChartDragTarget || (b.FlameChartDragTarget = {})); var f = function() { function f(s) { this._controller = s; this._initialized = !1; this._canvas = document.createElement("canvas"); this._context = this._canvas.getContext("2d"); this._mouseController = new b.MouseController(this, this._canvas); s = s.container; s.appendChild(this._canvas); s = s.getBoundingClientRect(); this.setSize(s.width); } Object.defineProperty(f.prototype, "canvas", {get:function() { return this._canvas; }, enumerable:!0, configurable:!0}); f.prototype.setSize = function(b, f) { "undefined" === typeof f && (f = 20); this._width = b; this._height = f; this._resetCanvas(); this.draw(); }; f.prototype.initialize = function(b, f) { this._initialized = !0; this.setRange(b, f); this.setWindow(b, f, !1); this.draw(); }; f.prototype.setWindow = function(b, f, d) { "undefined" === typeof d && (d = !0); this._windowStart = b; this._windowEnd = f; !d || this.draw(); }; f.prototype.setRange = function(b, f) { var d = !1; "undefined" === typeof d && (d = !0); this._rangeStart = b; this._rangeEnd = f; !d || this.draw(); }; f.prototype.destroy = function() { this._mouseController.destroy(); this._mouseController = null; this._controller.container.removeChild(this._canvas); this._controller = null; }; f.prototype._resetCanvas = function() { var b = window.devicePixelRatio, f = this._canvas; f.width = this._width * b; f.height = this._height * b; f.style.width = this._width + "px"; f.style.height = this._height + "px"; }; f.prototype.draw = function() { }; f.prototype._almostEq = function(b, f) { var d; "undefined" === typeof d && (d = 10); return Math.abs(b - f) < 1 / Math.pow(10, d); }; f.prototype._windowEqRange = function() { return this._almostEq(this._windowStart, this._rangeStart) && this._almostEq(this._windowEnd, this._rangeEnd); }; f.prototype._decimalPlaces = function(b) { return(+b).toFixed(10).replace(/^-?\d*\.?|0+$/g, "").length; }; f.prototype._toPixelsRelative = function(b) { return 0; }; f.prototype._toPixels = function(b) { return 0; }; f.prototype._toTimeRelative = function(b) { return 0; }; f.prototype._toTime = function(b) { return 0; }; f.prototype.onMouseWheel = function(b, m, d) { b = this._toTime(b); m = this._windowStart; var a = this._windowEnd, c = a - m; d = Math.max((f.MIN_WINDOW_LEN - c) / c, d); this._controller.setWindow(m + (m - b) * d, a + (a - b) * d); this.onHoverEnd(); }; f.prototype.onMouseDown = function(b, f) { }; f.prototype.onMouseMove = function(b, f) { }; f.prototype.onMouseOver = function(b, f) { }; f.prototype.onMouseOut = function() { }; f.prototype.onDrag = function(b, f, d, a, c, n) { }; f.prototype.onDragEnd = function(b, f, d, a, c, n) { }; f.prototype.onClick = function(b, f) { }; f.prototype.onHoverStart = function(b, f) { }; f.prototype.onHoverEnd = function() { }; f.DRAGHANDLE_WIDTH = 4; f.MIN_WINDOW_LEN = .1; return f; }(); b.FlameChartBase = f; })(b.Profiler || (b.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.StringUtilities.trimMiddle, k = b.ObjectUtilities.createEmptyObject, s = function(m) { function d(a, b) { m.call(this, a); this._textWidth = {}; this._minFrameWidthInPixels = 1; this._snapshot = b; this._kindStyle = k(); } __extends(d, m); d.prototype.setSize = function(a, b) { m.prototype.setSize.call(this, a, b || this._initialized ? 12.5 * this._maxDepth : 100); }; d.prototype.initialize = function(a, b) { this._initialized = !0; this._maxDepth = this._snapshot.maxDepth; this.setRange(a, b); this.setWindow(a, b, !1); this.setSize(this._width, 12.5 * this._maxDepth); }; d.prototype.destroy = function() { m.prototype.destroy.call(this); this._snapshot = null; }; d.prototype.draw = function() { var a = this._context, c = window.devicePixelRatio; b.ColorStyle.reset(); a.save(); a.scale(c, c); a.fillStyle = this._controller.theme.bodyBackground(1); a.fillRect(0, 0, this._width, this._height); this._initialized && this._drawChildren(this._snapshot); a.restore(); }; d.prototype._drawChildren = function(a, b) { "undefined" === typeof b && (b = 0); var d = a.getChildRange(this._windowStart, this._windowEnd); if (d) { for (var p = d.startIndex;p <= d.endIndex;p++) { var e = a.children[p]; this._drawFrame(e, b) && this._drawChildren(e, b + 1); } } }; d.prototype._drawFrame = function(a, c) { var d = this._context, p = this._toPixels(a.startTime), e = this._toPixels(a.endTime), q = e - p; if (q <= this._minFrameWidthInPixels) { return d.fillStyle = this._controller.theme.tabToolbar(1), d.fillRect(p, 12.5 * c, this._minFrameWidthInPixels, 12 + 12.5 * (a.maxDepth - a.depth)), !1; } 0 > p && (e = q + p, p = 0); var e = e - p, l = this._kindStyle[a.kind.id]; l || (l = b.ColorStyle.randomStyle(), l = this._kindStyle[a.kind.id] = {bgColor:l, textColor:b.ColorStyle.contrastStyle(l)}); d.save(); d.fillStyle = l.bgColor; d.fillRect(p, 12.5 * c, e, 12); 12 < q && (q = a.kind.name) && q.length && (q = this._prepareText(d, q, e - 4), q.length && (d.fillStyle = l.textColor, d.textBaseline = "bottom", d.fillText(q, p + 2, 12.5 * (c + 1) - 1))); d.restore(); return!0; }; d.prototype._prepareText = function(a, b, d) { var p = this._measureWidth(a, b); if (d > p) { return b; } for (var p = 3, e = b.length;p < e;) { var q = p + e >> 1; this._measureWidth(a, f(b, q)) < d ? p = q + 1 : e = q; } b = f(b, e - 1); p = this._measureWidth(a, b); return p <= d ? b : ""; }; d.prototype._measureWidth = function(a, b) { var d = this._textWidth[b]; d || (d = a.measureText(b).width, this._textWidth[b] = d); return d; }; d.prototype._toPixelsRelative = function(a) { return a * this._width / (this._windowEnd - this._windowStart); }; d.prototype._toPixels = function(a) { return this._toPixelsRelative(a - this._windowStart); }; d.prototype._toTimeRelative = function(a) { return a * (this._windowEnd - this._windowStart) / this._width; }; d.prototype._toTime = function(a) { return this._toTimeRelative(a) + this._windowStart; }; d.prototype._getFrameAtPosition = function(a, b) { var d = 1 + b / 12.5 | 0, p = this._snapshot.query(this._toTime(a)); if (p && p.depth >= d) { for (;p && p.depth > d;) { p = p.parent; } return p; } return null; }; d.prototype.onMouseDown = function(a, b) { this._windowEqRange() || (this._mouseController.updateCursor(g.MouseCursor.ALL_SCROLL), this._dragInfo = {windowStartInitial:this._windowStart, windowEndInitial:this._windowEnd, target:1}); }; d.prototype.onMouseMove = function(a, b) { }; d.prototype.onMouseOver = function(a, b) { }; d.prototype.onMouseOut = function() { }; d.prototype.onDrag = function(a, b, d, p, e, q) { if (a = this._dragInfo) { e = this._toTimeRelative(-e), this._controller.setWindow(a.windowStartInitial + e, a.windowEndInitial + e); } }; d.prototype.onDragEnd = function(a, b, d, p, e, q) { this._dragInfo = null; this._mouseController.updateCursor(g.MouseCursor.DEFAULT); }; d.prototype.onClick = function(a, b) { this._dragInfo = null; this._mouseController.updateCursor(g.MouseCursor.DEFAULT); }; d.prototype.onHoverStart = function(a, b) { var d = this._getFrameAtPosition(a, b); d && (this._hoveredFrame = d, this._controller.showTooltip(this, d, a, b)); }; d.prototype.onHoverEnd = function() { this._hoveredFrame && (this._hoveredFrame = null, this._controller.hideTooltip()); }; d.prototype.getStatistics = function(a) { var b = this._snapshot; b.statistics || b.calculateStatistics(); return b.statistics[a.id]; }; return d; }(g.FlameChartBase); g.FlameChart = s; })(k.Profiler || (k.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.NumberUtilities.clamp; (function(b) { b[b.OVERLAY = 0] = "OVERLAY"; b[b.STACK = 1] = "STACK"; b[b.UNION = 2] = "UNION"; })(g.FlameChartOverviewMode || (g.FlameChartOverviewMode = {})); var k = function(b) { function m(d, a) { "undefined" === typeof a && (a = 1); this._mode = a; this._overviewCanvasDirty = !0; this._overviewCanvas = document.createElement("canvas"); this._overviewContext = this._overviewCanvas.getContext("2d"); b.call(this, d); } __extends(m, b); m.prototype.setSize = function(d, a) { b.prototype.setSize.call(this, d, a || 64); }; Object.defineProperty(m.prototype, "mode", {set:function(b) { this._mode = b; this.draw(); }, enumerable:!0, configurable:!0}); m.prototype._resetCanvas = function() { b.prototype._resetCanvas.call(this); this._overviewCanvas.width = this._canvas.width; this._overviewCanvas.height = this._canvas.height; this._overviewCanvasDirty = !0; }; m.prototype.draw = function() { var b = this._context, a = window.devicePixelRatio, c = this._width, n = this._height; b.save(); b.scale(a, a); b.fillStyle = this._controller.theme.bodyBackground(1); b.fillRect(0, 0, c, n); b.restore(); this._initialized && (this._overviewCanvasDirty && (this._drawChart(), this._overviewCanvasDirty = !1), b.drawImage(this._overviewCanvas, 0, 0), this._drawSelection()); }; m.prototype._drawSelection = function() { var b = this._context, a = this._height, c = window.devicePixelRatio, n = this._selection ? this._selection.left : this._toPixels(this._windowStart), p = this._selection ? this._selection.right : this._toPixels(this._windowEnd), e = this._controller.theme; b.save(); b.scale(c, c); this._selection ? (b.fillStyle = e.selectionText(.15), b.fillRect(n, 1, p - n, a - 1), b.fillStyle = "rgba(133, 0, 0, 1)", b.fillRect(n + .5, 0, p - n - 1, 4), b.fillRect(n + .5, a - 4, p - n - 1, 4)) : (b.fillStyle = e.bodyBackground(.4), b.fillRect(0, 1, n, a - 1), b.fillRect(p, 1, this._width, a - 1)); b.beginPath(); b.moveTo(n, 0); b.lineTo(n, a); b.moveTo(p, 0); b.lineTo(p, a); b.lineWidth = .5; b.strokeStyle = e.foregroundTextGrey(1); b.stroke(); a = Math.abs((this._selection ? this._toTime(this._selection.right) : this._windowEnd) - (this._selection ? this._toTime(this._selection.left) : this._windowStart)); b.fillStyle = e.selectionText(.5); b.font = "8px sans-serif"; b.textBaseline = "alphabetic"; b.textAlign = "end"; b.fillText(a.toFixed(2), Math.min(n, p) - 4, 10); b.fillText((a / 60).toFixed(2), Math.min(n, p) - 4, 20); b.restore(); }; m.prototype._drawChart = function() { var b = window.devicePixelRatio, a = this._height, c = this._controller.activeProfile, n = 4 * this._width, p = c.totalTime / n, e = this._overviewContext, q = this._controller.theme.blueHighlight(1); e.save(); e.translate(0, b * a); var l = -b * a / (c.maxDepth - 1); e.scale(b / 4, l); e.clearRect(0, 0, n, c.maxDepth - 1); 1 == this._mode && e.scale(1, 1 / c.snapshotCount); for (var f = 0, w = c.snapshotCount;f < w;f++) { var r = c.getSnapshotAt(f); if (r) { var h = null, x = 0; e.beginPath(); e.moveTo(0, 0); for (var y = 0;y < n;y++) { x = c.startTime + y * p, x = (h = h ? h.queryNext(x) : r.query(x)) ? h.getDepth() - 1 : 0, e.lineTo(y, x); } e.lineTo(y, 0); e.fillStyle = q; e.fill(); 1 == this._mode && e.translate(0, -a * b / l); } } e.restore(); }; m.prototype._toPixelsRelative = function(b) { return b * this._width / (this._rangeEnd - this._rangeStart); }; m.prototype._toPixels = function(b) { return this._toPixelsRelative(b - this._rangeStart); }; m.prototype._toTimeRelative = function(b) { return b * (this._rangeEnd - this._rangeStart) / this._width; }; m.prototype._toTime = function(b) { return this._toTimeRelative(b) + this._rangeStart; }; m.prototype._getDragTargetUnderCursor = function(b, a) { if (0 <= a && a < this._height) { var c = this._toPixels(this._windowStart), n = this._toPixels(this._windowEnd), p = 2 + g.FlameChartBase.DRAGHANDLE_WIDTH / 2, e = b >= c - p && b <= c + p, q = b >= n - p && b <= n + p; if (e && q) { return 4; } if (e) { return 2; } if (q) { return 3; } if (!this._windowEqRange() && b > c + p && b < n - p) { return 1; } } return 0; }; m.prototype.onMouseDown = function(b, a) { var c = this._getDragTargetUnderCursor(b, a); 0 === c ? (this._selection = {left:b, right:b}, this.draw()) : (1 === c && this._mouseController.updateCursor(g.MouseCursor.GRABBING), this._dragInfo = {windowStartInitial:this._windowStart, windowEndInitial:this._windowEnd, target:c}); }; m.prototype.onMouseMove = function(b, a) { var c = g.MouseCursor.DEFAULT, n = this._getDragTargetUnderCursor(b, a); 0 === n || this._selection || (c = 1 === n ? g.MouseCursor.GRAB : g.MouseCursor.EW_RESIZE); this._mouseController.updateCursor(c); }; m.prototype.onMouseOver = function(b, a) { this.onMouseMove(b, a); }; m.prototype.onMouseOut = function() { this._mouseController.updateCursor(g.MouseCursor.DEFAULT); }; m.prototype.onDrag = function(b, a, c, n, p, e) { if (this._selection) { this._selection = {left:b, right:f(c, 0, this._width - 1)}, this.draw(); } else { b = this._dragInfo; if (4 === b.target) { if (0 !== p) { b.target = 0 > p ? 2 : 3; } else { return; } } a = this._windowStart; c = this._windowEnd; p = this._toTimeRelative(p); switch(b.target) { case 1: a = b.windowStartInitial + p; c = b.windowEndInitial + p; break; case 2: a = f(b.windowStartInitial + p, this._rangeStart, c - g.FlameChartBase.MIN_WINDOW_LEN); break; case 3: c = f(b.windowEndInitial + p, a + g.FlameChartBase.MIN_WINDOW_LEN, this._rangeEnd); break; default: return; } this._controller.setWindow(a, c); } }; m.prototype.onDragEnd = function(b, a, c, n, p, e) { this._selection && (this._selection = null, this._controller.setWindow(this._toTime(b), this._toTime(c))); this._dragInfo = null; this.onMouseMove(c, n); }; m.prototype.onClick = function(b, a) { this._selection = this._dragInfo = null; this._windowEqRange() || (0 === this._getDragTargetUnderCursor(b, a) && this._controller.moveWindowTo(this._toTime(b)), this.onMouseMove(b, a)); this.draw(); }; m.prototype.onHoverStart = function(b, a) { }; m.prototype.onHoverEnd = function() { }; return m; }(g.FlameChartBase); g.FlameChartOverview = k; })(k.Profiler || (k.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.NumberUtilities.clamp; (function(b) { b[b.OVERVIEW = 0] = "OVERVIEW"; b[b.CHART = 1] = "CHART"; })(g.FlameChartHeaderType || (g.FlameChartHeaderType = {})); var k = function(b) { function m(d, a) { this._type = a; b.call(this, d); } __extends(m, b); m.prototype.draw = function() { var b = this._context, a = window.devicePixelRatio, c = this._width, n = this._height; b.save(); b.scale(a, a); b.fillStyle = this._controller.theme.tabToolbar(1); b.fillRect(0, 0, c, n); this._initialized && (0 == this._type ? (a = this._toPixels(this._windowStart), c = this._toPixels(this._windowEnd), b.fillStyle = this._controller.theme.bodyBackground(1), b.fillRect(a, 0, c - a, n), this._drawLabels(this._rangeStart, this._rangeEnd), this._drawDragHandle(a), this._drawDragHandle(c)) : this._drawLabels(this._windowStart, this._windowEnd)); b.restore(); }; m.prototype._drawLabels = function(b, a) { var c = this._context, n = this._calculateTickInterval(b, a), p = Math.ceil(b / n) * n, e = 500 <= n, q = e ? 1E3 : 1, l = this._decimalPlaces(n / q), e = e ? "s" : "ms", f = this._toPixels(p), w = this._height / 2, r = this._controller.theme; c.lineWidth = 1; c.strokeStyle = r.contentTextDarkGrey(.5); c.fillStyle = r.contentTextDarkGrey(1); c.textAlign = "right"; c.textBaseline = "middle"; c.font = "11px sans-serif"; for (r = this._width + m.TICK_MAX_WIDTH;f < r;) { c.fillText((p / q).toFixed(l) + " " + e, f - 7, w + 1), c.beginPath(), c.moveTo(f, 0), c.lineTo(f, this._height + 1), c.closePath(), c.stroke(), p += n, f = this._toPixels(p); } }; m.prototype._calculateTickInterval = function(b, a) { var c = (a - b) / (this._width / m.TICK_MAX_WIDTH), n = Math.pow(10, Math.floor(Math.log(c) / Math.LN10)), c = c / n; return 5 < c ? 10 * n : 2 < c ? 5 * n : 1 < c ? 2 * n : n; }; m.prototype._drawDragHandle = function(b) { var a = this._context; a.lineWidth = 2; a.strokeStyle = this._controller.theme.bodyBackground(1); a.fillStyle = this._controller.theme.foregroundTextGrey(.7); this._drawRoundedRect(a, b - g.FlameChartBase.DRAGHANDLE_WIDTH / 2, g.FlameChartBase.DRAGHANDLE_WIDTH, this._height - 2); }; m.prototype._drawRoundedRect = function(b, a, c, n) { var p, e = !0; "undefined" === typeof e && (e = !0); "undefined" === typeof p && (p = !0); b.beginPath(); b.moveTo(a + 2, 1); b.lineTo(a + c - 2, 1); b.quadraticCurveTo(a + c, 1, a + c, 3); b.lineTo(a + c, 1 + n - 2); b.quadraticCurveTo(a + c, 1 + n, a + c - 2, 1 + n); b.lineTo(a + 2, 1 + n); b.quadraticCurveTo(a, 1 + n, a, 1 + n - 2); b.lineTo(a, 3); b.quadraticCurveTo(a, 1, a + 2, 1); b.closePath(); e && b.stroke(); p && b.fill(); }; m.prototype._toPixelsRelative = function(b) { return b * this._width / (0 === this._type ? this._rangeEnd - this._rangeStart : this._windowEnd - this._windowStart); }; m.prototype._toPixels = function(b) { return this._toPixelsRelative(b - (0 === this._type ? this._rangeStart : this._windowStart)); }; m.prototype._toTimeRelative = function(b) { return b * (0 === this._type ? this._rangeEnd - this._rangeStart : this._windowEnd - this._windowStart) / this._width; }; m.prototype._toTime = function(b) { return this._toTimeRelative(b) + (0 === this._type ? this._rangeStart : this._windowStart); }; m.prototype._getDragTargetUnderCursor = function(b, a) { if (0 <= a && a < this._height) { if (0 === this._type) { var c = this._toPixels(this._windowStart), n = this._toPixels(this._windowEnd), p = 2 + g.FlameChartBase.DRAGHANDLE_WIDTH / 2, c = b >= c - p && b <= c + p, n = b >= n - p && b <= n + p; if (c && n) { return 4; } if (c) { return 2; } if (n) { return 3; } } if (!this._windowEqRange()) { return 1; } } return 0; }; m.prototype.onMouseDown = function(b, a) { var c = this._getDragTargetUnderCursor(b, a); 1 === c && this._mouseController.updateCursor(g.MouseCursor.GRABBING); this._dragInfo = {windowStartInitial:this._windowStart, windowEndInitial:this._windowEnd, target:c}; }; m.prototype.onMouseMove = function(b, a) { var c = g.MouseCursor.DEFAULT, n = this._getDragTargetUnderCursor(b, a); 0 !== n && (1 !== n ? c = g.MouseCursor.EW_RESIZE : 1 !== n || this._windowEqRange() || (c = g.MouseCursor.GRAB)); this._mouseController.updateCursor(c); }; m.prototype.onMouseOver = function(b, a) { this.onMouseMove(b, a); }; m.prototype.onMouseOut = function() { this._mouseController.updateCursor(g.MouseCursor.DEFAULT); }; m.prototype.onDrag = function(b, a, c, n, p, e) { b = this._dragInfo; if (4 === b.target) { if (0 !== p) { b.target = 0 > p ? 2 : 3; } else { return; } } a = this._windowStart; c = this._windowEnd; p = this._toTimeRelative(p); switch(b.target) { case 1: c = 0 === this._type ? 1 : -1; a = b.windowStartInitial + c * p; c = b.windowEndInitial + c * p; break; case 2: a = f(b.windowStartInitial + p, this._rangeStart, c - g.FlameChartBase.MIN_WINDOW_LEN); break; case 3: c = f(b.windowEndInitial + p, a + g.FlameChartBase.MIN_WINDOW_LEN, this._rangeEnd); break; default: return; } this._controller.setWindow(a, c); }; m.prototype.onDragEnd = function(b, a, c, n, p, e) { this._dragInfo = null; this.onMouseMove(c, n); }; m.prototype.onClick = function(b, a) { 1 === this._dragInfo.target && this._mouseController.updateCursor(g.MouseCursor.GRAB); }; m.prototype.onHoverStart = function(b, a) { }; m.prototype.onHoverEnd = function() { }; m.TICK_MAX_WIDTH = 75; return m; }(g.FlameChartBase); g.FlameChartHeader = k; })(k.Profiler || (k.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(b) { var g = function() { function b(d, a, c, n, p) { this.pageLoaded = d; this.threadsTotal = a; this.threadsLoaded = c; this.threadFilesTotal = n; this.threadFilesLoaded = p; } b.prototype.toString = function() { return "[" + ["pageLoaded", "threadsTotal", "threadsLoaded", "threadFilesTotal", "threadFilesLoaded"].map(function(b, a, c) { return b + ":" + this[b]; }, this).join(", ") + "]"; }; return b; }(); b.TraceLoggerProgressInfo = g; var k = function() { function m(b) { this._baseUrl = b; this._threads = []; this._progressInfo = null; } m.prototype.loadPage = function(b, a, c) { this._threads = []; this._pageLoadCallback = a; this._pageLoadProgressCallback = c; this._progressInfo = new g(!1, 0, 0, 0, 0); this._loadData([b], this._onLoadPage.bind(this)); }; Object.defineProperty(m.prototype, "buffers", {get:function() { for (var b = [], a = 0, c = this._threads.length;a < c;a++) { b.push(this._threads[a].buffer); } return b; }, enumerable:!0, configurable:!0}); m.prototype._onProgress = function() { this._pageLoadProgressCallback && this._pageLoadProgressCallback.call(this, this._progressInfo); }; m.prototype._onLoadPage = function(d) { if (d && 1 == d.length) { var a = this, c = 0; d = d[0]; var n = d.length; this._threads = Array(n); this._progressInfo.pageLoaded = !0; this._progressInfo.threadsTotal = n; for (var p = 0;p < d.length;p++) { var e = d[p], q = [e.dict, e.tree]; e.corrections && q.push(e.corrections); this._progressInfo.threadFilesTotal += q.length; this._loadData(q, function(e) { return function(d) { d && (d = new b.Thread(d), d.buffer.name = "Thread " + e, a._threads[e] = d); c++; a._progressInfo.threadsLoaded++; a._onProgress(); c === n && a._pageLoadCallback.call(a, null, a._threads); }; }(p), function(b) { a._progressInfo.threadFilesLoaded++; a._onProgress(); }); } this._onProgress(); } else { this._pageLoadCallback.call(this, "Error loading page.", null); } }; m.prototype._loadData = function(b, a, c) { var n = 0, p = 0, e = b.length, q = []; q.length = e; for (var l = 0;l < e;l++) { var f = this._baseUrl + b[l], w = new XMLHttpRequest, r = /\.tl$/i.test(f) ? "arraybuffer" : "json"; w.open("GET", f, !0); w.responseType = r; w.onload = function(b, l) { return function(d) { if ("json" === l) { if (d = this.response, "string" === typeof d) { try { d = JSON.parse(d), q[b] = d; } catch (r) { p++; } } else { q[b] = d; } } else { q[b] = this.response; } ++n; c && c(n); n === e && a(q); }; }(l, r); w.send(); } }; m.colors = "#0044ff #8c4b00 #cc5c33 #ff80c4 #ffbfd9 #ff8800 #8c5e00 #adcc33 #b380ff #bfd9ff #ffaa00 #8c0038 #bf8f30 #f780ff #cc99c9 #aaff00 #000073 #452699 #cc8166 #cca799 #000066 #992626 #cc6666 #ccc299 #ff6600 #526600 #992663 #cc6681 #99ccc2 #ff0066 #520066 #269973 #61994d #739699 #ffcc00 #006629 #269199 #94994d #738299 #ff0000 #590000 #234d8c #8c6246 #7d7399 #ee00ff #00474d #8c2385 #8c7546 #7c8c69 #eeff00 #4d003d #662e1a #62468c #8c6969 #6600ff #4c2900 #1a6657 #8c464f #8c6981 #44ff00 #401100 #1a2466 #663355 #567365 #d90074 #403300 #101d40 #59562d #66614d #cc0000 #002b40 #234010 #4c2626 #4d5e66 #00a3cc #400011 #231040 #4c3626 #464359 #0000bf #331b00 #80e6ff #311a33 #4d3939 #a69b00 #003329 #80ffb2 #331a20 #40303d #00a658 #40ffd9 #ffc480 #ffe1bf #332b26 #8c2500 #9933cc #80fff6 #ffbfbf #303326 #005e8c #33cc47 #b2ff80 #c8bfff #263332 #00708c #cc33ad #ffe680 #f2ffbf #262a33 #388c00 #335ccc #8091ff #bfffd9".split(" "); return m; }(); b.TraceLogger = k; })(b.TraceLogger || (b.TraceLogger = {})); })(b.Profiler || (b.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { var k; (function(b) { b[b.START_HI = 0] = "START_HI"; b[b.START_LO = 4] = "START_LO"; b[b.STOP_HI = 8] = "STOP_HI"; b[b.STOP_LO = 12] = "STOP_LO"; b[b.TEXTID = 16] = "TEXTID"; b[b.NEXTID = 20] = "NEXTID"; })(k || (k = {})); k = function() { function f(m) { 2 <= m.length && (this._text = m[0], this._data = new DataView(m[1]), this._buffer = new b.TimelineBuffer, this._walkTree(0)); } Object.defineProperty(f.prototype, "buffer", {get:function() { return this._buffer; }, enumerable:!0, configurable:!0}); f.prototype._walkTree = function(b) { var d = this._data, a = this._buffer; do { var c = b * f.ITEM_SIZE, n = 4294967295 * d.getUint32(c + 0) + d.getUint32(c + 4), p = 4294967295 * d.getUint32(c + 8) + d.getUint32(c + 12), e = d.getUint32(c + 16), c = d.getUint32(c + 20), q = 1 === (e & 1), e = e >>> 1, e = this._text[e]; a.enter(e, null, n / 1E6); q && this._walkTree(b + 1); a.leave(e, null, p / 1E6); b = c; } while (0 !== b); }; f.ITEM_SIZE = 24; return f; }(); f.Thread = k; })(b.TraceLogger || (b.TraceLogger = {})); })(b.Profiler || (b.Profiler = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.NumberUtilities.clamp, k = function() { function b() { this.length = 0; this.lines = []; this.format = []; this.time = []; this.repeat = []; this.length = 0; } b.prototype.append = function(b, a) { var c = this.lines; 0 < c.length && c[c.length - 1] === b ? this.repeat[c.length - 1]++ : (this.lines.push(b), this.repeat.push(1), this.format.push(a ? {backgroundFillStyle:a} : void 0), this.time.push(performance.now()), this.length++); }; b.prototype.get = function(b) { return this.lines[b]; }; b.prototype.getFormat = function(b) { return this.format[b]; }; b.prototype.getTime = function(b) { return this.time[b]; }; b.prototype.getRepeat = function(b) { return this.repeat[b]; }; return b; }(); g.Buffer = k; var s = function() { function b(d) { this.lineColor = "#2A2A2A"; this.alternateLineColor = "#262626"; this.textColor = "#FFFFFF"; this.selectionColor = "#96C9F3"; this.selectionTextColor = "#000000"; this.ratio = 1; this.showLineNumbers = !0; this.showLineCounter = this.showLineTime = !1; this.canvas = d; this.canvas.focus(); this.context = d.getContext("2d", {original:!0}); this.context.fillStyle = "#FFFFFF"; this.fontSize = 10; this.columnIndex = this.pageIndex = this.lineIndex = 0; this.selection = null; this.lineHeight = 15; this.hasFocus = !1; window.addEventListener("resize", this._resizeHandler.bind(this), !1); this._resizeHandler(); this.textMarginBottom = this.textMarginLeft = 4; this.refreshFrequency = 0; this.buffer = new k; d.addEventListener("keydown", function(b) { var d = 0; switch(b.keyCode) { case h: this.showLineNumbers = !this.showLineNumbers; break; case x: this.showLineTime = !this.showLineTime; break; case e: d = -1; break; case q: d = 1; break; case a: d = -this.pageLineCount; break; case c: d = this.pageLineCount; break; case n: d = -this.lineIndex; break; case p: d = this.buffer.length - this.lineIndex; break; case l: this.columnIndex -= b.metaKey ? 10 : 1; 0 > this.columnIndex && (this.columnIndex = 0); b.preventDefault(); break; case f: this.columnIndex += b.metaKey ? 10 : 1; b.preventDefault(); break; case w: b.metaKey && (this.selection = {start:0, end:this.buffer.length}, b.preventDefault()); break; case r: if (b.metaKey) { var g = ""; if (this.selection) { for (var m = this.selection.start;m <= this.selection.end;m++) { g += this.buffer.get(m) + "\n"; } } else { g = this.buffer.get(this.lineIndex); } alert(g); } ; } b.metaKey && (d *= this.pageLineCount); d && (this.scroll(d), b.preventDefault()); d && b.shiftKey ? this.selection ? this.lineIndex > this.selection.start ? this.selection.end = this.lineIndex : this.selection.start = this.lineIndex : 0 < d ? this.selection = {start:this.lineIndex - d, end:this.lineIndex} : 0 > d && (this.selection = {start:this.lineIndex, end:this.lineIndex - d}) : d && (this.selection = null); this.paint(); }.bind(this), !1); d.addEventListener("focus", function(a) { this.hasFocus = !0; }.bind(this), !1); d.addEventListener("blur", function(a) { this.hasFocus = !1; }.bind(this), !1); var a = 33, c = 34, n = 36, p = 35, e = 38, q = 40, l = 37, f = 39, w = 65, r = 67, h = 78, x = 84; } b.prototype.resize = function() { this._resizeHandler(); }; b.prototype._resizeHandler = function() { var b = this.canvas.parentElement, a = b.clientWidth, b = b.clientHeight - 1, c = window.devicePixelRatio || 1; 1 !== c ? (this.ratio = c / 1, this.canvas.width = a * this.ratio, this.canvas.height = b * this.ratio, this.canvas.style.width = a + "px", this.canvas.style.height = b + "px") : (this.ratio = 1, this.canvas.width = a, this.canvas.height = b); this.pageLineCount = Math.floor(this.canvas.height / this.lineHeight); }; b.prototype.gotoLine = function(b) { this.lineIndex = f(b, 0, this.buffer.length - 1); }; b.prototype.scrollIntoView = function() { this.lineIndex < this.pageIndex ? this.pageIndex = this.lineIndex : this.lineIndex >= this.pageIndex + this.pageLineCount && (this.pageIndex = this.lineIndex - this.pageLineCount + 1); }; b.prototype.scroll = function(b) { this.gotoLine(this.lineIndex + b); this.scrollIntoView(); }; b.prototype.paint = function() { var b = this.pageLineCount; this.pageIndex + b > this.buffer.length && (b = this.buffer.length - this.pageIndex); var a = this.textMarginLeft, c = a + (this.showLineNumbers ? 5 * (String(this.buffer.length).length + 2) : 0), n = c + (this.showLineTime ? 40 : 10), p = n + 25; this.context.font = this.fontSize + 'px Consolas, "Liberation Mono", Courier, monospace'; this.context.setTransform(this.ratio, 0, 0, this.ratio, 0, 0); for (var e = this.canvas.width, q = this.lineHeight, l = 0;l < b;l++) { var f = l * this.lineHeight, w = this.pageIndex + l, r = this.buffer.get(w), h = this.buffer.getFormat(w), x = this.buffer.getRepeat(w), y = 1 < w ? this.buffer.getTime(w) - this.buffer.getTime(0) : 0; this.context.fillStyle = w % 2 ? this.lineColor : this.alternateLineColor; h && h.backgroundFillStyle && (this.context.fillStyle = h.backgroundFillStyle); this.context.fillRect(0, f, e, q); this.context.fillStyle = this.selectionTextColor; this.context.fillStyle = this.textColor; this.selection && w >= this.selection.start && w <= this.selection.end && (this.context.fillStyle = this.selectionColor, this.context.fillRect(0, f, e, q), this.context.fillStyle = this.selectionTextColor); this.hasFocus && w === this.lineIndex && (this.context.fillStyle = this.selectionColor, this.context.fillRect(0, f, e, q), this.context.fillStyle = this.selectionTextColor); 0 < this.columnIndex && (r = r.substring(this.columnIndex)); f = (l + 1) * this.lineHeight - this.textMarginBottom; this.showLineNumbers && this.context.fillText(String(w), a, f); this.showLineTime && this.context.fillText(y.toFixed(1).padLeft(" ", 6), c, f); 1 < x && this.context.fillText(String(x).padLeft(" ", 3), n, f); this.context.fillText(r, p, f); } }; b.prototype.refreshEvery = function(b) { function a() { c.paint(); c.refreshFrequency && setTimeout(a, c.refreshFrequency); } var c = this; this.refreshFrequency = b; c.refreshFrequency && setTimeout(a, c.refreshFrequency); }; b.prototype.isScrolledToBottom = function() { return this.lineIndex === this.buffer.length - 1; }; return b; }(); g.Terminal = s; })(k.Terminal || (k.Terminal = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { var f = function() { function b(f) { this._lastWeightedTime = this._lastTime = this._index = 0; this._gradient = "#FF0000 #FF1100 #FF2300 #FF3400 #FF4600 #FF5700 #FF6900 #FF7B00 #FF8C00 #FF9E00 #FFAF00 #FFC100 #FFD300 #FFE400 #FFF600 #F7FF00 #E5FF00 #D4FF00 #C2FF00 #B0FF00 #9FFF00 #8DFF00 #7CFF00 #6AFF00 #58FF00 #47FF00 #35FF00 #24FF00 #12FF00 #00FF00".split(" "); this._canvas = f; this._context = f.getContext("2d"); window.addEventListener("resize", this._resizeHandler.bind(this), !1); this._resizeHandler(); } b.prototype._resizeHandler = function() { var b = this._canvas.parentElement, f = b.clientWidth, b = b.clientHeight - 1, d = window.devicePixelRatio || 1; 1 !== d ? (this._ratio = d / 1, this._canvas.width = f * this._ratio, this._canvas.height = b * this._ratio, this._canvas.style.width = f + "px", this._canvas.style.height = b + "px") : (this._ratio = 1, this._canvas.width = f, this._canvas.height = b); }; b.prototype.tickAndRender = function(b) { "undefined" === typeof b && (b = !1); if (0 === this._lastTime) { this._lastTime = performance.now(); } else { var f = (performance.now() - this._lastTime) * (1 - .9) + .9 * this._lastWeightedTime, d = this._context, a = 2 * this._ratio, c = (this._canvas.width - 20) / (a + 1) | 0, n = this._index++; this._index > c && (this._index = 0); d.globalAlpha = 1; d.fillStyle = "black"; d.fillRect(20 + n * (a + 1), 0, 4 * a, this._canvas.height); c = 1E3 / 60 / f; d.fillStyle = this._gradient[c * (this._gradient.length - 1) | 0]; d.globalAlpha = b ? .5 : 1; d.fillRect(20 + n * (a + 1), 0, a, this._canvas.height * c | 0); 0 === n % 16 && (d.globalAlpha = 1, d.fillStyle = "black", d.fillRect(0, 0, 20, this._canvas.height), d.fillStyle = "white", d.font = "10px Arial", d.fillText((1E3 / f).toFixed(0), 2, 8)); this._lastTime = performance.now(); this._lastWeightedTime = f; } }; return b; }(); b.FPS = f; })(b.Mini || (b.Mini = {})); })(b.Tools || (b.Tools = {})); })(Shumway || (Shumway = {})); console.timeEnd("Load Shared Dependencies"); console.time("Load AVM2 Dependencies"); (function(b) { (function(k) { k.timelineBuffer = new b.Tools.Profiler.TimelineBuffer("AVM2"); k.counter = new b.Metrics.Counter(!0); k.countTimeline = function(b, f) { "undefined" === typeof f && (f = 1); k.timelineBuffer && k.timelineBuffer.count(b, f); }; k.enterTimeline = function(b, f) { }; k.leaveTimeline = function(b) { }; })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { function g(b) { for (var g = 0;g < arguments.length - 1;g++) { } var k = b.message; Array.prototype.slice.call(arguments, 1).forEach(function(b, d) { k = k.replace("%" + (d + 1), b); }); return "Error #" + b.code + ": " + k; } k.Errors = {CallOfNonFunctionError:{code:1006, message:"%1 is not a function."}, ConvertNullToObjectError:{code:1009, message:"Cannot access a property or method of a null object reference."}, ConvertUndefinedToObjectError:{code:1010, message:"A term is undefined and has no properties."}, ClassNotFoundError:{code:1014, message:"Class %1 could not be found."}, CheckTypeFailedError:{code:1034, message:"Type Coercion failed: cannot convert %1 to %2."}, WrongArgumentCountError:{code:1063, message:"Argument count mismatch on %1. Expected %2, got %3."}, XMLMarkupMustBeWellFormed:{code:1088, message:"The markup in the document following the root element must be well-formed."}, OutOfRangeError:{code:1125, message:"The index %1 is out of range %2."}, VectorFixedError:{code:1126, message:"Cannot change the length of a fixed Vector."}, InvalidRangeError:{code:1506, message:"The specified range is invalid."}, NullArgumentError:{code:1507, message:"Argument %1 cannot be null."}, InvalidArgumentError:{code:1508, message:"The value specified for argument %1 is invalid."}, InvalidParamError:{code:2004, message:"One of the parameters is invalid."}, ParamRangeError:{code:2006, message:"The supplied index is out of bounds."}, NullPointerError:{code:2007, message:"Parameter %1 must be non-null."}, InvalidEnumError:{code:2008, message:"Parameter %1 must be one of the accepted values."}, InvalidBitmapData:{code:2015, message:"Invalid BitmapData."}, CompressedDataError:{code:2058, message:"There was an error decompressing the data."}, TooFewArgumentsError:{code:2001, message:"Too few arguments were specified; got %1, %2 expected."}, SocketConnectError:{code:2011, message:"Socket connection failed to %1:%2."}, CantAddSelfError:{code:2024, message:"An object cannot be added as a child of itself."}, NotAChildError:{code:2025, message:"The supplied DisplayObject must be a child of the caller."}, ExternalInterfaceNotAvailableError:{code:2067, message:"The ExternalInterface is not available in this container. ExternalInterface requires Internet Explorer ActiveX, Firefox, Mozilla 1.7.5 and greater, or other browsers that support NPRuntime."}, InvalidStageMethodError:{code:2071, message:"The Stage class does not implement this property or method."}, SceneNotFoundError:{code:2108, message:"Scene %1 was not found."}, FrameLabelNotFoundError:{code:2109, message:"Frame label %1 not found in scene %2."}, CantAddParentError:{code:2150, message:"An object cannot be added as a child to one of it's children (or children's children, etc.)."}, ObjectWithStringsParamError:{code:2196, message:"Parameter %1 must be an Object with only String values."}}; k.getErrorMessage = function(f) { if (!b.AVM2.Runtime.debuggerMode.value) { return "Error #" + f; } for (var g in k.Errors) { if (k.Errors[g].code == f) { return "Error #" + f + ": " + k.Errors[g].message; } } return "Error #" + f + ": (unknown)"; }; k.formatErrorMessage = g; k.translateErrorMessage = function(f) { if (f.type) { switch(f.type) { case "undefined_method": return g(k.Errors.CallOfNonFunctionError, "value"); default: throw b.Debug.notImplemented(f.type);; } } else { return 0 <= f.message.indexOf("is not a function") ? g(k.Errors.CallOfNonFunctionError, "value") : f.message; } }; })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var Errors = Shumway.AVM2.Errors, getErrorMessage = Shumway.AVM2.getErrorMessage, formatErrorMessage = Shumway.AVM2.formatErrorMessage, translateErrorMessage = Shumway.AVM2.translateErrorMessage; (function(b) { (function(k) { (function(g) { var f = null; "undefined" !== typeof TextDecoder && (f = new TextDecoder); var k = function() { function g(b) { this._bytes = b; this._view = new DataView(b.buffer, b.byteOffset); this._position = 0; } g._getResultBuffer = function(b) { if (!g._resultBuffer || g._resultBuffer.length < b) { g._resultBuffer = new Int32Array(2 * b); } return g._resultBuffer; }; Object.defineProperty(g.prototype, "position", {get:function() { return this._position; }, enumerable:!0, configurable:!0}); g.prototype.remaining = function() { return this._bytes.length - this._position; }; g.prototype.seek = function(b) { this._position = b; }; g.prototype.readU8 = function() { return this._bytes[this._position++]; }; g.prototype.readU8s = function(b) { var d = new Uint8Array(b); d.set(this._bytes.subarray(this._position, this._position + b), 0); this._position += b; return d; }; g.prototype.readS8 = function() { return this._bytes[this._position++] << 24 >> 24; }; g.prototype.readU32 = function() { return this.readS32() >>> 0; }; g.prototype.readU30 = function() { return this.readU32(); }; g.prototype.readU30Unsafe = function() { return this.readU32(); }; g.prototype.readS16 = function() { return this.readU30Unsafe() << 16 >> 16; }; g.prototype.readS32 = function() { var b = this.readU8(); b & 128 && (b = b & 127 | this.readU8() << 7, b & 16384 && (b = b & 16383 | this.readU8() << 14, b & 2097152 && (b = b & 2097151 | this.readU8() << 21, b & 268435456 && (b = b & 268435455 | this.readU8() << 28, b &= 4294967295)))); return b; }; g.prototype.readWord = function() { var b = this._view.getUint32(this._position, !0); this._position += 4; return b; }; g.prototype.readS24 = function() { return(this.readU8() | this.readU8() << 8 | this.readU8() << 16) << 8 >> 8; }; g.prototype.readDouble = function() { var b = this._view.getFloat64(this._position, !0); this._position += 8; return b; }; g.prototype.readUTFString = function(m) { if (f) { var d = this._position; this._position += m; return f.decode(this._bytes.subarray(d, d + m)); } var d = this._position, a = d + m, c = this._bytes, n = 0; for (m = g._getResultBuffer(2 * m);d < a;) { var p = c[d++]; if (127 >= p) { m[n++] = p; } else { if (192 <= p) { var e = 0; 224 > p ? e = (p & 31) << 6 | c[d++] & 63 : 240 > p ? e = (p & 15) << 12 | (c[d++] & 63) << 6 | c[d++] & 63 : (e = ((p & 7) << 18 | (c[d++] & 63) << 12 | (c[d++] & 63) << 6 | c[d++] & 63) - 65536, m[n++] = ((e & 1047552) >>> 10) + 55296, e = (e & 1023) + 56320); m[n++] = e; } } } this._position = d; return b.StringUtilities.fromCharCodeArray(m.subarray(0, n)); }; g._resultBuffer = new Int32Array(256); return g; }(); g.AbcStream = k; })(k.ABC || (k.ABC = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); __extends = this.__extends || function(b, k) { function g() { this.constructor = b; } for (var f in k) { k.hasOwnProperty(f) && (b[f] = k[f]); } g.prototype = k.prototype; b.prototype = new g; }; (function(b) { (function(k) { (function(g) { var f = b.isString, t = b.isNumeric, s = b.isObject, m = b.Debug.assert, d = b.Debug.notImplemented, a = function() { return function(a, b, c, e) { "undefined" === typeof e && (e = !1); this.name = a; this.type = b; this.value = c; this.optional = e; }; }(); g.Parameter = a; var c = function() { function a(b, c, e) { var h = b.constantPool, l = b.methods, d = b.classes, p = b.metadata; this.holder = e; this.name = h.multinames[c.readU30()]; e = c.readU8(); this.kind = e & 15; this.attributes = e >> 4 & 15; m(r.isQName(this.name), "Name must be a QName: " + this.name + ", kind: " + this.kind); switch(this.kind) { case 0: ; case 6: this.slotId = c.readU30(); this.typeName = h.multinames[c.readU30()]; b = c.readU30(); this.value = void 0; 0 !== b && (this.hasDefaultValue = !0, this.value = h.getValue(c.readU8(), b)); break; case 1: ; case 3: ; case 2: this.dispId = c.readU30(); this.methodInfo = l[c.readU30()]; this.methodInfo.name = this.name; u.attachHolder(this.methodInfo, this.holder); this.methodInfo.abc = b; break; case 4: this.slotId = c.readU30(); m(d, "Classes should be passed down here, I'm guessing whenever classes are being parsed."); this.classInfo = d[c.readU30()]; break; case 5: m(!1, "Function encountered in the wild, should not happen"); } if (this.attributes & 4) { var q, h = 0; for (b = c.readU30();h < b;h++) { l = p[c.readU30()], "__go_to_definition_help" !== l.name && "__go_to_ctor_definition_help" !== l.name && (q || (q = {}), q[l.name] = l); } q && (this.isClass() && (this.classInfo.metadata = q), this.metadata = q); } } a.prototype.isSlot = function() { return 0 === this.kind; }; a.prototype.isConst = function() { return 6 === this.kind; }; a.prototype.isMethod = function() { return 1 === this.kind; }; a.prototype.isClass = function() { return 4 === this.kind; }; a.prototype.isGetter = function() { return 2 === this.kind; }; a.prototype.isSetter = function() { return 3 === this.kind; }; a.prototype.isAccessor = function() { return this.isGetter() || this.isSetter(); }; a.prototype.isMethodOrAccessor = function() { return this.isMethod() || this.isGetter() || this.isSetter(); }; a.prototype.isProtected = function() { m(r.isQName(this.name)); return this.name.namespaces[0].isProtected(); }; a.prototype.kindName = function() { switch(this.kind) { case 0: return "Slot"; case 6: return "Const"; case 1: return "Method"; case 3: return "Setter"; case 2: return "Getter"; case 4: return "Class"; case 5: return "Function"; } b.Debug.unexpected(); }; a.prototype.isOverride = function() { return this.attributes & 2; }; a.prototype.isFinal = function() { return this.attributes & 1; }; a.prototype.toString = function() { var a = b.IntegerUtilities.getFlags(this.attributes, ["final", "override", "metadata"]); a && (a += " "); a += r.getQualifiedName(this.name); switch(this.kind) { case 0: ; case 6: return a + ", typeName: " + this.typeName + ", slotId: " + this.slotId + ", value: " + this.value; case 1: ; case 3: ; case 2: return a + ", " + this.kindName() + ": " + this.methodInfo.name; case 4: return a + ", slotId: " + this.slotId + ", class: " + this.classInfo; } }; a.parseTraits = function(b, c, e) { for (var h = c.readU30(), l = [], d = 0;d < h;d++) { l.push(new a(b, c, e)); } return l; }; return a; }(); g.Trait = c; var n = function() { return function(a, b, c) { this.abc = a; this.index = b; this.hash = a.hash & 65535 | c | b << 19; }; }(); g.Info = n; var p = function(h) { function d(b, c, e) { h.call(this, b, c, 131072); b = b.constantPool; c = e.readU30(); this.returnType = b.multinames[e.readU30()]; this.parameters = []; for (var l = 0;l < c;l++) { this.parameters.push(new a(void 0, b.multinames[e.readU30()], void 0)); } this.debugName = b.strings[e.readU30()]; this.flags = e.readU8(); l = 0; if (this.flags & 8) { for (l = e.readU30(), m(c >= l), l = c - l;l < c;l++) { var p = e.readU30(); this.parameters[l].value = b.getValue(e.readU8(), p); this.parameters[l].optional = !0; } } if (this.flags & 128) { for (l = 0;l < c;l++) { d.parseParameterNames ? this.parameters[l].name = b.strings[e.readU30()] : (e.readU30(), this.parameters[l].name = d._getParameterName(l)); } } else { for (l = 0;l < c;l++) { this.parameters[l].name = d._getParameterName(l); } } } __extends(d, h); d._getParameterName = function(a) { return 26 > a ? String.fromCharCode(65 + a) : "P" + (a - 26); }; d.prototype.toString = function() { var a = b.IntegerUtilities.getFlags(this.flags, "NEED_ARGUMENTS NEED_ACTIVATION NEED_REST HAS_OPTIONAL SET_DXN HAS_PARAM_NAMES".split(" ")); return(a ? a + " " : "") + this.name; }; d.prototype.hasOptional = function() { return!!(this.flags & 8); }; d.prototype.needsActivation = function() { return!!(this.flags & 2); }; d.prototype.needsRest = function() { return!!(this.flags & 4); }; d.prototype.needsArguments = function() { return!!(this.flags & 1); }; d.prototype.isNative = function() { return!!(this.flags & 32); }; d.prototype.isClassMember = function() { return this.holder instanceof q; }; d.prototype.isInstanceMember = function() { return this.holder instanceof e; }; d.prototype.isScriptMember = function() { return this.holder instanceof l; }; d.prototype.hasSetsDxns = function() { return!!(this.flags & 64); }; d.parseException = function(a, b) { var c = a.constantPool.multinames, c = {start:b.readU30(), end:b.readU30(), target:b.readU30(), typeName:c[b.readU30()], varName:c[b.readU30()]}; m(!c.typeName || !c.typeName.isRuntime()); m(!c.varName || c.varName.isQName()); return c; }; d.parseBody = function(a, b) { var e = a.methods, h = b.readU30(), e = e[h]; e.index = h; e.hasBody = !0; m(!e.isNative()); e.maxStack = b.readU30(); e.localCount = b.readU30(); e.initScopeDepth = b.readU30(); e.maxScopeDepth = b.readU30(); e.code = b.readU8s(b.readU30()); for (var h = [], l = b.readU30(), p = 0;p < l;++p) { h.push(d.parseException(a, b)); } e.exceptions = h; e.traits = c.parseTraits(a, b, e); }; d.prototype.hasExceptions = function() { return 0 < this.exceptions.length; }; d.parseParameterNames = !1; return d; }(n); g.MethodInfo = p; var e = function(a) { function e(b, h, l) { a.call(this, b, h, 65536); this.runtimeId = e.nextID++; h = b.constantPool; var d = b.methods; this.name = h.multinames[l.readU30()]; m(r.isQName(this.name)); this.superName = h.multinames[l.readU30()]; this.flags = l.readU8(); this.protectedNs = void 0; this.flags & 8 && (this.protectedNs = h.namespaces[l.readU30()]); var p = l.readU30(); this.interfaces = []; for (var q = 0;q < p;q++) { this.interfaces[q] = h.multinames[l.readU30()]; } this.init = d[l.readU30()]; this.init.isInstanceInitializer = !0; this.init.name = this.name; u.attachHolder(this.init, this); this.traits = c.parseTraits(b, l, this); } __extends(e, a); e.prototype.toString = function() { var a = b.IntegerUtilities.getFlags(this.flags & 8, ["sealed", "final", "interface", "protected"]), a = (a ? a + " " : "") + this.name; this.superName && (a += " extends " + this.superName); return a; }; e.prototype.isFinal = function() { return!!(this.flags & 2); }; e.prototype.isSealed = function() { return!!(this.flags & 1); }; e.prototype.isInterface = function() { return!!(this.flags & 4); }; e.nextID = 1; return e; }(n); g.InstanceInfo = e; (function(a) { a[a.AbcMask = 65535] = "AbcMask"; a[a.KindMask = 458752] = "KindMask"; a[a.ClassInfo = 0] = "ClassInfo"; a[a.InstanceInfo = 65536] = "InstanceInfo"; a[a.MethodInfo = 131072] = "MethodInfo"; a[a.ScriptInfo = 196608] = "ScriptInfo"; a[a.NamespaceSet = 262144] = "NamespaceSet"; a[a.IndexOffset = 19] = "IndexOffset"; })(g.Hashes || (g.Hashes = {})); var q = function(a) { function b(e, h, l) { a.call(this, e, h, 0); this.runtimeId = b.nextID++; this.init = e.methods[l.readU30()]; this.init.isClassInitializer = !0; u.attachHolder(this.init, this); this.traits = c.parseTraits(e, l, this); this.instanceInfo = e.instances[h]; this.instanceInfo.classInfo = this; this.defaultValue = b._getDefaultValue(this.instanceInfo.name); } __extends(b, a); b._getDefaultValue = function(a) { return r.getQualifiedName(a) === r.Int || r.getQualifiedName(a) === r.Uint ? 0 : r.getQualifiedName(a) === r.Number ? NaN : r.getQualifiedName(a) === r.Boolean ? !1 : null; }; b.prototype.toString = function() { return this.instanceInfo.name.toString(); }; b.nextID = 1; return b; }(n); g.ClassInfo = q; var l = function(a) { function b(e, h, l) { a.call(this, e, h, 196608); this.runtimeId = q.nextID++; this.name = e.name + "$script" + h; this.init = e.methods[l.readU30()]; this.init.isScriptInitializer = !0; u.attachHolder(this.init, this); this.traits = c.parseTraits(e, l, this); } __extends(b, a); Object.defineProperty(b.prototype, "entryPoint", {get:function() { return this.init; }, enumerable:!0, configurable:!0}); b.prototype.toString = function() { return this.name; }; b.nextID = 1; return b; }(n); g.ScriptInfo = l; var u = function() { function a(c, d, r) { "undefined" === typeof r && (r = 0); k.enterTimeline("Parse ABC"); this.name = d; this.env = {}; k.enterTimeline("Adler"); d = b.HashUtilities.hashBytesTo32BitsAdler(c, 0, c.length); k.leaveTimeline(); r ? (this.hash = r, m(r === d)) : this.hash = d; d = new g.AbcStream(c); a._checkMagic(d); k.enterTimeline("Parse constantPool"); this.constantPool = new x(d, this); k.leaveTimeline(); k.enterTimeline("Parse Method Infos"); this.methods = []; c = d.readU30(); for (r = 0;r < c;++r) { this.methods.push(new p(this, r, d)); } k.leaveTimeline(); k.enterTimeline("Parse MetaData Infos"); this.metadata = []; c = d.readU30(); for (r = 0;r < c;++r) { this.metadata.push(new h(this, d)); } k.leaveTimeline(); k.enterTimeline("Parse Instance Infos"); this.instances = []; c = d.readU30(); for (r = 0;r < c;++r) { this.instances.push(new e(this, r, d)); } k.leaveTimeline(); k.enterTimeline("Parse Class Infos"); this.classes = []; for (r = 0;r < c;++r) { this.classes.push(new q(this, r, d)); } k.leaveTimeline(); k.enterTimeline("Parse Script Infos"); this.scripts = []; c = d.readU30(); for (r = 0;r < c;++r) { this.scripts.push(new l(this, r, d)); } k.leaveTimeline(); k.enterTimeline("Parse Method Body Info"); c = d.readU30(); for (r = 0;r < c;++r) { p.parseBody(this, d); } k.leaveTimeline(); k.leaveTimeline(); } a._checkMagic = function(a) { a = a.readWord(); if (3014671 > a) { throw Error("Invalid ABC File (magic = " + Number(a).toString(16) + ")"); } }; Object.defineProperty(a.prototype, "lastScript", {get:function() { m(0 < this.scripts.length); return this.scripts[this.scripts.length - 1]; }, enumerable:!0, configurable:!0}); a.attachHolder = function(a, b) { m(!a.holder); a.holder = b; }; a.prototype.toString = function() { return this.name; }; a.prototype.getConstant = function(a) { m((this.hash & 65535) === (a & 65535)); var b = a >> 19; switch(a & 458752) { case 0: return this.classes[b]; case 65536: return this.instances[b]; case 131072: return this.methods[b]; case 196608: return this.scripts[b]; case 262144: return this.constantPool.namespaceSets[b]; default: d("Kind"); } }; return a; }(); g.AbcFile = u; var w = function() { function a(b, c, e, h) { "undefined" === typeof c && (c = ""); void 0 === c && (c = ""); this.kind = b; this.uri = c; this.prefix = e; this.qualifiedName = void 0; this._buildNamespace(h); } a.prototype._buildNamespace = function(b) { 22 === this.kind && (this.kind = 8); this.isPublic() && this.uri ? (b = this.uri.length - 1, this.uri.charCodeAt(b) > a._MIN_API_MARK && (m(!1, "What's this code for?"), this.uri = this.uri.substring(0, b - 1))) : this.isUnique() && (m(void 0 !== b), this.uri = "private " + b); 26 === this.kind && (this.uri = "*"); this.qualifiedName = a._qualifyNamespace(this.kind, this.uri, this.prefix ? this.prefix : ""); }; a._hashNamespace = function(c, e, h) { var l = new Int32Array(1 + e.length + h.length), d = 0; l[d++] = c; var p = a._knownURIs.indexOf(e); if (0 <= p) { return c << 2 | p; } for (c = 0;c < e.length;c++) { l[d++] = e.charCodeAt(c); } for (c = 0;c < h.length;c++) { l[d++] = h.charCodeAt(c); } return b.HashUtilities.hashBytesTo32BitsMD5(l, 0, d); }; a._qualifyNamespace = function(c, e, h) { var l = c + e, d = a._mangledNamespaceCache[l]; if (d) { return d; } d = b.StringUtilities.variableLengthEncodeInt32(a._hashNamespace(c, e, h)); a._mangledNamespaceMap[d] = {kind:c, uri:e, prefix:h}; return a._mangledNamespaceCache[l] = d; }; a.fromQualifiedName = function(c) { var e = b.StringUtilities.fromEncoding(c[0]); c = a._mangledNamespaceMap[c.substring(0, e + 1)]; return new a(c.kind, c.uri, c.prefix); }; a.kindFromString = function(b) { for (var c in a._kinds) { if (a._kinds[c] === b) { return c; } } m(!1, "Cannot find kind " + b); return NaN; }; a.createNamespace = function(b, c) { "undefined" === typeof c && (c = void 0); return new a(8, b, c); }; a.parse = function(b, c, e) { var h = c.readU8(); b = b.strings[c.readU30()]; return new a(h, b, void 0, e); }; a.prototype.isPublic = function() { return 8 === this.kind || 22 === this.kind; }; a.prototype.isProtected = function() { return 24 === this.kind || 26 === this.kind; }; a.prototype.isPrivate = function() { return 5 === this.kind; }; a.prototype.isPackageInternal = function() { return 23 === this.kind; }; a.prototype.isUnique = function() { return 5 === this.kind && !this.uri; }; a.prototype.isDynamic = function() { return this.isPublic() && !this.uri; }; a.prototype.getURI = function() { return this.uri; }; a.prototype.toString = function() { return a._kinds[this.kind] + (this.uri ? " " + this.uri : ""); }; a.prototype.clone = function() { var b = Object.create(a.prototype); b.kind = this.kind; b.uri = this.uri; b.prefix = this.prefix; b.qualifiedName = this.qualifiedName; return b; }; a.prototype.isEqualTo = function(a) { return this.qualifiedName === a.qualifiedName; }; a.prototype.inNamespaceSet = function(a) { for (var b = 0;b < a.length;b++) { if (a[b].qualifiedName === this.qualifiedName) { return!0; } } return!1; }; a.prototype.getAccessModifier = function() { return a._kinds[this.kind]; }; a.prototype.getQualifiedName = function() { return this.qualifiedName; }; a.fromSimpleName = function(b) { if (b in a._simpleNameCache) { return a._simpleNameCache[b]; } var c; 0 === b.indexOf("[") ? (m("]" === b[b.length - 1]), c = b.substring(1, b.length - 1).split(",")) : c = [b]; return a._simpleNameCache[b] = c.map(function(b) { b = b.trim(); var c; 0 < b.indexOf(" ") ? (c = b.substring(0, b.indexOf(" ")).trim(), b = b.substring(b.indexOf(" ") + 1).trim()) : (c = a._kinds, b === c[8] || b === c[23] || b === c[5] || b === c[24] || b === c[25] || b === c[26] ? (c = b, b = "") : c = a._publicPrefix); return new a(a.kindFromString(c), b); }); }; a._publicPrefix = "public"; a._kinds = function() { var c = b.ObjectUtilities.createMap(); c[8] = a._publicPrefix; c[23] = "packageInternal"; c[5] = "private"; c[24] = "protected"; c[25] = "explicit"; c[26] = "staticProtected"; return c; }(); a._MIN_API_MARK = 58004; a._MAX_API_MARK = 63743; a._knownURIs = [""]; a._mangledNamespaceCache = b.ObjectUtilities.createMap(); a._mangledNamespaceMap = b.ObjectUtilities.createMap(); a.PUBLIC = new a(8); a.PROTECTED = new a(24); a.PROXY = new a(8, "http://www.adobe.com/2006/actionscript/flash/proxy"); a.VECTOR = new a(8, "__AS3__.vec"); a.VECTOR_PACKAGE = new a(23, "__AS3__.vec"); a.BUILTIN = new a(5, "builtin.as$0"); a._simpleNameCache = b.ObjectUtilities.createMap(); return a; }(); g.Namespace = w; w.prototype = Object.create(w.prototype); var r = function() { function a(b, c, e) { "undefined" === typeof e && (e = 0); void 0 !== c && m(null === c || f(c), "Multiname name must be a string. " + c); this.runtimeId = a._nextID++; this.namespaces = b; this.name = c; this.flags = e; } a.parse = function(c, e, h, l, d) { var p = 0, r = e.readU8(), q, n = [], x = 0; switch(r) { case 7: ; case 13: (p = e.readU30()) ? n = [c.namespaces[p]] : x &= ~a.RUNTIME_NAME; (p = e.readU30()) && (q = c.strings[p]); break; case 15: ; case 16: (p = e.readU30()) ? q = c.strings[p] : x &= ~a.RUNTIME_NAME; x |= a.RUNTIME_NAMESPACE; break; case 17: ; case 18: x |= a.RUNTIME_NAMESPACE; x |= a.RUNTIME_NAME; break; case 9: ; case 14: (p = e.readU30()) ? q = c.strings[p] : x &= ~a.RUNTIME_NAME; p = e.readU30(); m(0 !== p); n = c.namespaceSets[p]; break; case 27: ; case 28: x |= a.RUNTIME_NAME; p = e.readU30(); m(0 !== p); n = c.namespaceSets[p]; break; case 29: return c = e.readU32(), p = e.readU32(), m(1 === p), e = e.readU32(), p = void 0, h[c] && h[e] ? (p = new a(h[c].namespaces, h[c].name, x), p.typeParameter = h[e]) : l.push({index:d, factoryTypeIndex:c, typeParameterIndex:e, flags:x}), p; default: b.Debug.unexpected(); } switch(r) { case 13: ; case 16: ; case 18: ; case 14: ; case 28: x |= a.ATTRIBUTE; } return new a(n, q, x); }; a.isMultiname = function(b) { return "number" === typeof b || "string" === typeof b || b instanceof a || b instanceof Number; }; a.needsResolution = function(b) { return b instanceof a && 1 < b.namespaces.length; }; a.isQName = function(b) { return b instanceof a ? b.namespaces && 1 === b.namespaces.length : !0; }; a.isRuntimeName = function(b) { return b instanceof a && b.isRuntimeName(); }; a.isRuntimeNamespace = function(b) { return b instanceof a && b.isRuntimeNamespace(); }; a.isRuntime = function(b) { return b instanceof a && b.isRuntimeName() || b.isRuntimeNamespace(); }; a.getQualifiedName = function(b) { m(a.isQName(b)); if (b instanceof a) { if (void 0 !== b.qualifiedName) { return b.qualifiedName; } var c = String(b.name); if (t(c) && b.namespaces[0].isPublic()) { return b.qualifiedName = c; } b = b.qualifiedName = a.qualifyName(b.namespaces[0], c); } return b; }; a.qualifyName = function(a, c) { return b.StringUtilities.concat3("$", a.qualifiedName, c); }; a.stripPublicQualifier = function(a) { var b = "$" + w.PUBLIC.qualifiedName; return 0 !== a.indexOf(b) ? void 0 : a.substring(b.length); }; a.fromQualifiedName = function(b) { if (b instanceof a) { return b; } if (t(b)) { return new a([w.PUBLIC], b); } if ("$" === b[0]) { var c = w.fromQualifiedName(b.substring(1)); return new a([c], b.substring(1 + c.qualifiedName.length)); } }; a.getNameFromPublicQualifiedName = function(b) { b = a.fromQualifiedName(b); m(b.getNamespace().isPublic()); return b.name; }; a.getFullQualifiedName = function(b) { var c = a.getQualifiedName(b); b instanceof a && b.typeParameter && (c += "$" + a.getFullQualifiedName(b.typeParameter)); return c; }; a.getPublicQualifiedName = function(c) { var e; if ("string" === typeof c && (e = a._publicQualifiedNameCache[c])) { return e; } if (t(c)) { return b.toNumber(c); } if (null !== c && s(c)) { return c; } e = a.qualifyName(w.PUBLIC, c); "string" === typeof c && (a._publicQualifiedNameCache[c] = e); return e; }; a.isPublicQualifiedName = function(a) { return "number" === typeof a || t(a) || 1 === a.indexOf(w.PUBLIC.qualifiedName); }; a.getAccessModifier = function(b) { m(a.isQName(b)); if ("number" === typeof b || "string" === typeof b || b instanceof Number) { return "public"; } m(b instanceof a); return b.namespaces[0].getAccessModifier(); }; a.isNumeric = function(b) { return "number" === typeof b ? !0 : "string" === typeof b ? t(b) : !isNaN(parseInt(a.getName(b), 10)); }; a.getName = function(b) { m(b instanceof a); m(!b.isRuntimeName()); return b.getName(); }; a.isAnyName = function(a) { return "object" === typeof a && !a.isRuntimeName() && !a.name; }; a.fromSimpleName = function(b) { m(b); if (b in a._simpleNameCache) { return a._simpleNameCache[b]; } var c, e; c = b.lastIndexOf("."); 0 >= c && (c = b.lastIndexOf(" ")); 0 < c && c < b.length - 1 ? (e = b.substring(c + 1).trim(), c = b.substring(0, c).trim()) : (e = b, c = ""); return a._simpleNameCache[b] = new a(w.fromSimpleName(c), e); }; a.prototype.getQName = function(b) { m(0 <= b && b < this.namespaces.length); this._qualifiedNameCache || (this._qualifiedNameCache = []); var c = this._qualifiedNameCache[b]; c || (c = this._qualifiedNameCache[b] = new a([this.namespaces[b]], this.name, this.flags)); return c; }; a.prototype.hasQName = function(b) { m(b instanceof a); if (this.name !== b.name) { return!1; } for (var c = 0;c < this.namespaces.length;c++) { if (this.namespaces[c].isEqualTo(b.namespaces[0])) { return!0; } } return!1; }; a.prototype.isAttribute = function() { return this.flags & a.ATTRIBUTE; }; a.prototype.isAnyName = function() { return a.isAnyName(this); }; a.prototype.isAnyNamespace = function() { return!this.isRuntimeNamespace() && (0 === this.namespaces.length || this.isAnyName() && 1 !== this.namespaces.length); }; a.prototype.isRuntimeName = function() { return!!(this.flags & a.RUNTIME_NAME); }; a.prototype.isRuntimeNamespace = function() { return!!(this.flags & a.RUNTIME_NAMESPACE); }; a.prototype.isRuntime = function() { return!!(this.flags & (a.RUNTIME_NAME | a.RUNTIME_NAMESPACE)); }; a.prototype.isQName = function() { return 1 === this.namespaces.length && !this.isAnyName(); }; a.prototype.hasTypeParameter = function() { return!!this.typeParameter; }; a.prototype.getName = function() { return this.name; }; a.prototype.getOriginalName = function() { m(this.isQName()); var a = this.namespaces[0].uri; a && (a += "."); return a + this.name; }; a.prototype.getNamespace = function() { m(!this.isRuntimeNamespace()); m(1 === this.namespaces.length); return this.namespaces[0]; }; a.prototype.nameToString = function() { if (this.isAnyName()) { return "*"; } var a = this.getName(); return this.isRuntimeName() ? "[]" : a; }; a.prototype.hasObjectName = function() { return "object" === typeof this.name; }; a.prototype.toString = function() { var a = this.isAttribute() ? "@" : ""; if (this.isAnyNamespace()) { a += "*::" + this.nameToString(); } else { if (this.isRuntimeNamespace()) { a += "[]::" + this.nameToString(); } else { if (1 === this.namespaces.length && this.isQName()) { a += this.namespaces[0].toString() + "::", a += this.nameToString(); } else { for (var a = a + "{", b = 0, c = this.namespaces.length;b < c;b++) { a += this.namespaces[b].toString(), b + 1 < c && (a += ","); } a += "}::" + this.nameToString(); } } } this.hasTypeParameter() && (a += "<" + this.typeParameter.toString() + ">"); return a; }; a.ATTRIBUTE = 1; a.RUNTIME_NAMESPACE = 2; a.RUNTIME_NAME = 4; a._nextID = 0; a._publicQualifiedNameCache = b.ObjectUtilities.createMap(); a._simpleNameCache = b.ObjectUtilities.createMap(); a.Int = a.getPublicQualifiedName("int"); a.Uint = a.getPublicQualifiedName("uint"); a.Class = a.getPublicQualifiedName("Class"); a.Array = a.getPublicQualifiedName("Array"); a.Object = a.getPublicQualifiedName("Object"); a.String = a.getPublicQualifiedName("String"); a.Number = a.getPublicQualifiedName("Number"); a.Boolean = a.getPublicQualifiedName("Boolean"); a.Function = a.getPublicQualifiedName("Function"); a.XML = a.getPublicQualifiedName("XML"); a.XMLList = a.getPublicQualifiedName("XMLList"); a.TO_STRING = a.getPublicQualifiedName("toString"); a.VALUE_OF = a.getPublicQualifiedName("valueOf"); a.TEMPORARY = new a([], ""); return a; }(); g.Multiname = r; var h = function() { function a(b, c) { for (var e = b.constantPool.strings, h = this.name = e[c.readU30()], l = c.readU30(), d = [], p = [], r = 0;r < l;r++) { d[r] = e[c.readU30()]; } for (r = 0;r < l;r++) { var q = d[r]; p[r] = {key:q, value:e[c.readU30()]}; q && "native" === h && (m(!this.hasOwnProperty(q)), this[q] = p[r].value); } this.value = p; } a.prototype.toString = function() { return "[" + this.name + "]"; }; return a; }(); g.MetaDataInfo = h; (function(a) { a[a.Undefined = 0] = "Undefined"; a[a.Utf8 = 1] = "Utf8"; a[a.Float = 2] = "Float"; a[a.Int = 3] = "Int"; a[a.UInt = 4] = "UInt"; a[a.PrivateNs = 5] = "PrivateNs"; a[a.Double = 6] = "Double"; a[a.QName = 7] = "QName"; a[a.Namespace = 8] = "Namespace"; a[a.Multiname = 9] = "Multiname"; a[a.False = 10] = "False"; a[a.True = 11] = "True"; a[a.Null = 12] = "Null"; a[a.QNameA = 13] = "QNameA"; a[a.MultinameA = 14] = "MultinameA"; a[a.RTQName = 15] = "RTQName"; a[a.RTQNameA = 16] = "RTQNameA"; a[a.RTQNameL = 17] = "RTQNameL"; a[a.RTQNameLA = 18] = "RTQNameLA"; a[a.NameL = 19] = "NameL"; a[a.NameLA = 20] = "NameLA"; a[a.NamespaceSet = 21] = "NamespaceSet"; a[a.PackageNamespace = 22] = "PackageNamespace"; a[a.PackageInternalNs = 23] = "PackageInternalNs"; a[a.ProtectedNamespace = 24] = "ProtectedNamespace"; a[a.ExplicitNamespace = 25] = "ExplicitNamespace"; a[a.StaticProtectedNs = 26] = "StaticProtectedNs"; a[a.MultinameL = 27] = "MultinameL"; a[a.MultinameLA = 28] = "MultinameLA"; a[a.TypeName = 29] = "TypeName"; a[a.ClassSealed = 1] = "ClassSealed"; a[a.ClassFinal = 2] = "ClassFinal"; a[a.ClassInterface = 4] = "ClassInterface"; a[a.ClassProtectedNs = 8] = "ClassProtectedNs"; })(g.CONSTANT || (g.CONSTANT = {})); (function(a) { a[a.Arguments = 1] = "Arguments"; a[a.Activation = 2] = "Activation"; a[a.Needrest = 4] = "Needrest"; a[a.HasOptional = 8] = "HasOptional"; a[a.IgnoreRest = 16] = "IgnoreRest"; a[a.Native = 32] = "Native"; a[a.Setsdxns = 64] = "Setsdxns"; a[a.HasParamNames = 128] = "HasParamNames"; })(g.METHOD || (g.METHOD = {})); (function(a) { a[a.Slot = 0] = "Slot"; a[a.Method = 1] = "Method"; a[a.Getter = 2] = "Getter"; a[a.Setter = 3] = "Setter"; a[a.Class = 4] = "Class"; a[a.Function = 5] = "Function"; a[a.Const = 6] = "Const"; })(g.TRAIT || (g.TRAIT = {})); (function(a) { a[a.Final = 1] = "Final"; a[a.Override = 2] = "Override"; a[a.Metadata = 4] = "Metadata"; })(g.ATTR || (g.ATTR = {})); (function(a) { a[a.CASEINSENSITIVE = 1] = "CASEINSENSITIVE"; a[a.DESCENDING = 2] = "DESCENDING"; a[a.UNIQUESORT = 4] = "UNIQUESORT"; a[a.RETURNINDEXEDARRAY = 8] = "RETURNINDEXEDARRAY"; a[a.NUMERIC = 16] = "NUMERIC"; })(g.SORT || (g.SORT = {})); var x = function() { function a(b, c) { var e, h = [0]; e = b.readU30(); for (var l = 1;l < e;++l) { h.push(b.readS32()); } var d = [0]; e = b.readU30(); for (l = 1;l < e;++l) { d.push(b.readU32()); } var p = [NaN]; e = b.readU30(); for (l = 1;l < e;++l) { p.push(b.readDouble()); } k.enterTimeline("Parse Strings"); var q = [""]; e = b.readU30(); for (l = 1;l < e;++l) { q.push(b.readUTFString(b.readU30())); } k.leaveTimeline(); this.ints = h; this.uints = d; this.doubles = p; this.strings = q; k.enterTimeline("Parse Namespaces"); h = [void 0]; e = b.readU30(); for (l = 1;l < e;++l) { h.push(w.parse(this, b, c.hash + l)); } k.leaveTimeline(); k.enterTimeline("Parse Namespace Sets"); d = [void 0]; e = b.readU30(); for (l = 1;l < e;++l) { p = b.readU30(); q = []; q.runtimeId = a._nextNamespaceSetID++; q.hash = c.hash & 65535 | 262144 | l << 19; for (var n = 0;n < p;++n) { q.push(h[b.readU30()]); } d.push(q); } k.leaveTimeline(); this.namespaces = h; this.namespaceSets = d; k.enterTimeline("Parse Multinames"); h = [void 0]; d = []; e = b.readU30(); for (l = 1;l < e;++l) { h.push(r.parse(this, b, h, d, l)); } for (l = 0;l < d.length;l++) { e = d[l], q = h[e.factoryTypeIndex], p = h[e.typeParameterIndex], m(q && p), q = new r(q.namespaces, q.name, e.flags), q.typeParameter = p, h[e.index] = q; } k.leaveTimeline(); this.multinames = h; } a.prototype.getValue = function(a, c) { switch(a) { case 3: return this.ints[c]; case 4: return this.uints[c]; case 6: return this.doubles[c]; case 1: return this.strings[c]; case 11: return!0; case 10: return!1; case 12: return null; case 0: break; case 8: ; case 23: return this.namespaces[c]; case 7: ; case 14: ; case 15: ; case 16: ; case 17: ; case 18: ; case 19: ; case 20: return this.multinames[c]; case 2: b.Debug.warning("TODO: CONSTANT.Float may be deprecated?"); break; default: m(!1, "Not Implemented Kind " + a); } }; a._nextNamespaceSetID = 1; return a; }(); g.ConstantPool = x; })(k.ABC || (k.ABC = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { function f(a, b, c, l) { "undefined" === typeof l && (l = null); 0 !== c.length && (a.enter(b + " {"), c.forEach(function(b, c) { b.trace(a, l); }), a.leave("}")); } function k(a, b, c) { var l; "undefined" === typeof l && (l = !1); var n = c.position, f = ""; null === a.operands ? f = "null" : a.operands.forEach(function(l, h) { var n = f, u; a: { u = 0; switch(l.size) { case "s08": u = c.readS8(); break; case "u08": u = c.readU8(); break; case "s16": u = c.readS16(); break; case "s24": u = c.readS24(); break; case "u30": u = c.readU30(); break; case "u32": u = c.readU32(); break; default: d(!1); } var g = ""; switch(l.type) { case "": break; case "I": g = b.constantPool.ints[u]; break; case "U": g = b.constantPool.uints[u]; break; case "D": g = b.constantPool.doubles[u]; break; case "S": g = b.constantPool.strings[u]; break; case "N": g = b.constantPool.namespaces[u]; break; case "CI": g = b.classes[u]; break; case "M": u = b.constantPool.multinames[u]; break a; default: g = "?"; } u = l.name + ":" + u + ("" === g ? "" : " (" + g + ")"); } f = n + u; h < a.operands.length - 1 && (f += ", "); }); l && c.seek(n); return f; } function s(a, b) { var c = new n(a); b.scripts.forEach(function(a) { c.traceTraits(a.traits); }); } function m(a, c) { var q = new b.Metrics.Counter(!0), l = new b.Metrics.Counter(!0), n = new b.Metrics.Counter(!0), f = new b.Metrics.Counter(!0), r = {}, h = {}, x = {}; c.classes.forEach(function(a) { r[a.instanceInfo.name.name] = !0; }); c.scripts.forEach(function(a) { a.traits.forEach(function(a) { if (a.isClass()) { var b = a.classInfo.instanceInfo.superName ? a.classInfo.instanceInfo.superName.name : "?"; b in r || l.count(b); a.classInfo.traits.forEach(function(a) { a.isMethod() ? h[a.name.name] = !0 : x[a.name.name] = !0; }); a.classInfo.instanceInfo.traits.forEach(function(a) { !a.isMethod() || a.attributes & 2 ? x[a.name.name] = !0 : h[a.name.name] = !0; }); } }); }); var m = new b.Metrics.Counter(!0); c.methods.forEach(function(a) { function l(a) { var b = 0; switch(a.size) { case "s08": b = p.readS8(); break; case "u08": b = p.readU8(); break; case "s16": b = p.readS16(); break; case "s24": b = p.readS24(); break; case "u30": b = p.readU30(); break; case "u32": b = p.readU32(); break; default: d(!1); } var h = ""; switch(a.type) { case "": break; case "I": h = c.constantPool.ints[b]; break; case "U": h = c.constantPool.uints[b]; break; case "D": h = c.constantPool.doubles[b]; break; case "S": h = c.constantPool.strings[b]; break; case "N": h = c.constantPool.namespaces[b]; break; case "CI": h = c.classes[b]; break; case "M": h = c.constantPool.multinames[b]; break; default: h = "?"; } return h; } if (a.code) { for (var p = new g.AbcStream(a.code);0 < p.remaining();) { a = p.readU8(); var k = b.AVM2.opcodeTable[a], s = null; if (k) { switch(m.count(k.name), k.operands && (s = k.operands.map(l)), a) { case 65: ; case 67: continue; case 70: ; case 76: ; case 79: ; case 68: ; case 69: ; case 78: !s[0] || s[0].name in h || n.count(s[0].name); break; case 74: !s[0] || s[0].name in r || q.count(s[0].name); break; case 102: ; case 97: !s[0] || s[0].name in x || f.count(s[0].name); } } } } }); a.writeLn(JSON.stringify({definedClasses:r, definedMethods:h, definedProperties:x, libraryClasses:q.counts, librarySuperClasses:l.counts, libraryMethods:n.counts, libraryProperties:f.counts, operations:m.counts}, null, 2)); } var d = b.Debug.assert, a = b.Debug.notImplemented, c = new b.Options.Option("f", "filter", "string", "SpciMsmNtu", "[S]ource, constant[p]ool, [c]lasses, [i]nstances, [M]etadata, [s]cripts, [m]ethods, multi[N]ames, S[t]atistics, [u]tf"); g.AbcFile.prototype.trace = function(a) { 0 <= c.value.indexOf("p") && this.constantPool.trace(a); 0 <= c.value.indexOf("N") && a.writeArray(this.constantPool.multinames, null, !0); 0 <= c.value.indexOf("c") && f(a, "classes", this.classes); 0 <= c.value.indexOf("i") && f(a, "instances", this.instances); 0 <= c.value.indexOf("M") && f(a, "metadata", this.metadata); 0 <= c.value.indexOf("s") && f(a, "scripts", this.scripts); 0 <= c.value.indexOf("m") && f(a, "methods", this.methods, this); 0 <= c.value.indexOf("S") && s(a, this); 0 <= c.value.indexOf("t") && m(a, this); }; g.ConstantPool.prototype.trace = function(a) { a.enter("constantPool {"); for (var b in this) { "namespaces" === b ? (a.enter("namespaces {"), this.namespaces.forEach(function(b, c) { a.writeLn(("" + c).padRight(" ", 3) + (b ? b.toString() : "*")); }), a.leave("}")) : this[b] instanceof Array && (a.enter(b + " " + this[b].length + " {"), a.writeArray(this[b]), a.leave("}")); } a.leave("}"); }; g.ClassInfo.prototype.trace = function(a) { a.enter("class " + this + " {"); f(a, "traits", this.traits); a.leave("}"); }; g.MetaDataInfo.prototype.trace = function(a) { a.enter(this + " {"); this.value.forEach(function(b) { a.writeLn((b.key ? b.key + ": " : "") + '"' + b.value + '"'); }); a.leave("}"); }; g.InstanceInfo.prototype.trace = function(a) { a.enter("instance " + this + " {"); f(a, "traits", this.traits); a.leave("}"); }; g.ScriptInfo.prototype.trace = function(a) { a.enter("script " + this + " {"); f(a, "traits", this.traits); a.leave("}"); }; g.Trait.prototype.trace = function(a) { if (this.metadata) { for (var b in this.metadata) { this.metadata.hasOwnProperty(b) && this.metadata[b].trace(a); } } a.writeLn(this); }; g.MethodInfo.prototype.trace = function(a) { var c = this.abc; a.enter("method" + (this.name ? " " + this.name : "") + " {"); a.writeLn("flags: " + b.IntegerUtilities.getFlags(this.flags, "NEED_ARGUMENTS NEED_ACTIVATION NEED_REST HAS_OPTIONAL NATIVE SET_DXN HAS_PARAM_NAMES".split(" "))); a.writeLn("parameters: " + this.parameters.map(function(a) { return(a.type ? g.Multiname.getQualifiedName(a.type) + "::" : "") + a.name; })); if (this.code) { var q = new g.AbcStream(this.code); f(a, "traits", this.traits); for (a.enter("code {");0 < q.remaining();) { var l = q.readU8(), n = b.AVM2.opcodeTable[l], w; w = ("" + q.position).padRight(" ", 6); switch(l) { case 27: w += n.name + ": defaultOffset: " + q.readS24(); l = q.readU30(); w += ", caseCount: " + l; for (n = 0;n < l + 1;n++) { w += " offset: " + q.readS24(); } a.writeLn(w); break; default: n ? (w += n.name.padRight(" ", 20), n.operands ? (0 < n.operands.length && (w += k(n, c, q)), a.writeLn(w)) : d(!1, "Opcode: " + n.name + " has undefined operands.")) : d(!1, "Opcode: " + l + " is not implemented."); } } a.leave("}"); } a.leave("}"); }; var n = function() { function c(a) { return void 0 === a ? "undefined" : null === a ? "null" : "string" === typeof a ? '"' + a + '"' : String(a); } function e(a, b) { "undefined" === typeof b && (b = !1); return a.parameters.map(function(a) { var e = a.name; b || (a.type && (e += ":" + a.type.getName()), void 0 !== a.value && (e += " = " + c(a.value))); return e; }).join(", "); } function d(a) { this.writer = a; } d.prototype = {traceTraits:function(b, d, q) { var r = this.writer, h = this; b.forEach(function(b) { var l; l = g.Multiname.getAccessModifier(b.name); var n = b.name.namespaces[0].uri; n && ("http://adobe.com/AS3/2006/builtin" === n && (n = "AS3"), l = "public" === l ? q === n ? "" : n : l); d && (l += " static"); if (b.isSlot() || b.isConst()) { h.traceMetadata(b.metadata), l = b.isConst() ? l + " const" : l + " var", l += " " + b.name.getName(), b.typeName && (l += ":" + b.typeName.getName()), b.value && (l += " = " + c(b.value)), r.writeLn(l + ";"); } else { if (b.isMethod() || b.isGetter() || b.isSetter()) { h.traceMetadata(b.metadata); n = b.methodInfo; b.attributes & 2 && (l += " override"); n.isNative() && (l += " native"); l = l + " function" + (b.isGetter() ? " get" : b.isSetter() ? " set" : ""); l += " " + b.name.getName(); l += "(" + e(n) + ")"; l += n.returnType ? ":" + n.returnType.getName() : ""; var f; b.holder instanceof g.ClassInfo ? (f = b.holder.instanceInfo.name, f.getName()) : b.holder instanceof g.InstanceInfo && (f = b.holder.name, f.getName()); n.isNative(); n.isNative() ? r.writeLn(l + ";") : q ? r.writeLn(l + ";") : r.writeLn(l + ' { notImplemented("' + b.name.getName() + '"); }'); } else { b.isClass() ? (f = b.classInfo.instanceInfo.name, r.enter("package " + f.namespaces[0].uri + " {\n"), h.traceMetadata(b.metadata), h.traceClass(b.classInfo), r.leave("\n}"), h.traceClassStub(b)) : a(b); } } }); }, traceClassStub2:function(a) { function b(a, h) { "undefined" === typeof h && (h = !1); var l = []; a.forEach(function(a, b) { (a.isMethod() || a.isGetter() || a.isSetter()) && a.methodInfo.isNative() && l.push(a); }); l.forEach(function(a, b) { var h = a.methodInfo, d = a.name.getName(); c.writeLn("// " + d + " :: " + (h.parameters.length ? e(h) : "void") + " -> " + (h.returnType ? h.returnType.getName() : "any")); c.enter((a.isGetter() ? '"get ' + d + '"' : a.isSetter() ? '"set ' + d + '"' : d) + ": function " + d + "(" + e(h, !0) + ") {"); c.writeLn(' notImplemented("' + p + "." + d + '");'); c.leave("}" + (b === l.length - 1 ? "" : ",\n")); }); } var c = this.writer, d = a.classInfo, h = d.instanceInfo, p = h.name.getName(); a = a.metadata ? a.metadata.native : null; if (!a) { return!1; } c.writeLn("Cut and paste the following into `native.js' and edit accordingly"); c.writeLn("8< --------------------------------------------------------------"); c.enter("natives." + a.cls + " = function " + a.cls + "(runtime, scope, instanceConstructor, baseClass) {"); c.writeLn('var c = new Class("' + p + '", instanceConstructor, ApplicationDomain.passthroughCallable(instanceConstructor));'); c.writeLn("c.extend(baseClass);\n"); c.enter("c.nativeStatics = {"); b(d.traits, !0); c.leave("};\n"); c.enter("c.nativeMethods = {"); b(h.traits); c.leave("};\n"); c.writeLn("return c;"); c.leave("};"); c.writeLn("-------------------------------------------------------------- >8"); return!0; }, traceClassStub:function(a) { function c(a) { return{properties:a.filter(function(a) { return!1; }), methods:a.filter(function(a) { return(a.isMethod() || a.isGetter() || a.isSetter()) && !0 === a.methodInfo.isNative(); })}; } function d(a, h) { function l(a, b) { var c = a.methodInfo, d = a.name.getName(), n = "// (" + (c.parameters.length ? e(c) : "void") + ") -> " + (c.returnType ? c.returnType.getName() : "any"), f = d; a.isGetter() ? f = "get" : a.isSetter() && (f = "set"); p.enter(f + ": function " + d + "(" + e(c, !0) + ") { " + n); p.writeLn('notImplemented("' + q + "." + d + '");'); h || (a.isGetter() ? p.writeLn("return this._" + d + ";") : a.isSetter() && p.writeLn("this._" + d + " = " + c.parameters[0].name + ";")); p.leave("}" + (b ? "," : "")); } "undefined" === typeof h && (h = !1); a = c(a); var n = [], f = b.ObjectUtilities.createEmptyObject(); a.methods.forEach(function(a, b) { var c = a.name.getName(); a.isGetter() || a.isSetter() ? (f[c] || (f[c] = []), f[c].push(a)) : n.push(a); }); for (var w = 0;w < n.length;w++) { l(n[w], w < n.length - 1); } for (var g = b.ObjectUtilities.toKeyValueArray(f), m = 0;m < g.length;m++) { p.enter(g[m][0] + ": {"); for (var y = g[m][1], w = 0;w < y.length;w++) { l(y[w], w < y.length - 1); } p.leave("}" + (m < g.length - 1 ? "," : "")); } a.properties.forEach(function(b, c) { var e = b.name.getName(), h = c === a.properties.length - 1; b.name.getNamespace().isPublic() && p.writeLn(e + ": " + ("'public " + b.name.name + "'") + (h ? "" : ",")); }); } var p = this.writer; a = a.classInfo; var h = a.instanceInfo, q = h.name.getName(); p.writeLn("Cut and paste the following glue and edit accordingly."); p.writeLn("Class " + h); p.writeLn("8< --------------------------------------------------------------"); var n = h.name.namespaces[0].uri; p.enter("var " + q + "Definition = (function () {"); p.enter("return {"); p.writeLn("// (" + e(h.init, !1) + ")"); p.writeLn('__class__: "' + n + "." + q + '",'); p.enter("initialize: function () {"); p.leave("},"); p.enter("__glue__: {"); p.enter("native: {"); p.enter("static: {"); d(a.traits, !0); p.leave("},"); p.enter("instance: {"); d(h.traits); p.leave("}"); p.leave("},"); p.enter("script: {"); p.writeLn("instance: Glue.ALL"); p.leave("}"); p.leave("}"); p.leave("};"); p.leave("}).call(this);"); p.writeLn("-------------------------------------------------------------- >8"); return!0; }, traceClass:function(a) { var b = this.writer, c = a.instanceInfo, d = c.name, h = g.Multiname.getAccessModifier(d); c.isFinal() && (h += " final"); c.isSealed() || (h += " dynamic"); h += c.isInterface() ? " interface " : " class "; h += d.getName(); c.superName && "Object" !== c.superName.getName() && (h += " extends " + c.superName.getName()); c.interfaces.length && (h += " implements " + c.interfaces.map(function(a) { return a.getName(); }).join(", ")); b.enter(h + " {"); c.isInterface() || b.writeLn("public function " + d.getName() + "(" + e(c.init) + ") {}"); var p; c.isInterface() && (p = d.namespaces[0].uri + ":" + d.name); this.traceTraits(a.traits, !0, p); this.traceTraits(c.traits, !1, p); b.leave("}"); }, traceMetadata:function(a) { var b = this.writer, c; for (c in a) { a.hasOwnProperty(c) && 0 !== c.indexOf("__") && b.writeLn("[" + c + "(" + a[c].value.map(function(a) { return(a.key ? a.key + "=" : "") + '"' + a.value + '"'; }).join(", ") + ")]"); } }}; return d; }(); })(k.ABC || (k.ABC = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = b.Debug.assert, f = b.Debug.unexpected, t = b.AVM2.ABC.AbcStream, s = b.ArrayUtilities.top, m = b.ArrayUtilities.peek; (function(a) { a[a.bkpt = 1] = "bkpt"; a[a.nop = 2] = "nop"; a[a["throw"] = 3] = "throw"; a[a.getsuper = 4] = "getsuper"; a[a.setsuper = 5] = "setsuper"; a[a.dxns = 6] = "dxns"; a[a.dxnslate = 7] = "dxnslate"; a[a.kill = 8] = "kill"; a[a.label = 9] = "label"; a[a.lf32x4 = 10] = "lf32x4"; a[a.sf32x4 = 11] = "sf32x4"; a[a.ifnlt = 12] = "ifnlt"; a[a.ifnle = 13] = "ifnle"; a[a.ifngt = 14] = "ifngt"; a[a.ifnge = 15] = "ifnge"; a[a.jump = 16] = "jump"; a[a.iftrue = 17] = "iftrue"; a[a.iffalse = 18] = "iffalse"; a[a.ifeq = 19] = "ifeq"; a[a.ifne = 20] = "ifne"; a[a.iflt = 21] = "iflt"; a[a.ifle = 22] = "ifle"; a[a.ifgt = 23] = "ifgt"; a[a.ifge = 24] = "ifge"; a[a.ifstricteq = 25] = "ifstricteq"; a[a.ifstrictne = 26] = "ifstrictne"; a[a.lookupswitch = 27] = "lookupswitch"; a[a.pushwith = 28] = "pushwith"; a[a.popscope = 29] = "popscope"; a[a.nextname = 30] = "nextname"; a[a.hasnext = 31] = "hasnext"; a[a.pushnull = 32] = "pushnull"; a[a.pushundefined = 33] = "pushundefined"; a[a.pushfloat = 34] = "pushfloat"; a[a.nextvalue = 35] = "nextvalue"; a[a.pushbyte = 36] = "pushbyte"; a[a.pushshort = 37] = "pushshort"; a[a.pushtrue = 38] = "pushtrue"; a[a.pushfalse = 39] = "pushfalse"; a[a.pushnan = 40] = "pushnan"; a[a.pop = 41] = "pop"; a[a.dup = 42] = "dup"; a[a.swap = 43] = "swap"; a[a.pushstring = 44] = "pushstring"; a[a.pushint = 45] = "pushint"; a[a.pushuint = 46] = "pushuint"; a[a.pushdouble = 47] = "pushdouble"; a[a.pushscope = 48] = "pushscope"; a[a.pushnamespace = 49] = "pushnamespace"; a[a.hasnext2 = 50] = "hasnext2"; a[a.li8 = 53] = "li8"; a[a.li16 = 54] = "li16"; a[a.li32 = 55] = "li32"; a[a.lf32 = 56] = "lf32"; a[a.lf64 = 57] = "lf64"; a[a.si8 = 58] = "si8"; a[a.si16 = 59] = "si16"; a[a.si32 = 60] = "si32"; a[a.sf32 = 61] = "sf32"; a[a.sf64 = 62] = "sf64"; a[a.newfunction = 64] = "newfunction"; a[a.call = 65] = "call"; a[a.construct = 66] = "construct"; a[a.callmethod = 67] = "callmethod"; a[a.callstatic = 68] = "callstatic"; a[a.callsuper = 69] = "callsuper"; a[a.callproperty = 70] = "callproperty"; a[a.returnvoid = 71] = "returnvoid"; a[a.returnvalue = 72] = "returnvalue"; a[a.constructsuper = 73] = "constructsuper"; a[a.constructprop = 74] = "constructprop"; a[a.callsuperid = 75] = "callsuperid"; a[a.callproplex = 76] = "callproplex"; a[a.callinterface = 77] = "callinterface"; a[a.callsupervoid = 78] = "callsupervoid"; a[a.callpropvoid = 79] = "callpropvoid"; a[a.sxi1 = 80] = "sxi1"; a[a.sxi8 = 81] = "sxi8"; a[a.sxi16 = 82] = "sxi16"; a[a.applytype = 83] = "applytype"; a[a.pushfloat4 = 84] = "pushfloat4"; a[a.newobject = 85] = "newobject"; a[a.newarray = 86] = "newarray"; a[a.newactivation = 87] = "newactivation"; a[a.newclass = 88] = "newclass"; a[a.getdescendants = 89] = "getdescendants"; a[a.newcatch = 90] = "newcatch"; a[a.findpropstrict = 93] = "findpropstrict"; a[a.findproperty = 94] = "findproperty"; a[a.finddef = 95] = "finddef"; a[a.getlex = 96] = "getlex"; a[a.setproperty = 97] = "setproperty"; a[a.getlocal = 98] = "getlocal"; a[a.setlocal = 99] = "setlocal"; a[a.getglobalscope = 100] = "getglobalscope"; a[a.getscopeobject = 101] = "getscopeobject"; a[a.getproperty = 102] = "getproperty"; a[a.getouterscope = 103] = "getouterscope"; a[a.initproperty = 104] = "initproperty"; a[a.setpropertylate = 105] = "setpropertylate"; a[a.deleteproperty = 106] = "deleteproperty"; a[a.deletepropertylate = 107] = "deletepropertylate"; a[a.getslot = 108] = "getslot"; a[a.setslot = 109] = "setslot"; a[a.getglobalslot = 110] = "getglobalslot"; a[a.setglobalslot = 111] = "setglobalslot"; a[a.convert_s = 112] = "convert_s"; a[a.esc_xelem = 113] = "esc_xelem"; a[a.esc_xattr = 114] = "esc_xattr"; a[a.convert_i = 115] = "convert_i"; a[a.convert_u = 116] = "convert_u"; a[a.convert_d = 117] = "convert_d"; a[a.convert_b = 118] = "convert_b"; a[a.convert_o = 119] = "convert_o"; a[a.checkfilter = 120] = "checkfilter"; a[a.convert_f = 121] = "convert_f"; a[a.unplus = 122] = "unplus"; a[a.convert_f4 = 123] = "convert_f4"; a[a.coerce = 128] = "coerce"; a[a.coerce_b = 129] = "coerce_b"; a[a.coerce_a = 130] = "coerce_a"; a[a.coerce_i = 131] = "coerce_i"; a[a.coerce_d = 132] = "coerce_d"; a[a.coerce_s = 133] = "coerce_s"; a[a.astype = 134] = "astype"; a[a.astypelate = 135] = "astypelate"; a[a.coerce_u = 136] = "coerce_u"; a[a.coerce_o = 137] = "coerce_o"; a[a.negate = 144] = "negate"; a[a.increment = 145] = "increment"; a[a.inclocal = 146] = "inclocal"; a[a.decrement = 147] = "decrement"; a[a.declocal = 148] = "declocal"; a[a["typeof"] = 149] = "typeof"; a[a.not = 150] = "not"; a[a.bitnot = 151] = "bitnot"; a[a.add = 160] = "add"; a[a.subtract = 161] = "subtract"; a[a.multiply = 162] = "multiply"; a[a.divide = 163] = "divide"; a[a.modulo = 164] = "modulo"; a[a.lshift = 165] = "lshift"; a[a.rshift = 166] = "rshift"; a[a.urshift = 167] = "urshift"; a[a.bitand = 168] = "bitand"; a[a.bitor = 169] = "bitor"; a[a.bitxor = 170] = "bitxor"; a[a.equals = 171] = "equals"; a[a.strictequals = 172] = "strictequals"; a[a.lessthan = 173] = "lessthan"; a[a.lessequals = 174] = "lessequals"; a[a.greaterthan = 175] = "greaterthan"; a[a.greaterequals = 176] = "greaterequals"; a[a["instanceof"] = 177] = "instanceof"; a[a.istype = 178] = "istype"; a[a.istypelate = 179] = "istypelate"; a[a["in"] = 180] = "in"; a[a.increment_i = 192] = "increment_i"; a[a.decrement_i = 193] = "decrement_i"; a[a.inclocal_i = 194] = "inclocal_i"; a[a.declocal_i = 195] = "declocal_i"; a[a.negate_i = 196] = "negate_i"; a[a.add_i = 197] = "add_i"; a[a.subtract_i = 198] = "subtract_i"; a[a.multiply_i = 199] = "multiply_i"; a[a.getlocal0 = 208] = "getlocal0"; a[a.getlocal1 = 209] = "getlocal1"; a[a.getlocal2 = 210] = "getlocal2"; a[a.getlocal3 = 211] = "getlocal3"; a[a.setlocal0 = 212] = "setlocal0"; a[a.setlocal1 = 213] = "setlocal1"; a[a.setlocal2 = 214] = "setlocal2"; a[a.setlocal3 = 215] = "setlocal3"; a[a.invalid = 237] = "invalid"; a[a.debug = 239] = "debug"; a[a.debugline = 240] = "debugline"; a[a.debugfile = 241] = "debugfile"; a[a.bkptline = 242] = "bkptline"; a[a.timestamp = 243] = "timestamp"; })(k.OP || (k.OP = {})); k.opcodeTable = [null, {name:"bkpt", canThrow:!1, operands:[]}, {name:"nop", canThrow:!1, operands:[]}, {name:"throw", canThrow:!0, operands:[]}, {name:"getsuper", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"setsuper", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"dxns", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"dxnslate", canThrow:!0, operands:[]}, {name:"kill", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"label", canThrow:!1, operands:[]}, {name:"lf32x4", canThrow:!0, operands:[]}, {name:"sf32x4", canThrow:!0, operands:[]}, {name:"ifnlt", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifnle", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifngt", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifnge", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"jump", canThrow:!1, operands:[{name:"offset", size:"s24", type:""}]}, {name:"iftrue", canThrow:!1, operands:[{name:"offset", size:"s24", type:""}]}, {name:"iffalse", canThrow:!1, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifeq", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifne", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"iflt", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifle", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifgt", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifge", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifstricteq", canThrow:!1, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifstrictne", canThrow:!1, operands:[{name:"offset", size:"s24", type:""}]}, {name:"lookupswitch", canThrow:!1, operands:null}, {name:"pushwith", canThrow:!1, operands:[]}, {name:"popscope", canThrow:!1, operands:[]}, {name:"nextname", canThrow:!0, operands:[]}, {name:"hasnext", canThrow:!0, operands:[]}, {name:"pushnull", canThrow:!1, operands:[]}, {name:"pushundefined", canThrow:!1, operands:[]}, null, {name:"nextvalue", canThrow:!0, operands:[]}, {name:"pushbyte", canThrow:!1, operands:[{name:"value", size:"s08", type:""}]}, {name:"pushshort", canThrow:!1, operands:[{name:"value", size:"s16", type:""}]}, {name:"pushtrue", canThrow:!1, operands:[]}, {name:"pushfalse", canThrow:!1, operands:[]}, {name:"pushnan", canThrow:!1, operands:[]}, {name:"pop", canThrow:!1, operands:[]}, {name:"dup", canThrow:!1, operands:[]}, {name:"swap", canThrow:!1, operands:[]}, {name:"pushstring", canThrow:!1, operands:[{name:"index", size:"u30", type:"S"}]}, {name:"pushint", canThrow:!1, operands:[{name:"index", size:"u30", type:"I"}]}, {name:"pushuint", canThrow:!1, operands:[{name:"index", size:"u30", type:"U"}]}, {name:"pushdouble", canThrow:!1, operands:[{name:"index", size:"u30", type:"D"}]}, {name:"pushscope", canThrow:!1, operands:[]}, {name:"pushnamespace", canThrow:!1, operands:[{name:"index", size:"u30", type:"N"}]}, {name:"hasnext2", canThrow:!0, operands:[{name:"object", size:"u30", type:""}, {name:"index", size:"u30", type:""}]}, {name:"lix8", canThrow:!0, operands:null}, {name:"lix16", canThrow:!0, operands:null}, {name:"li8", canThrow:!0, operands:[]}, {name:"li16", canThrow:!0, operands:[]}, {name:"li32", canThrow:!0, operands:[]}, {name:"lf32", canThrow:!0, operands:[]}, {name:"lf64", canThrow:!0, operands:[]}, {name:"si8", canThrow:!0, operands:[]}, {name:"si16", canThrow:!0, operands:[]}, {name:"si32", canThrow:!0, operands:[]}, {name:"sf32", canThrow:!0, operands:[]}, {name:"sf64", canThrow:!0, operands:[]}, null, {name:"newfunction", canThrow:!0, operands:[{name:"index", size:"u30", type:"MI"}]}, {name:"call", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"construct", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"callmethod", canThrow:!0, operands:[{name:"index", size:"u30", type:""}, {name:"argCount", size:"u30", type:""}]}, {name:"callstatic", canThrow:!0, operands:[{name:"index", size:"u30", type:"MI"}, {name:"argCount", size:"u30", type:""}]}, {name:"callsuper", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"callproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"returnvoid", canThrow:!1, operands:[]}, {name:"returnvalue", canThrow:!0, operands:[]}, {name:"constructsuper", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"constructprop", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"callsuperid", canThrow:!0, operands:null}, {name:"callproplex", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"callinterface", canThrow:!0, operands:null}, {name:"callsupervoid", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"callpropvoid", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"sxi1", canThrow:!1, operands:[]}, {name:"sxi8", canThrow:!1, operands:[]}, {name:"sxi16", canThrow:!1, operands:[]}, {name:"applytype", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"pushfloat4", canThrow:!1, operands:null}, {name:"newobject", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"newarray", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"newactivation", canThrow:!0, operands:[]}, {name:"newclass", canThrow:!0, operands:[{name:"index", size:"u30", type:"CI"}]}, {name:"getdescendants", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"newcatch", canThrow:!0, operands:[{name:"index", size:"u30", type:"EI"}]}, {name:"findpropglobalstrict", canThrow:!0, operands:null}, {name:"findpropglobal", canThrow:!0, operands:null}, {name:"findpropstrict", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"findproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"finddef", canThrow:!0, operands:null}, {name:"getlex", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"setproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"getlocal", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"setlocal", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"getglobalscope", canThrow:!1, operands:[]}, {name:"getscopeobject", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"getproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"getouterscope", canThrow:!1, operands:null}, {name:"initproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, null, {name:"deleteproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, null, {name:"getslot", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"setslot", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"getglobalslot", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"setglobalslot", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"convert_s", canThrow:!0, operands:[]}, {name:"esc_xelem", canThrow:!0, operands:[]}, {name:"esc_xattr", canThrow:!0, operands:[]}, {name:"convert_i", canThrow:!0, operands:[]}, {name:"convert_u", canThrow:!0, operands:[]}, {name:"convert_d", canThrow:!0, operands:[]}, {name:"convert_b", canThrow:!0, operands:[]}, {name:"convert_o", canThrow:!0, operands:[]}, {name:"checkfilter", canThrow:!0, operands:[]}, {name:"convert_f", canThrow:!0, operands:[]}, {name:"unplus", canThrow:!0, operands:[]}, {name:"convert_f4", canThrow:!0, operands:[]}, null, null, null, null, {name:"coerce", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"coerce_b", canThrow:!0, operands:[]}, {name:"coerce_a", canThrow:!0, operands:[]}, {name:"coerce_i", canThrow:!0, operands:[]}, {name:"coerce_d", canThrow:!0, operands:[]}, {name:"coerce_s", canThrow:!0, operands:[]}, {name:"astype", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"astypelate", canThrow:!0, operands:[]}, {name:"coerce_u", canThrow:!0, operands:[]}, {name:"coerce_o", canThrow:!0, operands:[]}, null, null, null, null, null, null, {name:"negate", canThrow:!0, operands:[]}, {name:"increment", canThrow:!0, operands:[]}, {name:"inclocal", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"decrement", canThrow:!0, operands:[]}, {name:"declocal", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"typeof", canThrow:!1, operands:[]}, {name:"not", canThrow:!1, operands:[]}, {name:"bitnot", canThrow:!0, operands:[]}, null, null, null, null, null, null, null, null, {name:"add", canThrow:!0, operands:[]}, {name:"subtract", canThrow:!0, operands:[]}, {name:"multiply", canThrow:!0, operands:[]}, {name:"divide", canThrow:!0, operands:[]}, {name:"modulo", canThrow:!0, operands:[]}, {name:"lshift", canThrow:!0, operands:[]}, {name:"rshift", canThrow:!0, operands:[]}, {name:"urshift", canThrow:!0, operands:[]}, {name:"bitand", canThrow:!0, operands:[]}, {name:"bitor", canThrow:!0, operands:[]}, {name:"bitxor", canThrow:!0, operands:[]}, {name:"equals", canThrow:!0, operands:[]}, {name:"strictequals", canThrow:!0, operands:[]}, {name:"lessthan", canThrow:!0, operands:[]}, {name:"lessequals", canThrow:!0, operands:[]}, {name:"greaterthan", canThrow:!0, operands:[]}, {name:"greaterequals", canThrow:!0, operands:[]}, {name:"instanceof", canThrow:!0, operands:[]}, {name:"istype", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"istypelate", canThrow:!0, operands:[]}, {name:"in", canThrow:!0, operands:[]}, null, null, null, null, null, null, null, null, null, null, null, {name:"increment_i", canThrow:!0, operands:[]}, {name:"decrement_i", canThrow:!0, operands:[]}, {name:"inclocal_i", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"declocal_i", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"negate_i", canThrow:!0, operands:[]}, {name:"add_i", canThrow:!0, operands:[]}, {name:"subtract_i", canThrow:!0, operands:[]}, {name:"multiply_i", canThrow:!0, operands:[]}, null, null, null, null, null, null, null, null, {name:"getlocal0", canThrow:!1, operands:[]}, {name:"getlocal1", canThrow:!1, operands:[]}, {name:"getlocal2", canThrow:!1, operands:[]}, {name:"getlocal3", canThrow:!1, operands:[]}, {name:"setlocal0", canThrow:!1, operands:[]}, {name:"setlocal1", canThrow:!1, operands:[]}, {name:"setlocal2", canThrow:!1, operands:[]}, {name:"setlocal3", canThrow:!1, operands:[]}, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, {name:"invalid", canThrow:!1, operands:[]}, null, {name:"debug", canThrow:!0, operands:[{name:"debugType", size:"u08", type:""}, {name:"index", size:"u30", type:"S"}, {name:"reg", size:"u08", type:""}, {name:"extra", size:"u30", type:""}]}, {name:"debugline", canThrow:!0, operands:[{name:"lineNumber", size:"u30", type:""}]}, {name:"debugfile", canThrow:!0, operands:[{name:"index", size:"u30", type:"S"}]}, null, null, null, null, null, null, null, null, null, null, null, null, null, null]; k.opcodeName = function(a) { return k.opcodeTable[a].name; }; var d = function() { function a(c) { var e = c.readU8(); this.op = e; this.originalPosition = c.position; var d = b.AVM2.opcodeTable[e]; d || f("Unknown Op " + e); this.canThrow = d.canThrow; var p; switch(e) { case 27: d = c.readS24(); this.offsets = []; p = c.readU30() + 1; for (e = 0;e < p;e++) { this.offsets.push(c.readS24()); } this.offsets.push(d); break; default: for (e = 0, p = d.operands.length;e < p;e++) { var r = d.operands[e]; switch(r.size) { case "u08": this[r.name] = c.readU8(); break; case "s08": this[r.name] = c.readS8(); break; case "s16": this[r.name] = c.readS16(); break; case "s24": this[r.name] = c.readS24(); break; case "u30": this[r.name] = c.readU30(); break; case "u32": this[r.name] = c.readU32(); break; default: f(); } } ; } } a.prototype.makeBlockHead = function(a) { if (this.succs) { return a; } this.bid = a; this.succs = []; this.preds = []; this.dominatees = []; return a + 1; }; a.prototype.trace = function(a) { this.succs && a.writeLn("#" + this.bid); }; a.prototype.toString = function(a) { var c = b.AVM2.opcodeTable[this.op], e = c.name.padRight(" ", 20), d, p; if (27 === this.op) { for (e += "targets:", d = 0, p = this.targets.length;d < p;d++) { e += (0 < d ? "," : "") + this.targets[d].position; } } else { for (d = 0, p = c.operands.length;d < p;d++) { var h = c.operands[d]; if ("offset" === h.name) { e += "target:" + this.target.position; } else { var e = e + (h.name + ": "), n = this[h.name]; if (a) { switch(h.type) { case "": e += n; break; case "I": e += a.constantPool.ints[n]; break; case "U": e += a.constantPool.uints[n]; break; case "D": e += a.constantPool.doubles[n]; break; case "S": e += a.constantPool.strings[n]; break; case "N": e += a.constantPool.namespaces[n]; break; case "CI": e += a.classes[n]; break; case "M": e += a.constantPool.multinames[n]; break; default: e += "?"; } } else { e += n; } } d < p - 1 && (e += ", "); } } return e; }; return a; }(); k.Bytecode = d; var a = b.BitSets.BITS_PER_WORD, c = b.BitSets.ADDRESS_BITS_PER_WORD, n = b.BitSets.BIT_INDEX_MASK, p = function(b) { function d(a, c) { b.call(this, a); this.blockById = c; } __extends(d, b); d.prototype.forEachBlock = function(b) { g(b); for (var c = this.blockById, e = this.bits, d = 0, h = e.length;d < h;d++) { var p = e[d]; if (p) { for (var n = 0;n < a;n++) { p & 1 << n && b(c[d * a + n]); } } } }; d.prototype.choose = function() { for (var b = this.blockById, c = this.bits, e = 0, d = c.length;e < d;e++) { var h = c[e]; if (h) { for (var p = 0;p < a;p++) { if (h & 1 << p) { return b[e * a + p]; } } } } }; d.prototype.members = function() { for (var b = this.blockById, c = [], e = this.bits, d = 0, h = e.length;d < h;d++) { var p = e[d]; if (p) { for (var n = 0;n < a;n++) { p & 1 << n && c.push(b[d * a + n]); } } } return c; }; d.prototype.setBlocks = function(a) { for (var b = this.bits, e = 0, d = a.length;e < d;e++) { var h = a[e].bid; b[h >> c] |= 1 << (h & n); } }; return d; }(b.BitSets.Uint32ArrayBitSet); k.BlockSet = p; p = function() { function a(b) { this.methodInfo = b; this.methodInfo.code && (k.enterTimeline("normalizeBytecode"), this.normalizeBytecode(), k.leaveTimeline()); } a.prototype.makeBlockSetFactory = function(a, c) { g(!this.boundBlockSet); this.boundBlockSet = function() { return new b.AVM2.BlockSet(a, c); }; }; a.prototype.accessLocal = function(a) { 0 !== a-- && a < this.methodInfo.parameters.length && (this.methodInfo.parameters[a].isUsed = !0); }; a.prototype.getInvalidTarget = function(a, b) { if (a && a[b]) { return a[b]; } var c = Object.create(d.prototype); c.op = 237; c.position = b; a && (a[b] = c); return c; }; a.prototype.normalizeBytecode = function() { for (var a = [], b = [], c = new t(this.methodInfo.code), e;0 < c.remaining();) { var p = c.position; e = new d(c); switch(e.op) { case 2: ; case 9: a[p] = b.length; continue; case 27: this.methodInfo.hasLookupSwitches = !0; e.targets = []; for (var h = e.offsets, n = 0, f = h.length;n < f;n++) { h[n] += p; } break; case 16: ; case 21: ; case 12: ; case 22: ; case 13: ; case 23: ; case 14: ; case 24: ; case 15: ; case 19: ; case 20: ; case 25: ; case 26: ; case 17: ; case 18: e.offset += c.position; break; case 208: ; case 209: ; case 210: ; case 211: this.accessLocal(e.op - 208); break; case 98: this.accessLocal(e.index); } e.position = b.length; a[p] = b.length; b.push(e); } for (var c = {}, g = 0, m = b.length;g < m;g++) { switch(e = b[g], e.op) { case 27: h = e.offsets; n = 0; for (f = h.length;n < f;n++) { p = a[h[n]], e.targets.push(b[p] || this.getInvalidTarget(c, h[n])), h[n] = p; } break; case 16: ; case 21: ; case 12: ; case 22: ; case 13: ; case 23: ; case 14: ; case 24: ; case 15: ; case 19: ; case 20: ; case 25: ; case 26: ; case 17: ; case 18: p = a[e.offset], e.target = b[p] || this.getInvalidTarget(c, e.offset), e.offset = p; } } this.bytecodes = b; e = this.methodInfo.exceptions; n = 0; for (f = e.length;n < f;n++) { h = e[n], h.start = a[h.start], h.end = a[h.end], h.offset = a[h.target], h.target = b[h.offset], h.target.exception = h; } }; a.prototype.analyzeControlFlow = function() { g(this.bytecodes); k.enterTimeline("analyzeControlFlow"); this.detectBasicBlocks(); this.normalizeReachableBlocks(); this.computeDominance(); this.analyzedControlFlow = !0; k.leaveTimeline(); return!0; }; a.prototype.detectBasicBlocks = function() { var a = this.bytecodes, b = this.methodInfo.exceptions, c = 0 < b.length, e = {}, d, h, p, n; n = a[0].makeBlockHead(0); h = 0; for (p = a.length - 1;h < p;h++) { switch(d = a[h], d.op) { case 71: ; case 72: ; case 3: n = a[h + 1].makeBlockHead(n); break; case 27: d = d.targets; for (var f = 0, m = d.length;f < m;f++) { n = d[f].makeBlockHead(n); } n = a[h + 1].makeBlockHead(n); break; case 16: ; case 21: ; case 12: ; case 22: ; case 13: ; case 23: ; case 14: ; case 24: ; case 15: ; case 19: ; case 20: ; case 25: ; case 26: ; case 17: ; case 18: n = d.target.makeBlockHead(n), n = a[h + 1].makeBlockHead(n); } } d = a[p]; switch(d.op) { case 27: d = d.targets; f = 0; for (m = d.length;f < m;f++) { n = d[f].makeBlockHead(n); } break; case 16: n = d.target.makeBlockHead(n); break; case 21: ; case 12: ; case 22: ; case 13: ; case 23: ; case 14: ; case 24: ; case 15: ; case 19: ; case 20: ; case 25: ; case 26: ; case 17: ; case 18: n = d.target.makeBlockHead(n), a[h + 1] = this.getInvalidTarget(null, h + 1), n = a[h + 1].makeBlockHead(n); } if (c) { for (f = 0;f < b.length;f++) { h = b[f], p = a[h.end + 1], n = a[h.start].makeBlockHead(n), p && (n = p.makeBlockHead(n)), n = h.target.makeBlockHead(n); } } var k = a[0]; h = 1; for (p = a.length;h < p;h++) { if (a[h].succs) { g(k.succs); e[k.bid] = k; d = a[h - 1]; k.end = d; var s = a[h]; switch(d.op) { case 71: ; case 72: ; case 3: break; case 27: f = 0; for (m = d.targets.length;f < m;f++) { k.succs.push(d.targets[f]); } break; case 16: k.succs.push(d.target); break; case 21: ; case 12: ; case 22: ; case 13: ; case 23: ; case 14: ; case 24: ; case 15: ; case 19: ; case 20: ; case 25: ; case 26: ; case 17: ; case 18: k.succs.push(d.target); d.target !== s && k.succs.push(s); break; default: k.succs.push(s); } if (c) { f = k; m = []; d = 0; for (var t = b.length;d < t;d++) { var K = b[d]; f.position >= K.start && f.end.position <= K.end && m.push(K.target); } d = m; k.hasCatches = 0 < d.length; k.succs.push.apply(k.succs, d); } k = s; } } e[k.bid] = k; d = a[p - 1]; switch(d.op) { case 27: f = 0; for (m = d.targets.length;f < m;f++) { k.succs.push(d.targets[f]); } break; case 16: k.succs.push(d.target); } k.end = d; this.makeBlockSetFactory(n, e); }; a.prototype.normalizeReachableBlocks = function() { var a = this.bytecodes[0]; g(0 === a.preds.length); var b = [], c = {}, e = {}, d = [a]; for (e[a.bid] = !0;a = s(d);) { if (c[a.bid]) { if (1 === c[a.bid]) { c[a.bid] = 2; b.push(a); for (var h = a.succs, p = 0, n = h.length;p < n;p++) { h[p].preds.push(a); } } e[a.bid] = !1; d.pop(); } else { for (c[a.bid] = 1, e[a.bid] = !0, h = a.succs, p = 0, n = h.length;p < n;p++) { var f = h[p]; e[f.bid] && (a.spbacks || (a.spbacks = new this.boundBlockSet), a.spbacks.set(f.bid)); !c[f.bid] && d.push(f); } } } this.blocks = b.reverse(); }; a.prototype.computeDominance = function() { var a = this.blocks, b = a.length, c = Array(b); c[0] = 0; for (var e = {}, d = 0;d < b;d++) { e[a[d].bid] = d; } for (var h = !0;h;) { for (h = !1, d = 1;d < b;d++) { var p = a[d].preds, n = p.length, f = e[p[0].bid]; if (!(f in c)) { for (var m = 1;m < n && !(f = e[p[m].bid], f in c);m++) { } } g(f in c); for (m = 0;m < n;m++) { var k = e[p[m].bid]; if (k !== f && k in c) { for (;k !== f;) { for (;k > f;) { k = c[k]; } for (;f > k;) { f = c[f]; } } f = k; } } c[d] !== f && (c[d] = f, h = !0); } } a[0].dominator = a[0]; for (d = 1;d < b;d++) { e = a[d], m = a[c[d]], e.dominator = m, m.dominatees.push(e), e.npreds = e.preds.length; } b = [a[0]]; for (a[0].level || (a[0].level = 0);e = b.shift();) { a = e.dominatees; for (m = 0;m < a.length;m++) { a[m].level = e.level + 1; } b.push.apply(b, a); } }; a.prototype.markLoops = function() { function a(b) { var c = 1, h = {}, e = {}, d = [], p = [], l = [], n = b.level + 1; b = [b]; for (var q, r;q = s(b);) { if (h[q.bid]) { if (m(p) === q) { p.pop(); var f = []; do { r = d.pop(), e[r.bid] = !0, f.push(r); } while (r !== q); (1 < f.length || r.spbacks && r.spbacks.get(r.bid)) && l.push(f); } b.pop(); } else { h[q.bid] = c++; d.push(q); p.push(q); r = q.succs; for (var f = 0, x = r.length;f < x;f++) { if (q = r[f], !(q.level < n)) { var w = q.bid; if (!h[w]) { b.push(q); } else { if (!e[w]) { for (;h[m(p).bid] > h[w];) { p.pop(); } } } } } } } return l; } function b(a, c) { var h = new e; h.setBlocks(a); h.recount(); this.id = c; this.body = h; this.exit = new e; this.save = {}; this.head = new e; this.npreds = 0; this._dirtyLocals = null; } if (!this.analyzedControlFlow && !this.analyzeControlFlow()) { return!1; } var c = this.bytecodes, e = this.boundBlockSet; b.prototype.getDirtyLocals = function() { if (this._dirtyLocals) { return this._dirtyLocals; } var a = this._dirtyLocals = []; this.body.members().forEach(function(b) { var h = b.position; for (b = b.end.position;h <= b;h++) { var e = c[h], d = e.op; switch(d) { case 146: ; case 148: ; case 99: ; case 194: ; case 195: a[e.index] = !0; break; case 50: a[e.index] = !0; a[e.object] = !0; break; case 212: ; case 213: ; case 214: ; case 215: a[d - 212] = !0; } } }); return a; }; var d = function(a) { for (var b = new e, c = 0, h = a.length;c < h;c++) { var d = a[c], p = d.spbacks; if (p) { for (var d = d.succs, l = 0, n = d.length;l < n;l++) { var q = d[l]; p.get(q.bid) && b.set(q.dominator.bid); } } } return b.members(); }(this.blocks); if (0 >= d.length) { return this.markedLoops = !0; } for (var d = d.sort(function(a, b) { return a.level - b.level; }), h = 0, p = d.length - 1;0 <= p;p--) { var n = d[p], f = a(n); if (0 !== f.length) { for (var g = 0, k = f.length;g < k;g++) { for (var t = f[g], O = new b(t, h++), K = 0, F = t.length;K < F;K++) { var J = t[K]; if (J.level === n.level + 1 && !J.loop) { J.loop = O; O.head.set(J.bid); for (var A = J.preds, B = 0, z = A.length;B < z;B++) { O.body.get(A[B].bid) && J.npreds--; } O.npreds += J.npreds; } } K = 0; for (F = t.length;K < F;K++) { J = t[K], J.level === n.level + 1 && (J.npreds = O.npreds); } O.head.recount(); } } } return this.markedLoops = !0; }; return a; }(); k.Analysis = p; })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var Bytecode = Shumway.AVM2.Bytecode, Analysis = Shumway.AVM2.Analysis; (function(b) { (function(k) { var g = b.Options.Option, f = b.Options.OptionSet, t = b.Settings.shumwayOptions.register(new f("AVM2")); (function(b) { var m = t.register(new f("Runtime")); b.traceExecution = m.register(new g("tx", "traceExecution", "number", 0, "trace script execution", {choices:{off:0, normal:2, verbose:3}})); b.traceCallExecution = m.register(new g("txc", "traceCallExecution", "number", 0, "trace call execution", {choices:{off:0, normal:1, verbose:2}})); b.traceFunctions = m.register(new g("t", "traceFunctions", "number", 0, "trace functions", {choices:{off:0, compiled:1, "compiled & abc":2}})); b.traceClasses = m.register(new g("tc", "traceClasses", "boolean", !1, "trace class creation")); b.traceDomain = m.register(new g("td", "traceDomain", "boolean", !1, "trace domain property access")); b.debuggerMode = m.register(new g("db", "debuggerMode", "boolean", !0, "enable debugger mode")); b.globalMultinameAnalysis = m.register(new g("ga", "globalMultinameAnalysis", "boolean", !1, "Global multiname analysis.")); b.codeCaching = m.register(new g("cc", "codeCaching", "boolean", !1, "Enable code caching.")); b.compilerEnableExceptions = m.register(new g("cex", "exceptions", "boolean", !1, "Compile functions with catch blocks.")); b.compilerMaximumMethodSize = m.register(new g("cmms", "maximumMethodSize", "number", 4096, "Compiler maximum method size.")); b = b.ExecutionMode || (b.ExecutionMode = {}); b[b.INTERPRET = 1] = "INTERPRET"; b[b.COMPILE = 2] = "COMPILE"; })(k.Runtime || (k.Runtime = {})); (function(b) { b.options = t.register(new f("Compiler")); b.traceLevel = b.options.register(new g("tc4", "tc4", "number", 0, "Compiler Trace Level")); b.breakFilter = b.options.register(new g("", "break", "string", "", "Set a break point at methods whose qualified name matches this string pattern.")); b.compileFilter = b.options.register(new g("", "compile", "string", "", "Only compile methods whose qualified name matches this string pattern.")); b.enableDirtyLocals = b.options.register(new g("dl", "dirtyLocals", "boolean", !0, "Performe dirty local analysis to minimise PHI nodes.")); })(k.Compiler || (k.Compiler = {})); (function(b) { b.options = t.register(new f("Verifier")); b.enabled = b.options.register(new g("verifier", "verifier", "boolean", !0, "Enable verifier.")); b.traceLevel = b.options.register(new g("tv", "tv", "number", 0, "Verifier Trace Level")); })(k.Verifier || (k.Verifier = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var Namespace = Shumway.AVM2.ABC.Namespace; (function(b) { (function(k) { (function(g) { function f(a) { var c = this.resolutionMap[a.runtimeId]; if (c) { return c; } var c = this.resolutionMap[a.runtimeId] = b.ObjectUtilities.createMap(), h = this.bindings, e; for (e in h.map) { var d = e, p = h.map[e].trait; if (p.isGetter() || p.isSetter()) { d = d.substring(g.Binding.KEY_PREFIX_LENGTH); } d = W.fromQualifiedName(d); d.getNamespace().inNamespaceSet(a) && (c[d.getName()] = W.getQualifiedName(p.name)); } return c; } function t(a, c, h) { na(c) ? c = String(Q(c)) : "object" === typeof c && (c = String(c)); return b.isNumeric(c) ? b.toNumber(c) : a ? 1 < a.length ? (a = this.getNamespaceResolutionMap(a)[c]) ? a : W.getPublicQualifiedName(c) : W.qualifyName(a[0], c) : W.getPublicQualifiedName(c); } function s(a) { return this.asGetProperty(void 0, a, 0); } function m(a, b, c) { a = this.resolveMultinameProperty(a, b, c); return this.asGetNumericProperty && W.isNumeric(a) ? this.asGetNumericProperty(a) : this[a]; } function d(a) { la(b.isString(a)); return this[a]; } function a(a, b, c) { b = b ? null : this; var h = this.asOpenMethods; return(b && h && h[a] ? h[a] : this[a]).asApply(b, c); } function c(a, b) { return this.asSetProperty(void 0, a, 0, b); } function n(a, b) { b === W.VALUE_OF ? (ia(a, "original_valueOf", a.valueOf), a.valueOf = g.forwardValueOf) : b === W.TO_STRING && (ia(a, "original_toString", a.toString), a.toString = g.forwardToString); } function p(a, b, c, h) { "object" === typeof b && (b = String(b)); a = this.resolveMultinameProperty(a, b, c); if (this.asSetNumericProperty && W.isNumeric(a)) { return this.asSetNumericProperty(a, h); } (b = this.asSlots.byQN[a]) && (b = b.type) && b.coerce && (h = b.coerce(h)); n(this, a); this[a] = h; } function e(a, b) { return this.asDefineProperty(void 0, a, 0, b); } function q(a, b, c, h) { "object" === typeof b && (b = String(b)); a = this.resolveMultinameProperty(a, b, c); Object.defineProperty(this, a, h); } function l(a, b) { return this.asCallProperty(void 0, a, 0, !1, b); } function u(a, b, c, h, e) { g.traceCallExecution.value && ra.enter("call " + (this.class ? this.class + " " : "") + b + "(" + ya(e) + ") #" + ka.count(b)); h = h ? null : this; a = this.resolveMultinameProperty(a, b, c); this.asGetNumericProperty && W.isNumeric(a) ? a = this.asGetNumericProperty(a) : (b = this.asOpenMethods, a = h && b && b[a] ? b[a] : this[a]); e = a.asApply(h, e); 0 < g.traceCallExecution.value && ra.leave("return " + va(e)); return e; } function w(a, b, c, h, e) { g.traceCallExecution.value && ra.enter("call super " + (this.class ? this.class + " " : "") + c + "(" + ya(e) + ") #" + ka.count(c)); a = a.object.baseClass; b = a.traitsPrototype.resolveMultinameProperty(b, c, h); c = a.traitsPrototype.asOpenMethods; la(c && c[b]); e = c[b].asApply(this, e); 0 < g.traceCallExecution.value && ra.leave("return " + va(e)); return e; } function r(a, b, c, h, e) { g.traceCallExecution.value && ra.enter("set super " + (this.class ? this.class + " " : "") + c + "(" + va(e) + ") #" + ka.count(c)); a = a.object.baseClass; var d = a.traitsPrototype.resolveMultinameProperty(b, c, h); this.asSlots.byQN[d] ? this.asSetProperty(b, c, h, e) : a.traitsPrototype[g.VM_OPEN_SET_METHOD_PREFIX + d].call(this, e); 0 < g.traceCallExecution.value && ra.leave(""); } function h(a, b, c, h) { g.traceCallExecution.value && ra.enter("get super " + (this.class ? this.class + " " : "") + c + " #" + ka.count(c)); a = a.object.baseClass; var e = a.traitsPrototype.resolveMultinameProperty(b, c, h); b = this.asSlots.byQN[e] ? this.asGetProperty(b, c, h) : a.traitsPrototype[g.VM_OPEN_GET_METHOD_PREFIX + e].call(this); 0 < g.traceCallExecution.value && ra.leave("return " + va(b)); return b; } function x(a, b) { if (a.classInfo) { var c = W.getQualifiedName(a.classInfo.instanceInfo.name); if (c === W.String) { return String.asApply(null, b); } if (c === W.Boolean) { return Boolean.asApply(null, b); } if (c === W.Number) { return Number.asApply(null, b); } } c = a.instanceConstructor; switch(b.length) { case 0: return new c; case 1: return new c(b[0]); case 2: return new c(b[0], b[1]); case 3: return new c(b[0], b[1], b[2]); case 4: return new c(b[0], b[1], b[2], b[3]); case 5: return new c(b[0], b[1], b[2], b[3], b[4]); case 6: return new c(b[0], b[1], b[2], b[3], b[4], b[5]); case 7: return new c(b[0], b[1], b[2], b[3], b[4], b[5], b[6]); case 8: return new c(b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7]); case 9: return new c(b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8]); case 10: return new c(b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8], b[9]); } for (var h = [], e = 0;e < b.length;e++) { h[e + 1] = b[e]; } return new (Function.bind.asApply(c, h)); } function y(a, b, c, h) { a = this.asGetProperty(a, b, c); g.traceCallExecution.value && ra.enter("construct " + b + "(" + ya(h) + ") #" + ka.count(b)); b = x(a, h); 0 < g.traceCallExecution.value && ra.leave("return " + va(b)); return b; } function G(a, b, c) { return this.resolveMultinameProperty(a, b, c) in this; } function I(a, b, c) { a = this.resolveMultinameProperty(a, b, c); return oa(this, a); } function C(a, b, c) { a = this.resolveMultinameProperty(a, b, c); return pa(this, a); } function E(a, b, c) { return this.asHasTraitProperty(a, b, c) ? !1 : delete this[this.resolveMultinameProperty(a, b, c)]; } function O(a, b, c) { a = this.resolveMultinameProperty(a, b, c); return 0 <= this.asBindings.indexOf(a); } function K(a) { return this[a]; } function F(a, b) { this[a] = b; } function J(a) { 0 === a && ia(this, "asEnumerableKeys", this.asGetEnumerableKeys()); for (var b = this.asEnumerableKeys;a < b.length;) { if (this.asHasProperty(void 0, b[a], 0)) { return a + 1; } a++; } return 0; } function A(a) { var b = this.asEnumerableKeys; la(b && 0 < a && a < b.length + 1); return b[a - 1]; } function B(a) { return this.asGetPublicProperty(this.asNextName(a)); } function z(a) { if (na(a.object)) { a.index = 0, a.object = null; } else { var b = sa(a.object), c = b.asNextNameIndex(a.index); if (0 < c) { a.index = c, a.object = b; } else { for (;;) { b = Object.getPrototypeOf(b); if (!b) { a.index = 0; a.object = null; break; } c = b.asNextNameIndex(0); if (0 < c) { a.index = c; a.object = b; break; } } } } } function P() { if (this instanceof String || this instanceof Number) { return[]; } for (var a = Object.keys(this), c = [], h = 0;h < a.length;h++) { var e = a[h]; b.isNumeric(e) ? c.push(e) : (e = W.stripPublicQualifier(e), void 0 !== e && c.push(e)); } return c; } function D(a, b) { a || L("TypeError", k.Errors.NullPointerError, b); } function L(a, c) { for (var h = 0;h < arguments.length - 2;h++) { } h = b.AVM2.formatErrorMessage.apply(null, Array.prototype.slice.call(arguments, 1)); M(g.AVM2.currentDomain(), a, h, c.code); } function M(a, b, c, h) { throw new (a.getClass(b).instanceConstructor)(c, h); } function V(a, b) { return a.coerce(b); } function Q(a) { return "string" === typeof a ? a : void 0 == a ? null : a + ""; } function U(a) { return void 0 == a ? null : "string" === typeof a || "number" === typeof a ? a : Object(a); } function S(a, b) { return String(a).localeCompare(String(b)); } function aa(a) { return a instanceof b.AVM2.AS.ASXML || a instanceof b.AVM2.AS.ASXMLList; } function $(b) { "Object Number Boolean String Array Date RegExp".split(" ").forEach(function(a) { wa(b[a].prototype, g.VM_NATIVE_PROTOTYPE_FLAG, !0); }); ia(b.Object.prototype, "getNamespaceResolutionMap", f); ia(b.Object.prototype, "resolveMultinameProperty", t); ia(b.Object.prototype, "asGetProperty", m); ia(b.Object.prototype, "asGetPublicProperty", s); ia(b.Object.prototype, "asGetResolvedStringProperty", d); ia(b.Object.prototype, "asSetProperty", p); ia(b.Object.prototype, "asSetPublicProperty", c); ia(b.Object.prototype, "asDefineProperty", q); ia(b.Object.prototype, "asDefinePublicProperty", e); ia(b.Object.prototype, "asCallProperty", u); ia(b.Object.prototype, "asCallSuper", w); ia(b.Object.prototype, "asGetSuper", h); ia(b.Object.prototype, "asSetSuper", r); ia(b.Object.prototype, "asCallPublicProperty", l); ia(b.Object.prototype, "asCallResolvedStringProperty", a); ia(b.Object.prototype, "asConstructProperty", y); ia(b.Object.prototype, "asHasProperty", G); ia(b.Object.prototype, "asHasPropertyInternal", G); ia(b.Object.prototype, "asHasOwnProperty", I); ia(b.Object.prototype, "asPropertyIsEnumerable", C); ia(b.Object.prototype, "asHasTraitProperty", O); ia(b.Object.prototype, "asDeleteProperty", E); ia(b.Object.prototype, "asHasNext2", z); ia(b.Object.prototype, "asNextName", A); ia(b.Object.prototype, "asNextValue", B); ia(b.Object.prototype, "asNextNameIndex", J); ia(b.Object.prototype, "asGetEnumerableKeys", P); ia(b.Function.prototype, "asCall", b.Function.prototype.call); ia(b.Function.prototype, "asApply", b.Function.prototype.apply); "Array Object Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" ").forEach(function(a) { a in b ? (ia(b[a].prototype, "asGetNumericProperty", K), ia(b[a].prototype, "asSetNumericProperty", F)) : log(a + " was not found in globals"); }); b.Array.prototype.asGetProperty = function(a, b, c) { return "number" === typeof b ? this[b] : m.call(this, a, b, c); }; b.Array.prototype.asSetProperty = function(a, b, c, h) { if ("number" === typeof b) { this[b] = h; } else { return p.call(this, a, b, c, h); } }; } function ea(a, b) { b && (new g.CatchBindings(new g.Scope(null, this), b)).applyTo(a, this); } function Z(a, b) { "undefined" === typeof b && (b = 0); return Array.prototype.slice.call(a, b); } function v(a) { return!a.hasBody || a.hasExceptions() && !g.compilerEnableExceptions.value || a.hasSetsDxns() || a.code.length > g.compilerMaximumMethodSize.value ? !1 : !0; } function X(a) { return!v(a) || a.isClassInitializer || a.isScriptInitializer ? !1 : !0; } function ba(a) { if (a.hasExceptions()) { return!1; } a = a.holder; a instanceof da && (a = a.instanceInfo); if (a instanceof ja) { switch(a.name.namespaces[0].uri) { case "flash.geom": ; case "flash.events": return!0; } switch(a.name.getOriginalName()) { case "com.google.youtube.model.VideoData": return!0; } } return!1; } function R(a) { if (g.codeCaching.value) { var b = g.CODE_CACHE[a.abc.hash]; if (b) { b.isInitialized || (b.isInitialized = !0); if (b = b.methods[a.index]) { return log("Linking CC: " + a), k.countTimeline("Code Cache Hit"), b; } a.isInstanceInitializer || a.isClassInitializer ? k.countTimeline("Code Cache Query On Initializer") : (k.countTimeline("Code Cache MISS ON OTHER"), warn("Shouldn't MISS: " + a + " " + a.debugName)); k.countTimeline("Code Cache Miss"); } else { warn("Cannot Find Code Cache For ABC, name: " + a.abc.name + ", hash: " + a.abc.hash), k.countTimeline("Code Cache ABC Miss"); } } } function H(a, c, h) { var e = !1, d = a.parameters.map(function(a) { void 0 !== a.value && (e = !0); return a.value; }); h = h ? function(c) { var h = this === jsGlobal ? c.global.object : this, p = Z(arguments, 1); e && p.length < d.length && (p = p.concat(d.slice(p.length - d.length))); return b.AVM2.Interpreter.interpretMethod(h, a, c, p); } : function() { var h = this === jsGlobal ? c.global.object : this, p = Z(arguments); e && p.length < d.length && (p = p.concat(d.slice(arguments.length - d.length))); return b.AVM2.Interpreter.interpretMethod(h, a, c, p); }; a.hasSetsDxns() && (h = function(a) { return function() { var c = b.AVM2.AS.ASXML.defaultNamespace; try { var h = a.apply(this, arguments); b.AVM2.AS.ASXML.defaultNamespace = c; return h; } catch (e) { throw b.AVM2.AS.ASXML.defaultNamespace = c, e; } }; }(h)); h.instanceConstructor = h; h.debugName = "Interpreter Function #" + Ga++; return h; } function Y(a, c, h, e, d) { d = R(a); var p; d || (p = k.Compiler.compileMethod(a, c, h)); c = a.name ? W.getQualifiedName(a.name) : "fn" + Aa; a.holder && (h = "", a.holder instanceof da ? h = "static$" + a.holder.instanceInfo.name.getName() : a.holder instanceof ja ? h = a.holder.name.getName() : a.holder instanceof N && (h = "script"), c = h + "$" + c); c = b.StringUtilities.escapeString(c); a.verified && (c += "$V"); e || (h = b.AVM2.Compiler.breakFilter.value) && 0 <= c.search(h) && (e = !0); h = p.body; e && (h = "{ debugger; \n" + h + "}"); if (!d) { var l = "function " + c + " (" + p.parameters.join(", ") + ") " + h } 1 < g.traceFunctions.value && a.trace(new T, a.abc); a.debugTrace = function() { a.trace(new T, a.abc); }; 0 < g.traceFunctions.value && log(l); e = d || (new Function("return " + l))(); e.debugName = "Compiled Function #" + Ha++; return e; } function ga(a, c, h, e) { la(!a.isNative(), "Method should have a builtin: " + a.name); if (a.freeMethod) { return h ? g.bindFreeMethodScope(a, c) : a.freeMethod; } var d; if (d = g.checkMethodOverrides(a)) { return la(!h), d; } ca(a); d = !1; 1 !== a.abc.applicationDomain.mode && X(a) || ba(a) || (d = !0); var p = b.AVM2.Compiler.compileFilter.value; p && a.name && 0 > W.getQualifiedName(a.name).search(p) && (d = !0); d ? a.freeMethod = H(a, c, h) : (Aa++, a.freeMethod = Y(a, c, h, e, a.isInstanceInitializer)); a.freeMethod.methodInfo = a; return h ? g.bindFreeMethodScope(a, c) : a.freeMethod; } function ca(a) { if (!a.analysis) { a.analysis = new k.Analysis(a); a.needsActivation() && (a.activationPrototype = new Ba(a), (new g.ActivationBindings(a)).applyTo(a.abc.applicationDomain, a.activationPrototype)); for (var b = a.exceptions, c = 0, h = b.length;c < h;c++) { var e = b[c]; if (e.varName) { var d = Object.create(ma.prototype); d.kind = 0; d.name = e.varName; d.typeName = e.typeName; d.holder = a; e.scopeObject = new ea(a.abc.applicationDomain, d); } else { e.scopeObject = new ea(void 0, void 0); } } } } g.sealConstTraits = !1; g.useAsAdd = !0; var ka = new b.Metrics.Counter(!0), W = b.AVM2.ABC.Multiname, ha = b.AVM2.ABC.Namespace, da = b.AVM2.ABC.ClassInfo, ja = b.AVM2.ABC.InstanceInfo, N = b.AVM2.ABC.ScriptInfo, ma = b.AVM2.ABC.Trait, T = b.IndentingWriter, oa = b.ObjectUtilities.hasOwnProperty, pa = b.ObjectUtilities.propertyIsEnumerable, na = b.isNullOrUndefined, fa = b.ObjectUtilities.createEmptyObject, sa = b.ObjectUtilities.boxValue, xa = b.FunctionUtilities.bindSafely, la = b.Debug.assert, qa = b.ObjectUtilities.defineNonEnumerableGetterOrSetter, ia = b.ObjectUtilities.defineNonEnumerableProperty, wa = b.ObjectUtilities.defineReadOnlyProperty, Ia = b.ObjectUtilities.defineNonEnumerableGetter, va = b.StringUtilities.toSafeString, ya = b.StringUtilities.toSafeArrayString; g.VM_SLOTS = "asSlots"; g.VM_LENGTH = "asLength"; g.VM_BINDINGS = "asBindings"; g.VM_NATIVE_PROTOTYPE_FLAG = "asIsNative"; g.VM_OPEN_METHODS = "asOpenMethods"; g.VM_OPEN_METHOD_PREFIX = "m"; g.VM_MEMOIZER_PREFIX = "z"; g.VM_OPEN_SET_METHOD_PREFIX = "s"; g.VM_OPEN_GET_METHOD_PREFIX = "g"; g.SAVED_SCOPE_NAME = "$SS"; g.VM_METHOD_OVERRIDES = fa(); var Ga = 1, Ha = 1, Aa = 0; g.isNativePrototype = function(a) { return Object.prototype.hasOwnProperty.call(a, g.VM_NATIVE_PROTOTYPE_FLAG); }; var ra = new T; g.patch = function(a, c) { la(b.isFunction(c)); for (var h = 0;h < a.length;h++) { var e = a[h]; e.get ? qa(e.object, e.get, c, !0) : e.set ? qa(e.object, e.set, c, !1) : ia(e.object, e.name, c); } }; g.applyNonMemoizedMethodTrait = function(a, c, h, e, d) { la(e); if (c.isMethod()) { var p = [{object:h, name:a}, {object:h, name:g.VM_OPEN_METHOD_PREFIX + a}]; c = g.makeTrampoline(c, e, d, p, c.methodInfo.parameters.length, ""); var l = xa(c, h); wa(l, g.VM_LENGTH, c.asLength); wa(l, W.getPublicQualifiedName("prototype"), null); ia(h, a, l); ia(h, g.VM_OPEN_METHOD_PREFIX + a, l); } else { if (c.isGetter() || c.isSetter()) { var p = [{object:h}], n = 0; (l = c.isGetter()) ? p[0].get = a : (p[0].set = a, n = 1); c = g.makeTrampoline(c, e, d, p, n, ""); qa(h, a, c, l); } else { b.Debug.unexpected(c); } } }; g.applyMemoizedMethodTrait = function(a, b, c, h, e) { la(h, b); if (b.isMethod()) { var d = {value:null}, p = c.asOpenMethods, l = [{object:d, name:"value"}, {object:p, name:a}, {object:c, name:g.VM_OPEN_METHOD_PREFIX + a}]; b = g.makeTrampoline(b, h, e, l, b.methodInfo.parameters.length, String(b.name)); d.value = b; p[a] = b; ia(c, g.VM_OPEN_METHOD_PREFIX + a, b); Ia(c, a, g.makeMemoizer(a, d)); n(c, a); } else { b.isGetter() ? (l = [{object:c, get:a}, {object:c, name:g.VM_OPEN_GET_METHOD_PREFIX + a}], b = g.makeTrampoline(b, h, e, l, 0, String(b.name)), ia(c, g.VM_OPEN_GET_METHOD_PREFIX + a, b), qa(c, a, b, !0)) : b.isSetter() && (l = [{object:c, set:a}, {object:c, name:g.VM_OPEN_SET_METHOD_PREFIX + a}], b = g.makeTrampoline(b, h, e, l, 0, String(b.name)), ia(c, g.VM_OPEN_SET_METHOD_PREFIX + a, b), qa(c, a, b, !1)); } }; g.getNamespaceResolutionMap = f; g.resolveMultinameProperty = t; g.asGetPublicProperty = s; g.asGetProperty = m; g.asGetResolvedStringProperty = d; g.asCallResolvedStringProperty = a; g.asGetResolvedStringPropertyFallback = function(a) { a = W.getNameFromPublicQualifiedName(a); return this.asGetProperty([ha.PUBLIC], a, 0); }; g.asSetPublicProperty = c; g.forwardValueOf = new Function("", "return this." + W.VALUE_OF + ".apply(this, arguments)"); g.forwardToString = new Function("", "return this." + W.TO_STRING + ".apply(this, arguments)"); g.asSetProperty = p; g.asDefinePublicProperty = e; g.asDefineProperty = q; g.asCallPublicProperty = l; g.asCallProperty = u; g.asCallSuper = w; g.asSetSuper = r; g.asGetSuper = h; g.construct = x; g.asConstructProperty = y; g.asHasProperty = G; g.asHasOwnProperty = I; g.asPropertyIsEnumerable = C; g.asDeleteProperty = E; g.asHasTraitProperty = O; g.asGetNumericProperty = K; g.asSetNumericProperty = F; g.asGetDescendants = function(a, c, h) { b.Debug.notImplemented("asGetDescendants"); }; g.asNextNameIndex = J; g.asNextName = A; g.asNextValue = B; g.asHasNext2 = z; g.asGetEnumerableKeys = P; g.asTypeOf = function(a) { if (a) { if (a.constructor === String) { return "string"; } if (a.constructor === Number) { return "number"; } if (a.constructor === Boolean) { return "boolean"; } if (a instanceof b.AVM2.AS.ASXML || a instanceof b.AVM2.AS.ASXMLList) { return "xml"; } if (b.AVM2.AS.ASClass.isType(a)) { return "object"; } } return typeof a; }; g.publicizeProperties = function(a) { for (var b = Object.keys(a), c = 0;c < b.length;c++) { var h = b[c]; if (!W.isPublicQualifiedName(h)) { var e = a[h]; a[W.getPublicQualifiedName(h)] = e; delete a[h]; } } }; g.asGetSlot = function(a, b) { return a[a.asSlots.byID[b].name]; }; g.asSetSlot = function(a, b, c) { b = a.asSlots.byID[b]; if (!b.const) { var h = b.type; a[b.name] = h && h.coerce ? h.coerce(c) : c; } }; g.asCheckVectorSetNumericProperty = function(a, c, h) { (0 > a || a > c || a === c && h || !b.isNumeric(a)) && L("RangeError", k.Errors.OutOfRangeError, a, c); }; g.asCheckVectorGetNumericProperty = function(a, c) { (0 > a || a >= c || !b.isNumeric(a)) && L("RangeError", k.Errors.OutOfRangeError, a, c); }; g.checkNullParameter = D; g.checkParameterType = function(a, b, c) { D(a, b); c.isType(a) || L("TypeError", k.Errors.CheckTypeFailedError, a, c.classInfo.instanceInfo.name.getOriginalName()); }; g.throwError = L; g.throwErrorFromVM = M; g.translateError = function(a, c) { if (c instanceof Error) { var h = a.getClass(c.name); if (h) { return new h.instanceConstructor(b.AVM2.translateErrorMessage(c)); } b.Debug.unexpected("Can't translate error: " + c); } return c; }; g.asIsInstanceOf = function(a, b) { return a.isInstanceOf(b); }; g.asIsType = function(a, b) { return a.isType(b); }; g.asAsType = function(a, b) { return a.isType(b) ? b : null; }; g.asCoerceByMultiname = function(a, b, c) { la(b.isQName()); switch(W.getQualifiedName(b)) { case W.Int: return c | 0; case W.Uint: return c >>> 0; case W.String: return Q(c); case W.Number: return+c; case W.Boolean: return!!c; case W.Object: return U(c); } return V(a.abc.applicationDomain.getType(b), c); }; g.asCoerce = V; g.asCoerceString = Q; g.asCoerceInt = function(a) { return a | 0; }; g.asCoerceUint = function(a) { return a >>> 0; }; g.asCoerceNumber = function(a) { return+a; }; g.asCoerceBoolean = function(a) { return!!a; }; g.asCoerceObject = U; g.asDefaultCompareFunction = S; g.asCompare = function(a, c, h, e) { b.Debug.assertNotImplemented(!(h & 4), "UNIQUESORT"); b.Debug.assertNotImplemented(!(h & 8), "RETURNINDEXEDARRAY"); var d = 0; e || (e = S); h & 1 && (a = String(a).toLowerCase(), c = String(c).toLowerCase()); h & 16 ? (a = b.toNumber(a), c = b.toNumber(c), d = a < c ? -1 : a > c ? 1 : 0) : d = e(a, c); h & 2 && (d *= -1); return d; }; g.asAdd = function(a, b) { return "string" === typeof a || "string" === typeof b ? String(a) + String(b) : a + b; }; g.getDescendants = function(a, b) { if (!aa(a)) { throw "Not XML object in getDescendants"; } return a.descendants(b); }; g.checkFilter = function(a) { if (!a.class || !aa(a)) { throw "TypeError operand of childFilter not of XML type"; } return a; }; g.initializeGlobalObject = $; $(jsGlobal); g.nameInTraits = function(a, b) { if (a.hasOwnProperty(g.VM_BINDINGS) && a.hasOwnProperty(b)) { return!0; } var c = Object.getPrototypeOf(a); return c.hasOwnProperty(g.VM_BINDINGS) && c.hasOwnProperty(b); }; g.CatchScopeObject = ea; var ta = function() { function a(b) { this.scriptInfo = b; b.global = this; this.scriptBindings = new g.ScriptBindings(b, new g.Scope(null, this, !1)); this.scriptBindings.applyTo(b.abc.applicationDomain, this); b.loaded = !0; } a.prototype.toString = function() { return "[object global]"; }; a.prototype.isExecuted = function() { return this.scriptInfo.executed; }; a.prototype.isExecuting = function() { return this.scriptInfo.executing; }; a.prototype.ensureExecuted = function() { b.AVM2.Runtime.ensureScriptIsExecuted(this.scriptInfo); }; return a; }(); g.Global = ta; ia(ta.prototype, W.getPublicQualifiedName("toString"), function() { return this.toString(); }); ta = function() { function a(b) { this._isLazyInitializer = !0; la(!b.asLazyInitializer); this._target = b; this._resolved = null; } a.create = function(b) { return b.asLazyInitializer ? b.asLazyInitializer : b.asLazyInitializer = new a(b); }; a.prototype.resolve = function() { if (this._resolved) { return this._resolved; } if (this._target instanceof N) { var a = this._target; g.ensureScriptIsExecuted(a, "Lazy Initializer"); return this._resolved = a.global; } if (this._target instanceof da) { return a = this._target, a.classObject ? this._resolved = a.classObject : this._resolved = a.abc.applicationDomain.getProperty(a.instanceInfo.name, !1, !1); } b.Debug.notImplemented(String(this._target)); }; return a; }(); g.LazyInitializer = ta; g.forEachPublicProperty = function(a, c, h) { if (!a.asBindings) { for (var e in a) { c.call(h, e, a[e]); } } else { for (e in a) { if (b.isNumeric(e)) { c.call(h, e, a[e]); } else { if (W.isPublicQualifiedName(e) && 0 > a.asBindings.indexOf(e)) { var d = W.stripPublicQualifier(e); c.call(h, d, a[e]); } } } } }; g.wrapJSObject = function(a) { var b = Object.create(a), c; for (c in a) { Object.defineProperty(b, W.getPublicQualifiedName(c), function(a, b) { return{get:function() { return a[b]; }, set:function(c) { a[b] = c; }, enumerable:!0}; }(a, c)); } return b; }; g.asCreateActivation = function(a) { return Object.create(a.activationPrototype); }; ta = function() { function a() { } a.updateTraits = function(c) { for (var h = 0;h < c.length;h++) { var e = c[h], d = e.name.name, e = e.name.getNamespace(); e.isDynamic() || (a.hasNonDynamicNamespaces[d] = !0, a.wasResolved[d] && b.Debug.notImplemented("We have to the undo the optimization, " + d + " can now bind to " + e)); } }; a.loadAbc = function(b) { if (g.globalMultinameAnalysis.value) { var c = b.scripts, h = b.classes; b = b.methods; for (var e = 0;e < c.length;e++) { a.updateTraits(c[e].traits); } for (e = 0;e < h.length;e++) { a.updateTraits(h[e].traits), a.updateTraits(h[e].instanceInfo.traits); } for (e = 0;e < b.length;e++) { b[e].traits && a.updateTraits(b[e].traits); } } }; a.resolveMultiname = function(b) { var c = b.name; if (!a.hasNonDynamicNamespaces[c]) { return a.wasResolved[c] = !0, new W([ha.PUBLIC], b.name); } }; a.hasNonDynamicNamespaces = fa(); a.wasResolved = fa(); return a; }(); g.GlobalMultinameResolver = ta; var Ba = function() { return function(a) { this.methodInfo = a; }; }(); g.ActivationInfo = Ba; g.HasNext2Info = function() { return function(a, b) { this.object = a; this.index = b; }; }(); g.sliceArguments = Z; g.canCompile = v; g.shouldCompile = X; g.forceCompile = ba; g.CODE_CACHE = fa(); g.searchCodeCache = R; g.createInterpretedFunction = H; g.debugName = function(a) { return b.isFunction(a) ? a.debugName : a; }; g.createCompiledFunction = Y; g.createFunction = ga; g.ensureFunctionIsInitialized = ca; g.getTraitFunction = function(a, c, h) { la(c); la(a.isMethod() || a.isGetter() || a.isSetter()); var e = a.methodInfo, d; if (e.isNative()) { if ((c = a.metadata) && c.native ? d = b.AVM2.AS.getNative(c.native.value[0].value) : h && (d = b.AVM2.AS.getMethodOrAccessorNative(a, h)), !d) { return b.Debug.warning("No native method for: " + a.kindName() + " " + e.holder + "::" + W.getQualifiedName(e.name) + ", make sure you've got the static keyword for static methods."), function(c) { return function() { b.Debug.warning("Calling undefined native method: " + a.kindName() + " " + c.holder.name + "::" + W.getQualifiedName(c.name)); }; }(e); } } else { 2 <= g.traceExecution.value && log("Creating Function For Trait: " + a.holder + " " + a), d = ga(e, c, !1, !1), la(d); } 3 <= g.traceExecution.value && log("Made Function: " + W.getQualifiedName(e.name)); return d; }; g.createClass = function(a, c, h) { var e = a.instanceInfo, d = a.abc.applicationDomain, p = W.getName(e.name); k.enterTimeline("createClass", {className:p, classInfo:a}); g.traceExecution.value && log("Creating " + (e.isInterface() ? "Interface" : "Class") + ": " + p + (a.native ? " replaced with native " + a.native.cls : "")); c = e.isInterface() ? b.AVM2.AS.createInterface(a) : b.AVM2.AS.createClass(a, c, h); g.traceClasses.value && (d.loadedClasses.push(c), d.traceLoadedClasses()); if (e.isInterface()) { return k.leaveTimeline(), c; } d.onMessage.notify1("classCreated", c); a.classObject = c; g.traceExecution.value && log("Running " + (e.isInterface() ? "Interface" : "Class") + ": " + p + " Static Constructor"); k.enterTimeline("staticInitializer"); ga(a.init, h, !1, !1).call(c); k.leaveTimeline(); g.traceExecution.value && log("Done With Static Constructor"); g.sealConstTraits && this.sealConstantTraits(c, a.traits); k.leaveTimeline(); return c; }; g.sealConstantTraits = function(a, b) { for (var c = 0, h = b.length;c < h;c++) { var e = b[c]; e.isConst() && (e = W.getQualifiedName(e.name), function(b, c) { Object.defineProperty(a, b, {configurable:!1, enumerable:!1, get:function() { return c; }, set:function() { M(g.AVM2.currentDomain(), "ReferenceError", "Illegal write to read-only property " + b + ".", 0); }}); }(e, a[e])); } }; g.applyType = function(a, c, h) { c = c.classInfo.instanceInfo.name.name; if ("Vector" === c) { la(1 === h.length); h = h[0]; if (!na(h)) { switch(c = h.classInfo.instanceInfo.name.name.toLowerCase(), c) { case "number": c = "double"; case "int": ; case "uint": ; case "double": return a.abc.applicationDomain.getClass("packageInternal __AS3__.vec.Vector$" + c); } } return a.abc.applicationDomain.getClass("packageInternal __AS3__.vec.Vector$object").applyType(h); } b.Debug.notImplemented(c); }; g.createName = function(a, b) { return new W(a, b); }; })(k.Runtime || (k.Runtime = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var CC = Shumway.AVM2.Runtime.CODE_CACHE, HasNext2Info = Shumway.AVM2.Runtime.HasNext2Info, asCreateActivation = Shumway.AVM2.Runtime.asCreateActivation, asIsInstanceOf = Shumway.AVM2.Runtime.asIsInstanceOf, asIsType = Shumway.AVM2.Runtime.asIsType, asAsType = Shumway.AVM2.Runtime.asAsType, asTypeOf = Shumway.AVM2.Runtime.asTypeOf, asCoerceByMultiname = Shumway.AVM2.Runtime.asCoerceByMultiname, asCoerce = Shumway.AVM2.Runtime.asCoerce, asCoerceString = Shumway.AVM2.Runtime.asCoerceString, asCoerceInt = Shumway.AVM2.Runtime.asCoerceInt, asCoerceUint = Shumway.AVM2.Runtime.asCoerceUint, asCoerceNumber = Shumway.AVM2.Runtime.asCoerceNumber, asCoerceBoolean = Shumway.AVM2.Runtime.asCoerceBoolean, asCoerceObject = Shumway.AVM2.Runtime.asCoerceObject, asCompare = Shumway.AVM2.Runtime.asCompare, asAdd = Shumway.AVM2.Runtime.asAdd, applyType = Shumway.AVM2.Runtime.applyType, asGetSlot = Shumway.AVM2.Runtime.asGetSlot, asSetSlot = Shumway.AVM2.Runtime.asSetSlot, asHasNext2 = Shumway.AVM2.Runtime.asHasNext2, getDescendants = Shumway.AVM2.Runtime.getDescendants, checkFilter = Shumway.AVM2.Runtime.checkFilter, sliceArguments = Shumway.AVM2.Runtime.sliceArguments, createFunction = Shumway.AVM2.Runtime.createFunction, createName = Shumway.AVM2.Runtime.createName; (function(b) { (function(k) { (function(g) { var f = b.AVM2.ABC.Multiname, t = b.ObjectUtilities.createEmptyObject, s = b.Debug.assert, m = b.ObjectUtilities.boxValue, d = function() { function a(a, d, p) { "undefined" === typeof p && (p = !1); this.parent = a; this.object = m(d); s(b.isObject(this.object)); this.global = a ? a.global : this; this.isWith = p; this.cache = t(); } a.prototype.findDepth = function(a) { for (var b = this, d = 0;b;) { if (b.object === a) { return d; } d++; b = b.parent; } return-1; }; a.prototype.getScopeObjects = function() { for (var a = [], b = this;b;) { a.unshift(b.object), b = b.parent; } return a; }; a.prototype.findScopeProperty = function(a, d, p, e, q, l) { k.countTimeline("findScopeProperty"); var g, w; w = a ? 1 < a.length ? a.runtimeId + "$" + d : a[0].qualifiedName + "$" + d : d; if (!l && (g = this.cache[w])) { return g; } if (this.object.asHasPropertyInternal(a, d, p)) { return this.isWith ? this.object : this.cache[w] = this.object; } if (this.parent) { return this.cache[w] = this.parent.findScopeProperty(a, d, p, e, q, l); } if (l) { return null; } if (g = e.abc.applicationDomain.findDomainProperty(new f(a, d, p), q, !0)) { return g; } q && b.Debug.unexpected("Cannot find property " + d); return this.global.object; }; return a; }(); g.Scope = d; g.bindFreeMethodScope = function(a, b) { var d = a.freeMethod; if (a.lastBoundMethod && a.lastBoundMethod.scope === b) { return a.lastBoundMethod.boundMethod; } s(d, "There should already be a cached method."); var p, e = b.global.object; if (!a.hasOptional() && !a.needsArguments() && !a.needsRest()) { switch(a.parameters.length) { case 0: p = function() { return d.call(this === jsGlobal ? e : this, b); }; break; case 1: p = function(a) { return d.call(this === jsGlobal ? e : this, b, a); }; break; case 2: p = function(a, p) { return d.call(this === jsGlobal ? e : this, b, a, p); }; break; case 3: p = function(a, p, f) { return d.call(this === jsGlobal ? e : this, b, a, p, f); }; } } p || (k.countTimeline("Bind Scope - Slow Path"), p = function() { Array.prototype.unshift.call(arguments, b); return d.asApply(this === jsGlobal ? b.global.object : this, arguments); }); p.methodInfo = a; p.instanceConstructor = p; a.lastBoundMethod = {scope:b, boundMethod:p}; return p; }; })(k.Runtime || (k.Runtime = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var Scope = Shumway.AVM2.Runtime.Scope; (function(b) { (function(k) { (function(g) { var f = b.AVM2.ABC.Multiname, t = b.AVM2.ABC.Trait, s = b.ObjectUtilities.hasOwnProperty, m = b.ObjectUtilities.createMap, d = b.ObjectUtilities.cloneObject, a = b.ObjectUtilities.copyProperties, c = b.ObjectUtilities.createEmptyObject, n = b.Debug.assert, p = b.ObjectUtilities.defineNonEnumerableProperty, e = b.ObjectUtilities.defineNonEnumerableGetter, q = b.FunctionUtilities.makeForwardingGetter, l = b.ArrayUtilities.pushUnique, u = function() { function a(b) { this.trait = b; } a.getKey = function(b, c) { var h = b; c.isGetter() ? h = a.GET_PREFIX + b : c.isSetter() && (h = a.SET_PREFIX + b); return h; }; a.prototype.toString = function() { return String(this.trait); }; a.SET_PREFIX = "set "; a.GET_PREFIX = "get "; a.KEY_PREFIX_LENGTH = 4; return a; }(); g.Binding = u; var w = function() { return function(a, b, c, h) { this.name = a; this.isConst = b; this.type = c; this.trait = h; }; }(); g.SlotInfo = w; var r = function() { return function() { this.byID = m(); this.byQN = m(); }; }(); g.SlotInfoMap = r; var h = function() { function a() { this.map = m(); this.slots = []; this.nextSlotId = 1; } a.prototype.assignNextSlot = function(a) { n(a instanceof t); n(a.isSlot() || a.isConst() || a.isClass()); a.slotId ? this.nextSlotId = a.slotId + 1 : a.slotId = this.nextSlotId++; n(!this.slots[a.slotId], "Trait slot already taken."); this.slots[a.slotId] = a; }; a.prototype.trace = function(a) { a.enter("Bindings"); for (var b in this.map) { var c = this.map[b]; a.writeLn(c.trait.kindName() + ": " + b + " -> " + c); } a.leaveAndEnter(); a.writeArray(this.slots); a.outdent(); }; a.prototype.applyTo = function(a, b, c) { "undefined" === typeof c && (c = !1); c || (n(!s(b, g.VM_SLOTS), "Already has VM_SLOTS."), n(!s(b, g.VM_BINDINGS), "Already has VM_BINDINGS."), n(!s(b, g.VM_OPEN_METHODS), "Already has VM_OPEN_METHODS."), p(b, g.VM_SLOTS, new r), p(b, g.VM_BINDINGS, []), p(b, g.VM_OPEN_METHODS, m()), p(b, "bindings", this), p(b, "resolutionMap", [])); G && G.greenLn("Applying Traits" + (c ? " (Append)" : "")); for (var h in this.map) { var d = this.map[h]; c = d.trait; var x = f.getQualifiedName(c.name); if (c.isSlot() || c.isConst() || c.isClass()) { d = void 0; if (c.isSlot() || c.isConst()) { if (c.hasDefaultValue) { d = c.value; } else { if (c.typeName) { var I = a.findClassInfo(c.typeName); I && (d = I.defaultValue); } } } h !== x ? (G && G.yellowLn("Binding Trait: " + h + " -> " + x), e(b, h, q(x)), l(b.asBindings, h)) : (G && G.greenLn("Applying Trait " + c.kindName() + ": " + c), p(b, x, d), l(b.asBindings, x), d = new w(x, c.isConst(), c.typeName ? a.getProperty(c.typeName, !1, !1) : null, c), b.asSlots.byID[c.slotId] = d, b.asSlots.byQN[x] = d); } else { if (c.isMethod() || c.isGetter() || c.isSetter()) { if (c.isGetter() || c.isSetter()) { h = h.substring(u.KEY_PREFIX_LENGTH); } h !== x ? G && G.yellowLn("Binding Trait: " + h + " -> " + x) : G && G.greenLn("Applying Trait " + c.kindName() + ": " + c); l(b.asBindings, h); this instanceof y ? (k.enterTimeline("applyNonMemoizedMethodTrait"), g.applyNonMemoizedMethodTrait(h, c, b, d.scope, d.natives)) : (k.enterTimeline("applyMemoizedMethodTrait"), g.applyMemoizedMethodTrait(h, c, b, d.scope, d.natives)); k.leaveTimeline(); } } } }; return a; }(); g.Bindings = h; var x = function(a) { function b(c) { a.call(this); n(c.needsActivation()); this.methodInfo = c; c = c.traits; for (var h = 0;h < c.length;h++) { var e = c[h]; n(e.isSlot() || e.isConst(), "Only slot or constant traits are allowed in activation objects."); var d = f.getQualifiedName(e.name); this.map[d] = new u(e); this.assignNextSlot(e); } } __extends(b, a); return b; }(h); g.ActivationBindings = x; x = function(a) { function b(c, h) { a.call(this); var e = f.getQualifiedName(h.name); this.map[e] = new u(h); n(h.isSlot(), "Only slot traits are allowed in catch objects."); this.assignNextSlot(h); } __extends(b, a); return b; }(h); g.CatchBindings = x; var y = function(a) { function b(c, h) { a.call(this); this.scope = h; this.scriptInfo = c; for (var e = c.traits, d = 0;d < e.length;d++) { var p = e[d], l = f.getQualifiedName(p.name), l = u.getKey(l, p), l = this.map[l] = new u(p); (p.isSlot() || p.isConst() || p.isClass()) && this.assignNextSlot(p); p.isClass() && p.metadata && p.metadata.native && (p.classInfo.native = p.metadata.native); if (p.isMethod() || p.isGetter() || p.isSetter()) { l.scope = this.scope; } } } __extends(b, a); return b; }(h); g.ScriptBindings = y; x = function(a) { function b(c, h, e) { a.call(this); this.scope = h; this.natives = e; this.classInfo = c; c = c.traits; for (h = 0;h < c.length;h++) { e = c[h]; var d = f.getQualifiedName(e.name), d = u.getKey(d, e), d = this.map[d] = new u(e); (e.isSlot() || e.isConst()) && this.assignNextSlot(e); if (e.isMethod() || e.isGetter() || e.isSetter()) { d.scope = this.scope, d.natives = this.natives; } } } __extends(b, a); return b; }(h); g.ClassBindings = x; h = function(b) { function h(a, e, p, l) { b.call(this); this.scope = p; this.natives = l; this.parent = a; this.instanceInfo = e; this.implementedInterfaces = a ? d(a.implementedInterfaces) : c(); a && (this.slots = a.slots.slice(), this.nextSlotId = a.nextSlotId); this.extend(a); } __extends(h, b); h.prototype.extend = function(b) { var c = this.instanceInfo, h, e = this.map, d, p, l, q; if (b) { for (p in b.map) { d = b.map[p], l = d.trait, e[p] = d, l.isProtected() && (q = f.getQualifiedName(new f([c.protectedNs], l.name.getName())), q = u.getKey(q, l), e[q] = d); } } var r = c.traits; for (b = 0;b < r.length;b++) { l = r[b]; d = f.getQualifiedName(l.name); p = u.getKey(d, l); d = new u(l); h = e; q = d; var x = q.trait, w = h[p]; w ? (n(!w.trait.isFinal(), "Cannot redefine a final trait: " + x), n(x.isOverride() || "length" === x.name.getName(), "Overriding a trait that is not marked for override: " + x)) : n(!x.isOverride(), "Trait marked override must override another trait: " + x); h[p] = q; if (l.isProtected()) { for (h = this.parent;h && h.instanceInfo.protectedNs;) { q = f.getQualifiedName(new f([h.instanceInfo.protectedNs], l.name.getName())), q = u.getKey(q, l), q in e && (e[q] = d), h = h.parent; } } (l.isSlot() || l.isConst()) && this.assignNextSlot(l); if (l.isMethod() || l.isGetter() || l.isSetter()) { d.scope = this.scope, d.natives = this.natives; } } l = c.abc.applicationDomain; d = c.interfaces; for (b = 0;b < d.length;b++) { r = l.getProperty(d[b], !0, !0), n(r), a(this.implementedInterfaces, r.interfaceBindings.implementedInterfaces), this.implementedInterfaces[f.getQualifiedName(r.classInfo.instanceInfo.name)] = r; } for (var g in this.implementedInterfaces) { r = this.implementedInterfaces[g]; h = r.interfaceBindings; for (var m in h.map) { b = h.map[m], c.isInterface() ? e[m] = b : (d = f.getPublicQualifiedName(b.trait.name.getName()), p = u.getKey(d, b.trait), e[m] = e[p]); } } }; h.prototype.toString = function() { return this.instanceInfo.toString(); }; return h; }(h); g.InstanceBindings = h; var G = null; })(k.Runtime || (k.Runtime = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var Binding = Shumway.AVM2.Runtime.Binding, Bindings = Shumway.AVM2.Runtime.Bindings, ActivationBindings = Shumway.AVM2.Runtime.ActivationBindings, CatchBindings = Shumway.AVM2.Runtime.CatchBindings, ScriptBindings = Shumway.AVM2.Runtime.ScriptBindings, ClassBindings = Shumway.AVM2.Runtime.ClassBindings, InstanceBindings = Shumway.AVM2.Runtime.InstanceBindings; (function(b) { (function(b) { b.XRegExp = function() { function b(a, c, h) { var e; if (h) { if (a.__proto__) { a.__proto__ = q.prototype; } else { for (e in q.prototype) { a[e] = q.prototype[e]; } } } a.xregexp = {captureNames:c}; return a; } function f(a) { return u.replace.call(a, /([\s\S])(?=[\s\S]*\1)/g, ""); } function k(a, c) { if (!q.isRegExp(a)) { throw new TypeError("Type RegExp expected"); } var h = u.exec.call(/\/([a-z]*)$/i, String(a))[1]; c = c || {}; c.add && (h = f(h + c.add)); c.remove && (h = u.replace.call(h, new RegExp("[" + c.remove + "]+", "g"), "")); return a = b(new RegExp(a.source, h), a.xregexp && a.xregexp.captureNames ? a.xregexp.captureNames.slice(0) : null, c.addProto); } function s(a, b) { if (Array.prototype.indexOf) { return a.indexOf(b); } var c = a.length, h; for (h = 0;h < c;++h) { if (a[h] === b) { return h; } } return-1; } function m(a, b) { return O.call(a) === "[object " + b + "]"; } function d(a, b, c) { return u.test.call(-1 < c.indexOf("x") ? /^(?:\s+|#.*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/ : /^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/, a.slice(b)); } function a(a, b) { var c; if (f(b) !== b) { throw new SyntaxError("Invalid duplicate regex flag " + b); } a = u.replace.call(a, /^\(\?([\w$]+)\)/, function(a, c) { if (u.test.call(/[gy]/, c)) { throw new SyntaxError("Cannot use flag g or y in mode modifier " + a); } b = f(b + c); return ""; }); for (c = 0;c < b.length;++c) { if (!E[b.charAt(c)]) { throw new SyntaxError("Unknown regex flag " + b.charAt(c)); } } return{pattern:a, flags:b}; } function c(a) { a = a || {}; m(a, "String") && (a = q.forEach(a, /[^\s,]+/, function(a) { this[a] = !0; }, {})); return a; } function n(a) { if (!/^[\w$]$/.test(a)) { throw Error("Flag must be a single character A-Za-z0-9_$"); } E[a] = !0; } function p(a) { RegExp.prototype.exec = (a ? w : u).exec; RegExp.prototype.test = (a ? w : u).test; String.prototype.match = (a ? w : u).match; String.prototype.replace = (a ? w : u).replace; String.prototype.split = (a ? w : u).split; l.natives = a; } function e(a) { if (null == a) { throw new TypeError("Cannot convert null or undefined to object"); } return a; } var q, l = {astral:!1, natives:!1}, u = {exec:RegExp.prototype.exec, test:RegExp.prototype.test, match:String.prototype.match, replace:String.prototype.replace, split:String.prototype.split}, w = {}, r = {}, h = {}, x = [], y = {"default":/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/, "class":/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|[\s\S]/}, G = /\$(?:{([\w$]+)}|([\d$&`']))/g, I = void 0 === u.exec.call(/()??/, "")[1], C = void 0 !== RegExp.prototype.sticky, E = {g:!0, i:!0, m:!0, y:C}, O = {}.toString, K; q = function(c, e) { var d = {hasNamedCapture:!1, captureNames:[]}, p = "default", l = "", n = 0, r, f; if (q.isRegExp(c)) { if (void 0 !== e) { throw new TypeError("Cannot supply flags when copying a RegExp"); } return k(c, {addProto:!0}); } c = void 0 === c ? "" : String(c); e = void 0 === e ? "" : String(e); f = c + "***" + e; if (!h[f]) { r = a(c, e); c = r.pattern; for (e = r.flags;n < c.length;) { do { r = c; for (var w = e, m = n, s = p, G = d, I = x.length, E = null, C = void 0, O = void 0;I--;) { if (O = x[I], (O.scope === s || "all" === O.scope) && (!O.flag || -1 < w.indexOf(O.flag)) && (C = q.exec(r, O.regex, m, "sticky"))) { E = {matchLength:C[0].length, output:O.handler.call(G, C, s, w), reparse:O.reparse}; break; } } (r = E) && r.reparse && (c = c.slice(0, n) + r.output + c.slice(n + r.matchLength)); } while (r && r.reparse); r ? (l += r.output, n += r.matchLength || 1) : (r = q.exec(c, y[p], n, "sticky")[0], l += r, n += r.length, "[" === r && "default" === p ? p = "class" : "]" === r && "class" === p && (p = "default")); } h[f] = {pattern:u.replace.call(l, /\(\?:\)(?=\(\?:\))|^\(\?:\)|\(\?:\)$/g, ""), flags:u.replace.call(e, /[^gimy]+/g, ""), captures:d.hasNamedCapture ? d.captureNames : null}; } f = h[f]; return b(new RegExp(f.pattern, f.flags), f.captures, !0); }; q.prototype = RegExp(); q.version = "3.0.0-pre"; q.addToken = function(a, b, c) { c = c || {}; var h = c.optionalFlags, e; c.flag && n(c.flag); if (h) { for (h = u.split.call(h, ""), e = 0;e < h.length;++e) { n(h[e]); } } x.push({regex:k(a, {add:"g" + (C ? "y" : "")}), handler:b, scope:c.scope || "default", flag:c.flag, reparse:c.reparse}); q.cache.flush("patterns"); }; q.cache = function(a, b) { var c = a + "***" + (b || ""); return r[c] || (r[c] = q(a, b)); }; q.cache.flush = function(a) { "patterns" === a ? h = {} : r = {}; }; q.escape = function(a) { return u.replace.call(e(a), /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); }; q.exec = function(a, b, c, h) { var e = "g"; C && (h || b.sticky && !1 !== h) && (e += "y"); b.xregexp = b.xregexp || {captureNames:null}; e = b.xregexp[e] || (b.xregexp[e] = k(b, {add:e, remove:!1 === h ? "y" : ""})); e.lastIndex = c = c || 0; a = w.exec.call(e, a); h && a && a.index !== c && (a = null); b.global && (b.lastIndex = a ? e.lastIndex : 0); return a; }; q.forEach = function(a, b, c, h) { for (var e = 0, d = -1;e = q.exec(a, b, e);) { c.call(h, e, ++d, a, b), e = e.index + (e[0].length || 1); } return h; }; q.globalize = function(a) { return k(a, {add:"g", addProto:!0}); }; q.install = function() { var a = {natives:!0}, a = c(a); !l.astral && a.astral && (q.cache.flush("patterns"), l.astral = !0); !l.natives && a.natives && p(!0); }; q.isInstalled = function(a) { return!!l[a]; }; q.isRegExp = function(a) { return "[object RegExp]" === O.call(a); }; q.match = function(a, b, c) { var h = b.global && "one" !== c || "all" === c, d = (h ? "g" : "") + (b.sticky ? "y" : ""); b.xregexp = b.xregexp || {captureNames:null}; d = b.xregexp[d || "noGY"] || (b.xregexp[d || "noGY"] = k(b, {add:d, remove:"one" === c ? "g" : ""})); a = u.match.call(e(a), d); b.global && (b.lastIndex = "one" === c && a ? a.index + a[0].length : 0); return h ? a || [] : a && a[0]; }; q.matchChain = function(a, b) { return function B(a, c) { function h(a) { if (e.backref) { if (!(a.hasOwnProperty(e.backref) || +e.backref < a.length)) { throw new ReferenceError("Backreference to undefined group: " + e.backref); } d.push(a[e.backref] || ""); } else { d.push(a[0]); } } var e = b[c].regex ? b[c] : {regex:b[c]}, d = [], p; for (p = 0;p < a.length;++p) { q.forEach(a[p], e.regex, h); } return c !== b.length - 1 && d.length ? B(d, c + 1) : d; }([a], 0); }; q.replace = function(a, b, c, h) { var d = q.isRegExp(b), p = b.global && "one" !== h || "all" === h, l = (p ? "g" : "") + (b.sticky ? "y" : ""), n = b; d ? (b.xregexp = b.xregexp || {captureNames:null}, n = b.xregexp[l || "noGY"] || (b.xregexp[l || "noGY"] = k(b, {add:l, remove:"one" === h ? "g" : ""}))) : p && (n = new RegExp(q.escape(String(b)), "g")); a = w.replace.call(e(a), n, c); d && b.global && (b.lastIndex = 0); return a; }; q.replaceEach = function(a, b) { var c, h; for (c = 0;c < b.length;++c) { h = b[c], a = q.replace(a, h[0], h[1], h[2]); } return a; }; q.split = function(a, b, c) { return w.split.call(e(a), b, c); }; q.test = function(a, b, c, h) { return!!q.exec(a, b, c, h); }; q.uninstall = function(a) { a = c(a); l.astral && a.astral && (q.cache.flush("patterns"), l.astral = !1); l.natives && a.natives && p(!1); }; q.union = function(a, b) { function c(a, b, h) { var e = l[d - p]; if (b) { if (++d, e) { return "(?<" + e + ">"; } } else { if (h) { return "\\" + (+h + p); } } return a; } var h = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, e = [], d = 0, p, l, n, r; if (!m(a, "Array") || !a.length) { throw new TypeError("Must provide a nonempty array of patterns to merge"); } for (r = 0;r < a.length;++r) { n = a[r], q.isRegExp(n) ? (p = d, l = n.xregexp && n.xregexp.captureNames || [], e.push(u.replace.call(q(n.source).source, h, c))) : e.push(q.escape(n)); } return q(e.join("|"), b); }; w.exec = function(a) { var b = this.lastIndex, c = u.exec.apply(this, arguments), h, e; if (c) { !I && 1 < c.length && -1 < s(c, "") && (h = k(this, {remove:"g"}), u.replace.call(String(a).slice(c.index), h, function() { var a = arguments.length, b; for (b = 1;b < a - 2;++b) { void 0 === arguments[b] && (c[b] = void 0); } })); if (this.xregexp && this.xregexp.captureNames) { for (e = 1;e < c.length;++e) { (h = this.xregexp.captureNames[e - 1]) && (c[h] = c[e]); } } this.global && !c[0].length && this.lastIndex > c.index && (this.lastIndex = c.index); } this.global || (this.lastIndex = b); return c; }; w.test = function(a) { return!!w.exec.call(this, a); }; w.match = function(a) { var b; if (!q.isRegExp(a)) { a = new RegExp(a); } else { if (a.global) { return b = u.match.apply(this, arguments), a.lastIndex = 0, b; } } return w.exec.call(a, e(this)); }; w.replace = function(a, b) { var c = q.isRegExp(a), h, e, d; c ? (a.xregexp && (e = a.xregexp.captureNames), h = a.lastIndex) : a += ""; d = m(b, "Function") ? u.replace.call(String(this), a, function() { var h = arguments, d; if (e) { for (h[0] = new String(h[0]), d = 0;d < e.length;++d) { e[d] && (h[0][e[d]] = h[d + 1]); } } c && a.global && (a.lastIndex = h[h.length - 2] + h[0].length); return b.apply(void 0, h); }) : u.replace.call(null == this ? this : String(this), a, function() { var a = arguments; return u.replace.call(String(b), G, function(b, c, h) { if (c) { h = +c; if (h <= a.length - 3) { return a[h] || ""; } h = e ? s(e, c) : -1; if (0 > h) { throw new SyntaxError("Backreference to undefined group " + b); } return a[h + 1] || ""; } if ("$" === h) { return "$"; } if ("&" === h || 0 === +h) { return a[0]; } if ("`" === h) { return a[a.length - 1].slice(0, a[a.length - 2]); } if ("'" === h) { return a[a.length - 1].slice(a[a.length - 2] + a[0].length); } h = +h; if (!isNaN(h)) { if (h > a.length - 3) { throw new SyntaxError("Backreference to undefined group " + b); } return a[h] || ""; } throw new SyntaxError("Invalid token " + b); }); }); c && (a.lastIndex = a.global ? 0 : h); return d; }; w.split = function(a, b) { if (!q.isRegExp(a)) { return u.split.apply(this, arguments); } var c = String(this), h = [], e = a.lastIndex, d = 0, p; b = (void 0 === b ? -1 : b) >>> 0; q.forEach(c, a, function(a) { a.index + a[0].length > d && (h.push(c.slice(d, a.index)), 1 < a.length && a.index < c.length && Array.prototype.push.apply(h, a.slice(1)), p = a[0].length, d = a.index + p); }); d === c.length ? u.test.call(a, "") && !p || h.push("") : h.push(c.slice(d)); a.lastIndex = e; return h.length > b ? h.slice(0, b) : h; }; K = q.addToken; K(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/, function(a, b) { if ("B" === a[1] && "default" === b) { return a[0]; } throw new SyntaxError("Invalid escape " + a[0]); }, {scope:"all"}); K(/\[(\^?)]/, function(a) { return a[1] ? "[\\s\\S]" : "\\b\\B"; }); K(/\(\?#[^)]*\)/, function(a, b, c) { return d(a.input, a.index + a[0].length, c) ? "" : "(?:)"; }); K(/\s+|#.*/, function(a, b, c) { return d(a.input, a.index + a[0].length, c) ? "" : "(?:)"; }, {flag:"x"}); K(/\./, function() { return "[\\s\\S]"; }, {flag:"s"}); K(/\\k<([\w$]+)>/, function(a) { var b = isNaN(a[1]) ? s(this.captureNames, a[1]) + 1 : +a[1], c = a.index + a[0].length; if (!b || b > this.captureNames.length) { throw new SyntaxError("Backreference to undefined group " + a[0]); } return "\\" + b + (c === a.input.length || isNaN(a.input.charAt(c)) ? "" : "(?:)"); }); K(/\\(\d+)/, function(a, b) { if (!("default" === b && /^[1-9]/.test(a[1]) && +a[1] <= this.captureNames.length) && "0" !== a[1]) { throw new SyntaxError("Cannot use octal escape or backreference to undefined group " + a[0]); } return a[0]; }, {scope:"all"}); K(/\(\?P?<([\w$]+)>/, function(a) { if (!isNaN(a[1])) { throw new SyntaxError("Cannot use integer as capture name " + a[0]); } if ("length" === a[1] || "__proto__" === a[1]) { throw new SyntaxError("Cannot use reserved word as capture name " + a[0]); } if (-1 < s(this.captureNames, a[1])) { throw new SyntaxError("Cannot use same name for multiple groups " + a[0]); } this.captureNames.push(a[1]); this.hasNamedCapture = !0; return "("; }); K(/\((?!\?)/, function(a, b, c) { if (-1 < c.indexOf("n")) { return "(?:"; } this.captureNames.push(null); return "("; }, {optionalFlags:"n"}); return q; }(); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); Shumway.AVM2.XRegExp.install(); (function(b) { (function(k) { (function(g) { var f = b.Debug.assertNotImplemented, t = b.Debug.notImplemented, s = b.AVM2.Runtime.throwError, m = b.NumberUtilities.clamp, d = b.AVM2.Runtime.asCheckVectorGetNumericProperty, a = b.AVM2.Runtime.asCheckVectorSetNumericProperty, c = function() { function c(a, b) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = !1); a >>>= 0; this._fixed = !!b; this._buffer = new Int32Array(Math.max(c.INITIAL_CAPACITY, a + c.EXTRA_CAPACITY)); this._offset = 0; this._length = a; } c.defaultCompareFunction = function(a, b) { return String(a).localeCompare(String(b)); }; c.compare = function(a, e, d, l) { f(!(d & c.CASEINSENSITIVE), "CASEINSENSITIVE"); f(!(d & c.UNIQUESORT), "UNIQUESORT"); f(!(d & c.RETURNINDEXEDARRAY), "RETURNINDEXEDARRAY"); var g = 0; l || (l = c.defaultCompareFunction); d & c.NUMERIC ? (a = b.toNumber(a), e = b.toNumber(e), g = a < e ? -1 : a > e ? 1 : 0) : g = l(a, e); d & c.DESCENDING && (g *= -1); return g; }; c.callable = function(a) { if (a instanceof c) { return a; } var e = a.asGetProperty(void 0, "length"); if (void 0 !== e) { for (var d = new c(e, !1), l = 0;l < e;l++) { d.asSetNumericProperty(l, a.asGetPublicProperty(l)); } return d; } b.Debug.unexpected(); }; c.prototype.internalToString = function() { for (var a = "", b = this._offset, c = b + this._length, d = 0;d < this._buffer.length;d++) { d === b && (a += "["), d === c && (a += "]"), a += this._buffer[d], d < this._buffer.length - 1 && (a += ","); } this._offset + this._length === this._buffer.length && (a += "]"); return a + ": offset: " + this._offset + ", length: " + this._length + ", capacity: " + this._buffer.length; }; c.prototype.toString = function() { for (var a = "", b = 0;b < this._length;b++) { a += this._buffer[this._offset + b], b < this._length - 1 && (a += ","); } return a; }; c.prototype._view = function() { return this._buffer.subarray(this._offset, this._offset + this._length); }; c.prototype._ensureCapacity = function(a) { var b = this._offset + a; b < this._buffer.length || (a <= this._buffer.length ? (b = this._buffer.length - a >> 2, this._buffer.set(this._view(), b), this._offset = b) : (a = (3 * this._buffer.length >> 1) + 1, a < b && (a = b), b = new Int32Array(a), b.set(this._buffer, 0), this._buffer = b)); }; c.prototype.concat = function() { t("Int32Vector.concat"); }; c.prototype.every = function(a, b) { for (var c = 0;c < this._length;c++) { if (!a.call(b, this._buffer[this._offset + c], c, this)) { return!1; } } return!0; }; c.prototype.filter = function(a, b) { for (var d = new c, l = 0;l < this._length;l++) { a.call(b, this._buffer[this._offset + l], l, this) && d.push(this._buffer[this._offset + l]); } return d; }; c.prototype.some = function(a, c) { 2 !== arguments.length ? s("ArgumentError", k.Errors.WrongArgumentCountError) : b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError); for (var d = 0;d < this._length;d++) { if (a.call(c, this._buffer[this._offset + d], d, this)) { return!0; } } return!1; }; c.prototype.forEach = function(a, b) { for (var c = 0;c < this._length;c++) { a.call(b, this._buffer[this._offset + c], c, this); } }; c.prototype.join = function(a) { t("Int32Vector.join"); }; c.prototype.indexOf = function(a, b) { t("Int32Vector.indexOf"); }; c.prototype.lastIndexOf = function(a, b) { t("Int32Vector.lastIndexOf"); }; c.prototype.map = function(a, e) { b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError); for (var d = new c, l = 0;l < this._length;l++) { d.push(a.call(e, this._buffer[this._offset + l], l, this)); } return d; }; c.prototype.push = function() { for (var a = 0;a < arguments.length - 0;a++) { } this._checkFixed(); this._ensureCapacity(this._length + arguments.length); for (a = 0;a < arguments.length;a++) { this._buffer[this._offset + this._length++] = arguments[a]; } }; c.prototype.pop = function() { this._checkFixed(); if (0 === this._length) { return c.DEFAULT_VALUE; } this._length--; return this._buffer[this._offset + this._length]; }; c.prototype.reverse = function() { for (var a = this._offset, b = this._offset + this._length - 1, c = this._buffer;a < b;) { var d = c[a]; c[a] = c[b]; c[b] = d; a++; b--; } }; c._sort = function(a) { for (var b = [], c = -1, d = 0, n = a.length - 1, f, r, h, x;;) { if (100 >= n - d) { for (r = d + 1;r <= n;r++) { h = a[r]; for (f = r - 1;f >= d && a[f] > h;) { a[f + 1] = a[f--]; } a[f + 1] = h; } if (-1 == c) { break; } n = b[c--]; d = b[c--]; } else { x = d + n >> 1; f = d + 1; r = n; h = a[x]; a[x] = a[f]; a[f] = h; a[d] > a[n] && (h = a[d], a[d] = a[n], a[n] = h); a[f] > a[n] && (h = a[f], a[f] = a[n], a[n] = h); a[d] > a[f] && (h = a[d], a[d] = a[f], a[f] = h); for (x = a[f];;) { do { f++; } while (a[f] < x); do { r--; } while (a[r] > x); if (r < f) { break; } h = a[f]; a[f] = a[r]; a[r] = h; } a[d + 1] = a[r]; a[r] = x; n - f + 1 >= r - d ? (b[++c] = f, b[++c] = n, n = r - 1) : (b[++c] = d, b[++c] = r - 1, d = f); } } return a; }; c.prototype._sortNumeric = function(a) { c._sort(this._view()); a && this.reverse(); }; c.prototype.sort = function() { if (0 === arguments.length) { return Array.prototype.sort.call(this._view()); } var a, e = 0; arguments[0] instanceof Function ? a = arguments[0] : b.isNumber(arguments[0]) && (e = arguments[0]); b.isNumber(arguments[1]) && (e = arguments[1]); if (e & c.NUMERIC) { return this._sortNumeric(e & c.DESCENDING); } Array.prototype.sort.call(this._view(), function(b, d) { return c.compare(b, d, e, a); }); }; c.prototype.asGetNumericProperty = function(a) { d(a, this._length); return this._buffer[this._offset + a]; }; c.prototype.asSetNumericProperty = function(b, c) { a(b, this._length, this._fixed); b === this._length && (this._ensureCapacity(this._length + 1), this._length++); this._buffer[this._offset + b] = c; }; c.prototype.shift = function() { this._checkFixed(); if (0 === this._length) { return 0; } this._length--; return this._buffer[this._offset++]; }; c.prototype._checkFixed = function() { this._fixed && s("RangeError", k.Errors.VectorFixedError); }; c.prototype._slide = function(a) { this._buffer.set(this._view(), this._offset + a); this._offset += a; }; c.prototype.unshift = function() { this._checkFixed(); if (arguments.length) { this._ensureCapacity(this._length + arguments.length); this._slide(arguments.length); this._offset -= arguments.length; this._length += arguments.length; for (var a = 0;a < arguments.length;a++) { this._buffer[this._offset + a] = arguments[a]; } } }; c.prototype.asHasProperty = function(a, e, d) { if (c.prototype === this || !b.isNumeric(e)) { return Object.prototype.asHasProperty.call(this, a, e, d); } a = b.toNumber(e); return 0 <= a && a < this._length; }; Object.defineProperty(c.prototype, "length", {get:function() { return this._length; }, set:function(a) { a >>>= 0; if (a > this._length) { this._ensureCapacity(a); for (var b = this._offset + this._length, d = this._offset + a;b < d;b++) { this._buffer[b] = c.DEFAULT_VALUE; } } this._length = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "fixed", {get:function() { return this._fixed; }, set:function(a) { this._fixed = !!a; }, enumerable:!0, configurable:!0}); c.prototype._spliceHelper = function(a, b, c, d, n) { b = m(b, 0, d.length - n); c = m(c, 0, this._length - a); this._ensureCapacity(this._length - c + b); var f = this._offset + a + c; this._buffer.set(this._buffer.subarray(f, f + this._length - a - c), this._offset + a + b); this._length += b - c; for (c = 0;c < b;c++) { this._buffer[this._offset + a + c] = d.asGetNumericProperty(n + c); } }; c.prototype.asNextName = function(a) { return a - 1; }; c.prototype.asNextValue = function(a) { return this._buffer[this._offset + a - 1]; }; c.prototype.asNextNameIndex = function(a) { a += 1; return a <= this._length ? a : 0; }; c.prototype.asHasNext2 = function(a) { a.index = this.asNextNameIndex(a.index); }; c.EXTRA_CAPACITY = 4; c.INITIAL_CAPACITY = 10; c.DEFAULT_VALUE = 0; c.CASEINSENSITIVE = 1; c.DESCENDING = 2; c.UNIQUESORT = 4; c.RETURNINDEXEDARRAY = 8; c.NUMERIC = 16; return c; }(); g.Int32Vector = c; c.prototype._reverse = c.prototype.reverse; c.prototype._filter = c.prototype.filter; c.prototype._map = c.prototype.map; })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.Debug.assertNotImplemented, t = b.Debug.notImplemented, s = b.AVM2.Runtime.throwError, m = b.NumberUtilities.clamp, d = b.AVM2.Runtime.asCheckVectorGetNumericProperty, a = b.AVM2.Runtime.asCheckVectorSetNumericProperty, c = function() { function c(a, b) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = !1); a >>>= 0; this._fixed = !!b; this._buffer = new Uint32Array(Math.max(c.INITIAL_CAPACITY, a + c.EXTRA_CAPACITY)); this._offset = 0; this._length = a; } c.defaultCompareFunction = function(a, b) { return String(a).localeCompare(String(b)); }; c.compare = function(a, e, d, l) { f(!(d & c.CASEINSENSITIVE), "CASEINSENSITIVE"); f(!(d & c.UNIQUESORT), "UNIQUESORT"); f(!(d & c.RETURNINDEXEDARRAY), "RETURNINDEXEDARRAY"); var g = 0; l || (l = c.defaultCompareFunction); d & c.NUMERIC ? (a = b.toNumber(a), e = b.toNumber(e), g = a < e ? -1 : a > e ? 1 : 0) : g = l(a, e); d & c.DESCENDING && (g *= -1); return g; }; c.callable = function(a) { if (a instanceof c) { return a; } var e = a.asGetProperty(void 0, "length"); if (void 0 !== e) { for (var d = new c(e, !1), l = 0;l < e;l++) { d.asSetNumericProperty(l, a.asGetPublicProperty(l)); } return d; } b.Debug.unexpected(); }; c.prototype.internalToString = function() { for (var a = "", b = this._offset, c = b + this._length, d = 0;d < this._buffer.length;d++) { d === b && (a += "["), d === c && (a += "]"), a += this._buffer[d], d < this._buffer.length - 1 && (a += ","); } this._offset + this._length === this._buffer.length && (a += "]"); return a + ": offset: " + this._offset + ", length: " + this._length + ", capacity: " + this._buffer.length; }; c.prototype.toString = function() { for (var a = "", b = 0;b < this._length;b++) { a += this._buffer[this._offset + b], b < this._length - 1 && (a += ","); } return a; }; c.prototype._view = function() { return this._buffer.subarray(this._offset, this._offset + this._length); }; c.prototype._ensureCapacity = function(a) { var b = this._offset + a; b < this._buffer.length || (a <= this._buffer.length ? (b = this._buffer.length - a >> 2, this._buffer.set(this._view(), b), this._offset = b) : (a = (3 * this._buffer.length >> 1) + 1, a < b && (a = b), b = new Uint32Array(a), b.set(this._buffer, 0), this._buffer = b)); }; c.prototype.concat = function() { t("Uint32Vector.concat"); }; c.prototype.every = function(a, b) { for (var c = 0;c < this._length;c++) { if (!a.call(b, this._buffer[this._offset + c], c, this)) { return!1; } } return!0; }; c.prototype.filter = function(a, b) { for (var d = new c, l = 0;l < this._length;l++) { a.call(b, this._buffer[this._offset + l], l, this) && d.push(this._buffer[this._offset + l]); } return d; }; c.prototype.some = function(a, c) { 2 !== arguments.length ? s("ArgumentError", k.Errors.WrongArgumentCountError) : b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError); for (var d = 0;d < this._length;d++) { if (a.call(c, this._buffer[this._offset + d], d, this)) { return!0; } } return!1; }; c.prototype.forEach = function(a, b) { for (var c = 0;c < this._length;c++) { a.call(b, this._buffer[this._offset + c], c, this); } }; c.prototype.join = function(a) { t("Uint32Vector.join"); }; c.prototype.indexOf = function(a, b) { t("Uint32Vector.indexOf"); }; c.prototype.lastIndexOf = function(a, b) { t("Uint32Vector.lastIndexOf"); }; c.prototype.map = function(a, e) { b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError); for (var d = new c, l = 0;l < this._length;l++) { d.push(a.call(e, this._buffer[this._offset + l], l, this)); } return d; }; c.prototype.push = function() { for (var a = 0;a < arguments.length - 0;a++) { } this._checkFixed(); this._ensureCapacity(this._length + arguments.length); for (a = 0;a < arguments.length;a++) { this._buffer[this._offset + this._length++] = arguments[a]; } }; c.prototype.pop = function() { this._checkFixed(); if (0 === this._length) { return c.DEFAULT_VALUE; } this._length--; return this._buffer[this._offset + this._length]; }; c.prototype.reverse = function() { for (var a = this._offset, b = this._offset + this._length - 1, c = this._buffer;a < b;) { var d = c[a]; c[a] = c[b]; c[b] = d; a++; b--; } }; c._sort = function(a) { for (var b = [], c = -1, d = 0, n = a.length - 1, f, r, h, x;;) { if (100 >= n - d) { for (r = d + 1;r <= n;r++) { h = a[r]; for (f = r - 1;f >= d && a[f] > h;) { a[f + 1] = a[f--]; } a[f + 1] = h; } if (-1 == c) { break; } n = b[c--]; d = b[c--]; } else { x = d + n >> 1; f = d + 1; r = n; h = a[x]; a[x] = a[f]; a[f] = h; a[d] > a[n] && (h = a[d], a[d] = a[n], a[n] = h); a[f] > a[n] && (h = a[f], a[f] = a[n], a[n] = h); a[d] > a[f] && (h = a[d], a[d] = a[f], a[f] = h); for (x = a[f];;) { do { f++; } while (a[f] < x); do { r--; } while (a[r] > x); if (r < f) { break; } h = a[f]; a[f] = a[r]; a[r] = h; } a[d + 1] = a[r]; a[r] = x; n - f + 1 >= r - d ? (b[++c] = f, b[++c] = n, n = r - 1) : (b[++c] = d, b[++c] = r - 1, d = f); } } return a; }; c.prototype._sortNumeric = function(a) { c._sort(this._view()); a && this.reverse(); }; c.prototype.sort = function() { if (0 === arguments.length) { return Array.prototype.sort.call(this._view()); } var a, e = 0; arguments[0] instanceof Function ? a = arguments[0] : b.isNumber(arguments[0]) && (e = arguments[0]); b.isNumber(arguments[1]) && (e = arguments[1]); if (e & c.NUMERIC) { return this._sortNumeric(e & c.DESCENDING); } Array.prototype.sort.call(this._view(), function(b, d) { return c.compare(b, d, e, a); }); }; c.prototype.asGetNumericProperty = function(a) { d(a, this._length); return this._buffer[this._offset + a]; }; c.prototype.asSetNumericProperty = function(b, c) { a(b, this._length, this._fixed); b === this._length && (this._ensureCapacity(this._length + 1), this._length++); this._buffer[this._offset + b] = c; }; c.prototype.shift = function() { this._checkFixed(); if (0 === this._length) { return 0; } this._length--; return this._buffer[this._offset++]; }; c.prototype._checkFixed = function() { this._fixed && s("RangeError", k.Errors.VectorFixedError); }; c.prototype._slide = function(a) { this._buffer.set(this._view(), this._offset + a); this._offset += a; }; c.prototype.unshift = function() { this._checkFixed(); if (arguments.length) { this._ensureCapacity(this._length + arguments.length); this._slide(arguments.length); this._offset -= arguments.length; this._length += arguments.length; for (var a = 0;a < arguments.length;a++) { this._buffer[this._offset + a] = arguments[a]; } } }; c.prototype.asHasProperty = function(a, e, d) { if (c.prototype === this || !b.isNumeric(e)) { return Object.prototype.asHasProperty.call(this, a, e, d); } a = b.toNumber(e); return 0 <= a && a < this._length; }; Object.defineProperty(c.prototype, "length", {get:function() { return this._length; }, set:function(a) { a >>>= 0; if (a > this._length) { this._ensureCapacity(a); for (var b = this._offset + this._length, d = this._offset + a;b < d;b++) { this._buffer[b] = c.DEFAULT_VALUE; } } this._length = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "fixed", {get:function() { return this._fixed; }, set:function(a) { this._fixed = !!a; }, enumerable:!0, configurable:!0}); c.prototype._spliceHelper = function(a, b, c, d, n) { b = m(b, 0, d.length - n); c = m(c, 0, this._length - a); this._ensureCapacity(this._length - c + b); var f = this._offset + a + c; this._buffer.set(this._buffer.subarray(f, f + this._length - a - c), this._offset + a + b); this._length += b - c; for (c = 0;c < b;c++) { this._buffer[this._offset + a + c] = d.asGetNumericProperty(n + c); } }; c.prototype.asNextName = function(a) { return a - 1; }; c.prototype.asNextValue = function(a) { return this._buffer[this._offset + a - 1]; }; c.prototype.asNextNameIndex = function(a) { a += 1; return a <= this._length ? a : 0; }; c.prototype.asHasNext2 = function(a) { a.index = this.asNextNameIndex(a.index); }; c.EXTRA_CAPACITY = 4; c.INITIAL_CAPACITY = 10; c.DEFAULT_VALUE = 0; c.CASEINSENSITIVE = 1; c.DESCENDING = 2; c.UNIQUESORT = 4; c.RETURNINDEXEDARRAY = 8; c.NUMERIC = 16; return c; }(); g.Uint32Vector = c; c.prototype._reverse = c.prototype.reverse; c.prototype._filter = c.prototype.filter; c.prototype._map = c.prototype.map; })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.Debug.assertNotImplemented, t = b.Debug.notImplemented, s = b.AVM2.Runtime.throwError, m = b.NumberUtilities.clamp, d = b.AVM2.Runtime.asCheckVectorGetNumericProperty, a = b.AVM2.Runtime.asCheckVectorSetNumericProperty, c = function() { function c(a, b) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = !1); a >>>= 0; this._fixed = !!b; this._buffer = new Float64Array(Math.max(c.INITIAL_CAPACITY, a + c.EXTRA_CAPACITY)); this._offset = 0; this._length = a; } c.defaultCompareFunction = function(a, b) { return String(a).localeCompare(String(b)); }; c.compare = function(a, e, d, l) { f(!(d & c.CASEINSENSITIVE), "CASEINSENSITIVE"); f(!(d & c.UNIQUESORT), "UNIQUESORT"); f(!(d & c.RETURNINDEXEDARRAY), "RETURNINDEXEDARRAY"); var g = 0; l || (l = c.defaultCompareFunction); d & c.NUMERIC ? (a = b.toNumber(a), e = b.toNumber(e), g = a < e ? -1 : a > e ? 1 : 0) : g = l(a, e); d & c.DESCENDING && (g *= -1); return g; }; c.callable = function(a) { if (a instanceof c) { return a; } var e = a.asGetProperty(void 0, "length"); if (void 0 !== e) { for (var d = new c(e, !1), l = 0;l < e;l++) { d.asSetNumericProperty(l, a.asGetPublicProperty(l)); } return d; } b.Debug.unexpected(); }; c.prototype.internalToString = function() { for (var a = "", b = this._offset, c = b + this._length, d = 0;d < this._buffer.length;d++) { d === b && (a += "["), d === c && (a += "]"), a += this._buffer[d], d < this._buffer.length - 1 && (a += ","); } this._offset + this._length === this._buffer.length && (a += "]"); return a + ": offset: " + this._offset + ", length: " + this._length + ", capacity: " + this._buffer.length; }; c.prototype.toString = function() { for (var a = "", b = 0;b < this._length;b++) { a += this._buffer[this._offset + b], b < this._length - 1 && (a += ","); } return a; }; c.prototype._view = function() { return this._buffer.subarray(this._offset, this._offset + this._length); }; c.prototype._ensureCapacity = function(a) { var b = this._offset + a; b < this._buffer.length || (a <= this._buffer.length ? (b = this._buffer.length - a >> 2, this._buffer.set(this._view(), b), this._offset = b) : (a = (3 * this._buffer.length >> 1) + 1, a < b && (a = b), b = new Float64Array(a), b.set(this._buffer, 0), this._buffer = b)); }; c.prototype.concat = function() { t("Float64Vector.concat"); }; c.prototype.every = function(a, b) { for (var c = 0;c < this._length;c++) { if (!a.call(b, this._buffer[this._offset + c], c, this)) { return!1; } } return!0; }; c.prototype.filter = function(a, b) { for (var d = new c, l = 0;l < this._length;l++) { a.call(b, this._buffer[this._offset + l], l, this) && d.push(this._buffer[this._offset + l]); } return d; }; c.prototype.some = function(a, c) { 2 !== arguments.length ? s("ArgumentError", k.Errors.WrongArgumentCountError) : b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError); for (var d = 0;d < this._length;d++) { if (a.call(c, this._buffer[this._offset + d], d, this)) { return!0; } } return!1; }; c.prototype.forEach = function(a, b) { for (var c = 0;c < this._length;c++) { a.call(b, this._buffer[this._offset + c], c, this); } }; c.prototype.join = function(a) { t("Float64Vector.join"); }; c.prototype.indexOf = function(a, b) { t("Float64Vector.indexOf"); }; c.prototype.lastIndexOf = function(a, b) { t("Float64Vector.lastIndexOf"); }; c.prototype.map = function(a, e) { b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError); for (var d = new c, l = 0;l < this._length;l++) { d.push(a.call(e, this._buffer[this._offset + l], l, this)); } return d; }; c.prototype.push = function() { for (var a = 0;a < arguments.length - 0;a++) { } this._checkFixed(); this._ensureCapacity(this._length + arguments.length); for (a = 0;a < arguments.length;a++) { this._buffer[this._offset + this._length++] = arguments[a]; } }; c.prototype.pop = function() { this._checkFixed(); if (0 === this._length) { return c.DEFAULT_VALUE; } this._length--; return this._buffer[this._offset + this._length]; }; c.prototype.reverse = function() { for (var a = this._offset, b = this._offset + this._length - 1, c = this._buffer;a < b;) { var d = c[a]; c[a] = c[b]; c[b] = d; a++; b--; } }; c._sort = function(a) { for (var b = [], c = -1, d = 0, n = a.length - 1, f, r, h, x;;) { if (100 >= n - d) { for (r = d + 1;r <= n;r++) { h = a[r]; for (f = r - 1;f >= d && a[f] > h;) { a[f + 1] = a[f--]; } a[f + 1] = h; } if (-1 == c) { break; } n = b[c--]; d = b[c--]; } else { x = d + n >> 1; f = d + 1; r = n; h = a[x]; a[x] = a[f]; a[f] = h; a[d] > a[n] && (h = a[d], a[d] = a[n], a[n] = h); a[f] > a[n] && (h = a[f], a[f] = a[n], a[n] = h); a[d] > a[f] && (h = a[d], a[d] = a[f], a[f] = h); for (x = a[f];;) { do { f++; } while (a[f] < x); do { r--; } while (a[r] > x); if (r < f) { break; } h = a[f]; a[f] = a[r]; a[r] = h; } a[d + 1] = a[r]; a[r] = x; n - f + 1 >= r - d ? (b[++c] = f, b[++c] = n, n = r - 1) : (b[++c] = d, b[++c] = r - 1, d = f); } } return a; }; c.prototype._sortNumeric = function(a) { c._sort(this._view()); a && this.reverse(); }; c.prototype.sort = function() { if (0 === arguments.length) { return Array.prototype.sort.call(this._view()); } var a, e = 0; arguments[0] instanceof Function ? a = arguments[0] : b.isNumber(arguments[0]) && (e = arguments[0]); b.isNumber(arguments[1]) && (e = arguments[1]); if (e & c.NUMERIC) { return this._sortNumeric(e & c.DESCENDING); } Array.prototype.sort.call(this._view(), function(b, d) { return c.compare(b, d, e, a); }); }; c.prototype.asGetNumericProperty = function(a) { d(a, this._length); return this._buffer[this._offset + a]; }; c.prototype.asSetNumericProperty = function(b, c) { a(b, this._length, this._fixed); b === this._length && (this._ensureCapacity(this._length + 1), this._length++); this._buffer[this._offset + b] = c; }; c.prototype.shift = function() { this._checkFixed(); if (0 === this._length) { return 0; } this._length--; return this._buffer[this._offset++]; }; c.prototype._checkFixed = function() { this._fixed && s("RangeError", k.Errors.VectorFixedError); }; c.prototype._slide = function(a) { this._buffer.set(this._view(), this._offset + a); this._offset += a; }; c.prototype.unshift = function() { this._checkFixed(); if (arguments.length) { this._ensureCapacity(this._length + arguments.length); this._slide(arguments.length); this._offset -= arguments.length; this._length += arguments.length; for (var a = 0;a < arguments.length;a++) { this._buffer[this._offset + a] = arguments[a]; } } }; c.prototype.asHasProperty = function(a, e, d) { if (c.prototype === this || !b.isNumeric(e)) { return Object.prototype.asHasProperty.call(this, a, e, d); } a = b.toNumber(e); return 0 <= a && a < this._length; }; Object.defineProperty(c.prototype, "length", {get:function() { return this._length; }, set:function(a) { a >>>= 0; if (a > this._length) { this._ensureCapacity(a); for (var b = this._offset + this._length, d = this._offset + a;b < d;b++) { this._buffer[b] = c.DEFAULT_VALUE; } } this._length = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "fixed", {get:function() { return this._fixed; }, set:function(a) { this._fixed = !!a; }, enumerable:!0, configurable:!0}); c.prototype._spliceHelper = function(a, b, c, d, n) { b = m(b, 0, d.length - n); c = m(c, 0, this._length - a); this._ensureCapacity(this._length - c + b); var f = this._offset + a + c; this._buffer.set(this._buffer.subarray(f, f + this._length - a - c), this._offset + a + b); this._length += b - c; for (c = 0;c < b;c++) { this._buffer[this._offset + a + c] = d.asGetNumericProperty(n + c); } }; c.prototype.asNextName = function(a) { return a - 1; }; c.prototype.asNextValue = function(a) { return this._buffer[this._offset + a - 1]; }; c.prototype.asNextNameIndex = function(a) { a += 1; return a <= this._length ? a : 0; }; c.prototype.asHasNext2 = function(a) { a.index = this.asNextNameIndex(a.index); }; c.EXTRA_CAPACITY = 4; c.INITIAL_CAPACITY = 10; c.DEFAULT_VALUE = 0; c.CASEINSENSITIVE = 1; c.DESCENDING = 2; c.UNIQUESORT = 4; c.RETURNINDEXEDARRAY = 8; c.NUMERIC = 16; return c; }(); g.Float64Vector = c; c.prototype._reverse = c.prototype.reverse; c.prototype._filter = c.prototype.filter; c.prototype._map = c.prototype.map; })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { function f(a) { for (var b = 0;b < arguments.length - 1;b++) { } } function t(a, b) { if (0 === b.length) { return a.sort(); } var c, h = 0; b[0] instanceof Function ? c = b[0] : q(b[0]) && (h = b[0]); q(b[1]) && (h = b[1]); a.sort(function(a, b) { return B(a, b, h, c); }); return a; } function s(a, b) { y(!la[a], "Native function: " + a + " is already registered."); la[a] = b; } function m(a) { switch(a) { case "prototype": return "native_prototype"; case "hasOwnProperty": return "native_hasOwnProperty"; case "isPrototypeOf": return "native_isPrototypeOf"; case "propertyIsEnumerable": return "native_propertyIsEnumerable"; default: return a; } } function d(a) { f("getNative(" + a + ")"); for (var b = a.split("."), c = wa, h = 0, d = b.length;h < d;h++) { c = c && c[b[h]]; } c || (c = la[a]); y(c, "getNative(" + a + ") not found."); y(0 > ia.indexOf(c), "Leaking illegal function."); return c; } var a = b.AVM2.ABC.Multiname, c = b.AVM2.Runtime.Scope, n = b.ObjectUtilities.hasOwnProperty, p = b.ObjectUtilities.hasOwnGetter, e = b.ObjectUtilities.defineNonEnumerableProperty, q = b.isNumber, l = b.isNullOrUndefined, u = b.ObjectUtilities.createObject, w = b.ObjectUtilities.isPrototypeWriteable, r = b.ObjectUtilities.getOwnPropertyDescriptor, h = b.Debug.notImplemented, x = b.AVM2.Runtime.asCoerceString, y = b.Debug.assert, G = b.AVM2.Runtime.createFunction, I = b.AVM2.Runtime, C = b.ObjectUtilities.boxValue, E = b.ObjectUtilities.createEmptyObject, O = b.AVM2.Runtime.ClassBindings, K = b.AVM2.Runtime.InstanceBindings, F = b.AVM2.AS.Int32Vector, J = b.AVM2.AS.Uint32Vector, A = b.AVM2.AS.Float64Vector, B = b.AVM2.Runtime.asCompare; (function(a) { a[a.NONE = 0] = "NONE"; a[a.OWN_INITIALIZE = 1] = "OWN_INITIALIZE"; a[a.SUPER_INITIALIZE = 2] = "SUPER_INITIALIZE"; })(g.InitializationFlags || (g.InitializationFlags = {})); var z = function() { function c() { } c.morphIntoASClass = function(a) { this.classInfo = a; this.__proto__ = D.prototype; }; c.create = function(a, b, c) { D.create(a, b, this.instanceConstructor); }; c.initializeFrom = function(a) { return L.initializeFrom.call(this, a); }; c.asCall = function(a) { for (var b = [], c = 0;c < arguments.length - 1;c++) { b[c] = arguments[c + 1]; } return this.callableConstructor.apply(a, b); }; c.asApply = function(a, b) { return this.callableConstructor.apply(a, b); }; c.verify = function() { L.verify.call(this); }; c.trace = function(a) { L.trace.call(this, a); }; c.getQualifiedClassName = function() { return L.getQualifiedClassName.call(this); }; c._setPropertyIsEnumerable = function(b, c, h) { c = a.getPublicQualifiedName(c); h = r(b, c); h.enumerable = !1; Object.defineProperty(b, c, h); }; c._dontEnumPrototype = function(b) { for (var c in b) { if (a.isPublicQualifiedName(c)) { var h = r(b, c); h.enumerable = !1; Object.defineProperty(b, c, h); } } }; c.prototype.native_isPrototypeOf = function(a) { h("isPrototypeOf"); return!1; }; c.prototype.native_hasOwnProperty = function(a) { return this.asHasOwnProperty(null, a, 0); }; c.prototype.native_propertyIsEnumerable = function(a) { return this.asPropertyIsEnumerable(null, a, 0); }; c.prototype.setPropertyIsEnumerable = function(a, b) { c._setPropertyIsEnumerable(this, a, b); }; c.prototype.toString = function() { var a = C(this); return a instanceof D ? b.StringUtilities.concat3("[class ", a.classInfo.instanceInfo.name.name, "]") : b.StringUtilities.concat3("[object ", a.class.classInfo.instanceInfo.name.name, "]"); }; c.baseClass = null; c.instanceConstructor = Object; c.instanceConstructorNoInitialize = null; c.initializer = null; c.initializers = null; c.classInitializer = null; c.callableConstructor = c.instanceConstructor; c.defaultValue = null; c.initializationFlags = 0; c.call = Function.prototype.call; c.apply = Function.prototype.apply; c.coerce = I.asCoerceObject; c.defineProperty = Object.defineProperty; return c; }(); g.ASObject = z; var P = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b.baseClass = null; b.classInfo = null; b.instanceConstructor = null; b.callableConstructor = null; b.classBindings = null; b.instanceBindings = null; b.staticNatives = null; b.instanceNatives = null; b.traitsPrototype = null; b.dynamicPrototype = null; b.defaultValue = null; b.initializationFlags = 0; return b; }(z); g.ASNative = P; var D = function(c) { function d(a) { this.classInfo = a; this.instanceNatives = this.staticNatives = null; this.initializationFlags = 0; this.defaultValue = null; } __extends(d, c); d.configureBuiltinPrototype = function(a, b) { y(a.instanceConstructor); a.baseClass = b; a.dynamicPrototype = a.traitsPrototype = a.instanceConstructor.prototype; }; d.configurePrototype = function(a, c) { a.baseClass = c; a.dynamicPrototype = u(c.dynamicPrototype); a.traitsPrototype = u(a.dynamicPrototype); for (var h = a.traitsPrototype, d = [];a;) { d.push(a), a = a.baseClass; } for (var e = 0;e < d.length;e++) { var l = [d[e].typeScriptPrototype]; d[e].instanceNatives && b.ArrayUtilities.pushMany(l, d[e].instanceNatives); for (var r = 0;r < l.length;r++) { var f = l[r], p; for (p in f) { if (!(0 < e && "toString" === p) && n(f, p) && !n(h, p)) { var q = Object.getOwnPropertyDescriptor(f, p); b.Debug.assert(q); try { Object.defineProperty(h, p, q); } catch (x) { } } } } } }; d.create = function(c, h, l) { y(!c.instanceConstructorNoInitialize, "This should not be set yet."); y(!c.dynamicPrototype && !c.traitsPrototype, "These should not be set yet."); c.typeScriptPrototype = c.prototype; c.instanceConstructor && !w(c.instanceConstructor) ? d.configureBuiltinPrototype(c, h) : d.configurePrototype(c, h); c.instanceConstructor || (c.instanceConstructor = l, c !== l && (c.instanceConstructor.__proto__ = c)); c.callableConstructor || (c.callableConstructor = c.coerce.bind(c)); c.instanceConstructorNoInitialize = c.instanceConstructor; c.instanceConstructor.prototype = c.traitsPrototype; e(c.instanceConstructor.prototype, "class", c); e(c.dynamicPrototype, a.getPublicQualifiedName("constructor"), c); c.protocol && b.ObjectUtilities.copyOwnPropertyDescriptors(c.traitsPrototype, c.protocol); }; d.prototype.initializeFrom = function(a) { var b = Object.create(this.traitsPrototype); d.runInitializers(b, a); return b; }; d.runInitializers = function(a, b) { b = b || a.class.defaultInitializerArgument; var c = a.class.initializers; if (c) { for (var h = 0;h < c.length;h++) { c[h].call(a, b); } } }; d.configureInitializers = function(a) { a.baseClass && a.baseClass.initializers && (a.initializers = a.baseClass.initializers.slice(0)); a.initializer && (a.initializers || (a.initializers = []), a.initializers.push(a.initializer)); a.initializers && (y(a.instanceConstructorNoInitialize === a.instanceConstructor), a.instanceConstructor = function() { for (var b = 0;b < arguments.length - 0;b++) { } d.runInitializers(this, void 0); return a.instanceConstructorNoInitialize.apply(this, arguments); }, a.instanceConstructor.prototype = a.traitsPrototype, e(a.instanceConstructor.prototype, "class", a), a.instanceConstructor.classInfo = a.classInfo, a.instanceConstructor.__proto__ = a); }; d.runClassInitializer = function(a) { a.classInitializer && a.classInitializer(); }; d.linkSymbols = function(b) { function c(b, d, e) { for (var l = 0;l < d.length;l++) { var r = d[l], n; a: { n = b; for (var f = r.name.name, q = 0;q < n.length;q++) { var x = n[q]; if (0 <= x.indexOf(f) && ("!" === x[x.length - 1] && (x = x.slice(0, x.length - 1)), f === x)) { n = !0; break a; } } n = !1; } if (n) { y(!r.name.getNamespace().isPrivate(), "Why are you linking against private members?"); if (r.isConst()) { h("Don't link against const traits."); break; } n = r.name.name; f = a.getQualifiedName(r.name); r.isSlot() ? Object.defineProperty(e, n, {get:new Function("", "return this." + f), set:new Function("v", "this." + f + " = v")}) : r.isMethod() ? (y(!e[n], "Symbol should not already exist."), y(e.asOpenMethods[f], "There should be an open method for this symbol."), e[n] = e.asOpenMethods[f]) : r.isGetter() ? (y(p(e, f), "There should be an getter method for this symbol."), Object.defineProperty(e, n, {get:new Function("", "return this." + f)})) : h(r); } } } b.classSymbols && c(b.classSymbols, b.classInfo.traits, b); b.instanceSymbols && c(b.instanceSymbols, b.classInfo.instanceInfo.traits, b.traitsPrototype); }; d.prototype.morphIntoASClass = function(a) { y(this.classInfo === a); y(this instanceof d); }; Object.defineProperty(d.prototype, "native_prototype", {get:function() { y(this.dynamicPrototype); return this.dynamicPrototype; }, enumerable:!0, configurable:!0}); d.prototype.asCall = function(a) { for (var b = [], c = 0;c < arguments.length - 1;c++) { b[c] = arguments[c + 1]; } return this.coerce(b[0]); }; d.prototype.asApply = function(a, b) { return this.coerce(b[0]); }; d.prototype.applyType = function(a) { debugger; return null; }; d.prototype.isInstanceOf = function(a) { return this.isInterface() ? !1 : this.isType(a); }; d.prototype.isType = function(c) { if (b.isNullOrUndefined(c)) { return!1; } c = C(c); if (this.isInterface()) { if (null === c || "object" !== typeof c) { return!1; } y(c.class.implementedInterfaces, "No 'implementedInterfaces' map found on class " + c.class); var h = a.getQualifiedName(this.classInfo.instanceInfo.name); return void 0 !== c.class.implementedInterfaces[h]; } return this.dynamicPrototype.isPrototypeOf(c); }; d.prototype.isSubtypeOf = function(a) { for (var b = this;b;) { if (b.traitsPrototype === a.traitsPrototype) { return!0; } b = b.baseClass; } return!1; }; d.prototype.coerce = function(a) { f(b.StringUtilities.concat4("Coercing ", a, " to ", this)); return a; }; d.prototype.isInterface = function() { return this.classInfo.instanceInfo.isInterface(); }; d.prototype.getQualifiedClassName = function() { var a = this.classInfo.instanceInfo.name, b = a.namespaces[0].uri; return b ? b + "::" + a.name : a.name; }; d.prototype.verify = function() { function a(b, c, h) { for (var d = 0;d < b.length;d++) { if (c(b[d], h)) { return!0; } } return!1; } if (!this.isInterface()) { var c = [this.classInfo.traits, this.classInfo.instanceInfo.traits], h = [this]; this.staticNatives && b.ArrayUtilities.pushMany(h, this.staticNatives); var d = [this.prototype]; this.instanceNatives && b.ArrayUtilities.pushMany(d, this.instanceNatives); this === z ? y(!this.baseClass, "ASObject should have no base class.") : (y(this.baseClass, this.classInfo.instanceInfo.name + " has no base class."), y(this.baseClass !== this)); y(this.traitsPrototype === this.instanceConstructor.prototype, "The traitsPrototype is not set correctly."); for (var e = 0;e < c.length;e++) { for (var l = 0 === e, r = 0;r < c[e].length;r++) { var n = c[e][r], f = m(n.name.name); if (n.isMethodOrAccessor() && n.methodInfo.isNative()) { var p = l ? h : d; n.isMethod() ? a(p, b.ObjectUtilities.hasOwnProperty, f) : n.isGetter() ? a(p, b.ObjectUtilities.hasOwnGetter, f) : n.isSetter() && a(p, b.ObjectUtilities.hasOwnSetter, f); } } } b.Debug.assert(this.instanceConstructor, "Must have a constructor function."); } }; d.labelObject = function(a) { if (!a) { return a; } n(a, "labelId") || (a.labelId = d.labelCounter++); return a instanceof Function ? "Function [#" + a.labelId + "]" : "Object [#" + a.labelId + "]"; }; d.prototype.trace = function(a) { a.enter("Class: " + this.classInfo); a.writeLn("baseClass: " + (this.baseClass ? this.baseClass.classInfo.instanceInfo.name : null)); a.writeLn("instanceConstructor: " + this.instanceConstructor + " " + d.labelObject(this.instanceConstructor)); a.writeLn("instanceConstructorNoInitialize: " + this.instanceConstructorNoInitialize + " " + d.labelObject(this.instanceConstructorNoInitialize)); a.writeLn("traitsPrototype: " + d.labelObject(this.traitsPrototype)); a.writeLn("traitsPrototype.__proto__: " + d.labelObject(this.traitsPrototype.__proto__)); a.writeLn("dynamicPrototype: " + d.labelObject(this.dynamicPrototype)); a.writeLn("dynamicPrototype.__proto__: " + d.labelObject(this.dynamicPrototype.__proto__)); a.writeLn("instanceConstructor.prototype: " + d.labelObject(this.instanceConstructor.prototype)); a.leave("}"); }; d.instanceConstructor = d; d.staticNatives = null; d.instanceNatives = null; d.labelCounter = 0; return d; }(z); g.ASClass = D; var L = D.prototype; L.call = Function.prototype.call; L.apply = Function.prototype.apply; var M = function(a) { function b() { } __extends(b, a); Object.defineProperty(b.prototype, "native_prototype", {get:function() { return this.prototype; }, set:function(a) { this.prototype = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "native_length", {get:function() { return this.hasOwnProperty(I.VM_LENGTH) ? this.asLength : this.length; }, enumerable:!0, configurable:!0}); b.baseClass = null; b.instanceConstructor = Function; b.staticNatives = [Function]; b.instanceNatives = [Function.prototype]; return b; }(z); g.ASFunction = M; var V = function(a) { function b(a) { } __extends(b, a); b.instanceConstructor = Boolean; b.callableConstructor = b.instanceConstructor; b.staticNatives = null; b.instanceNatives = null; b.coerce = I.asCoerceBoolean; return b; }(z); g.ASBoolean = V; V.prototype.toString = Boolean.prototype.toString; V.prototype.valueOf = Boolean.prototype.valueOf; var Q = function(a) { function c(a, h) { var d = b.FunctionUtilities.bindSafely(h, a); e(this, "call", d.call.bind(d)); e(this, "apply", d.apply.bind(d)); } __extends(c, a); c.prototype.toString = function() { return "function Function() {}"; }; c.staticNatives = null; c.instanceNatives = null; return c.instanceConstructor = c; }(M); g.ASMethodClosure = Q; var U = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b._numberToString = function(a, b) { return Number(a).toString(b | 0); }; b._minValue = function() { return Number.MIN_VALUE; }; b.instanceConstructor = Number; b.callableConstructor = b.instanceConstructor; b.staticNatives = [Math]; b.instanceNatives = [Number.prototype]; b.defaultValue = Number(0); b.coerce = I.asCoerceNumber; return b; }(z); g.ASNumber = U; var S = function(a) { function b(a) { return Object(Number(a | 0)); } __extends(b, a); b.asCall = function(a) { for (var b = [], c = 0;c < arguments.length - 1;c++) { b[c] = arguments[c + 1]; } return b[0] | 0; }; b.asApply = function(a, b) { return b[0] | 0; }; b.isInstanceOf = function(a) { return!1; }; b.isType = function(a) { return q(a) || a instanceof Number ? (a = +a, (a | 0) === a) : !1; }; b.instanceConstructor = b; b.callableConstructor = b.instanceConstructor; b.staticNatives = [Math]; b.instanceNatives = [Number.prototype]; b.defaultValue = 0; b.coerce = I.asCoerceInt; return b; }(z); g.ASInt = S; var aa = function(a) { function b(a) { return Object(Number(a >>> 0)); } __extends(b, a); b.asCall = function(a) { for (var b = [], c = 0;c < arguments.length - 1;c++) { b[c] = arguments[c + 1]; } return b[0] >>> 0; }; b.asApply = function(a, b) { return b[0] >>> 0; }; b.isInstanceOf = function(a) { return!1; }; b.isType = function(a) { return q(a) || a instanceof Number ? (a = +a, a >>> 0 === a) : !1; }; b.instanceConstructor = b; b.callableConstructor = b.instanceConstructor; b.staticNatives = [Math]; b.instanceNatives = [Number.prototype]; b.defaultValue = 0; b.coerce = I.asCoerceUint; return b; }(z); g.ASUint = aa; var $ = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); Object.defineProperty(b.prototype, "native_length", {get:function() { return this.length; }, enumerable:!0, configurable:!0}); b.prototype.match = function(a) { if (void 0 === a || null === a) { return null; } if (a instanceof RegExp && a.global) { for (var b = [], c;c = a.exec(this);) { b.push(c[0]); } return b; } a instanceof RegExp || "string" === typeof a || (a = String(a)); return this.match(a); }; b.prototype.search = function(a) { return void 0 === a ? -1 : this.search(a); }; b.prototype.toUpperCase = function() { var a = String.prototype.toUpperCase.apply(this); return a = a.replace(/\u039C/g, String.fromCharCode(181)); }; b.prototype.toLocaleUpperCase = function() { var a = String.prototype.toLocaleUpperCase.apply(this); return a = a.replace(/\u039C/g, String.fromCharCode(181)); }; b.instanceConstructor = String; b.callableConstructor = b.instanceConstructor; b.staticNatives = [String]; b.instanceNatives = [String.prototype]; b.coerce = I.asCoerceString; return b; }(z); g.ASString = $; g.arraySort = t; var ea = function(c) { function h() { c.apply(this, arguments); } __extends(h, c); h._splice = function(a, b) { return 0 === b.length ? void 0 : a.splice.apply(a, b); }; h._sort = function(a, b) { if (0 === b.length) { return a.sort(); } var c, h = 0; b[0] instanceof Function ? c = b[0] : q(b[0]) && (h = b[0]); q(b[1]) && (h = b[1]); a.sort(function(a, b) { return I.asCompare(a, b, h, c); }); return a; }; h._sortOn = function(c, d, e) { b.isString(d) && (d = [d]); q(e) && (e = [e]); for (var l = d.length - 1;0 <= l;l--) { var r = a.getPublicQualifiedName(d[l]); if (h.CACHE_NUMERIC_COMPARATORS && e[l] & 16) { var n = "var x = +(a." + r + "), y = +(b." + r + ");", n = e[l] & 2 ? n + "return x < y ? 1 : (x > y ? -1 : 0);" : n + "return x < y ? -1 : (x > y ? 1 : 0);", f = h.numericComparatorCache[n]; f || (f = h.numericComparatorCache[n] = new Function("a", "b", n)); c.sort(f); } else { c.sort(function(a, b) { return I.asCompare(a[r], b[r], e[l] | 0); }); } } return c; }; h._every = function(a, b, c) { for (var h = 0;h < a.length && !0 === b.call(c, a[h], h, a);h++) { } return!1; }; h._filter = function(a, b, c) { for (var h = [], d = 0;d < a.length;d++) { !0 === b.call(c, a[d], d, a) && h.push(a[d]); } return h; }; Object.defineProperty(h.prototype, "native_length", {get:function() { return this.length; }, set:function(a) { this.length = a >>> 0; }, enumerable:!0, configurable:!0}); h.instanceConstructor = Array; h.staticNatives = [Array]; h.instanceNatives = [Array.prototype]; h.CACHE_NUMERIC_COMPARATORS = !0; h.numericComparatorCache = E(); return h; }(z); g.ASArray = ea; var Z = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b.prototype.newThisType = function() { return new this.class.instanceConstructor; }; b.staticNatives = null; b.instanceNatives = null; b.instanceConstructor = b; b.callableConstructor = null; return b; }(P); g.ASVector = Z; var v = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b._every = function(a, b, c) { return a.every(b, c); }; b._forEach = function(a, b, c) { return a.forEach(b, c); }; b._some = function(a, b, c) { return a.some(b, c); }; b.instanceConstructor = F; b.staticNatives = [F]; b.instanceNatives = [F.prototype, Z.prototype]; b.callableConstructor = F.callable; b._sort = t; return b; }(Z); g.ASIntVector = v; var X = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b._every = function(a, b, c) { return a.every(b, c); }; b._forEach = function(a, b, c) { return a.forEach(b, c); }; b._some = function(a, b, c) { return a.some(b, c); }; b.instanceConstructor = J; b.staticNatives = [J]; b.instanceNatives = [J.prototype, Z.prototype]; b.callableConstructor = J.callable; b._sort = t; return b; }(Z); g.ASUIntVector = X; var ba = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b._every = function(a, b, c) { return a.every(b, c); }; b._forEach = function(a, b, c) { return a.forEach(b, c); }; b._some = function(a, b, c) { return a.some(b, c); }; b.instanceConstructor = A; b.staticNatives = [A]; b.instanceNatives = [A.prototype, Z.prototype]; b.callableConstructor = A.callable; b._sort = t; return b; }(Z); g.ASDoubleVector = ba; var R = function(c) { function h() { c.apply(this, arguments); } __extends(h, c); h.transformJSValueToAS = function(a) { if ("object" !== typeof a) { return a; } for (var b = Object.keys(a), c = a instanceof Array ? [] : {}, d = 0;d < b.length;d++) { c.asSetPublicProperty(b[d], h.transformJSValueToAS(a[b[d]])); } return c; }; h.transformASValueToJS = function(c) { if ("object" !== typeof c || l(c)) { return c; } for (var d = Object.keys(c), e = c instanceof Array ? [] : {}, r = 0;r < d.length;r++) { var n = d[r], f = n; b.isNumeric(n) || (f = a.getNameFromPublicQualifiedName(n)); e[f] = h.transformASValueToJS(c[n]); } return e; }; h.parseCore = function(a) { a = x(a); return h.transformJSValueToAS(JSON.parse(a)); }; h.stringifySpecializedToString = function(a, b, c, d) { return JSON.stringify(h.transformASValueToJS(a), c, d); }; h.instanceConstructor = h; h.staticNatives = null; h.instanceNatives = null; return h; }(z); g.ASJSON = R; var H = function(a) { function c(a, b) { h("ASError"); } __extends(c, a); c.prototype.getStackTrace = function() { return b.AVM2.Runtime.AVM2.getStackTrace(); }; c.instanceConstructor = null; c.staticNatives = null; c.instanceNatives = null; c.getErrorMessage = b.AVM2.getErrorMessage; return c; }(P); g.ASError = H; var Y = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASDefinitionError = Y; var ga = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASEvalError = ga; var ca = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASRangeError = ca; var ka = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASReferenceError = ka; var W = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASSecurityError = W; var ha = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASSyntaxError = ha; var da = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASTypeError = da; var ja = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASURIError = ja; var N = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASVerifyError = N; var ma = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASUninitializedError = ma; var T = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(H); g.ASArgumentError = T; var oa = function(a) { function c() { a.apply(this, arguments); } __extends(c, a); Object.defineProperty(c.prototype, "native_source", {get:function() { return this.source; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "native_global", {get:function() { return this.global; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "native_ignoreCase", {get:function() { return this.ignoreCase; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "native_multiline", {get:function() { return this.multiline; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "native_lastIndex", {get:function() { return this.lastIndex; }, set:function(a) { this.lastIndex = a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "native_dotall", {get:function() { return this.dotall; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "native_extended", {get:function() { return this.extended; }, enumerable:!0, configurable:!0}); c.prototype.exec = function(a) { "undefined" === typeof a && (a = ""); var c = RegExp.prototype.exec.apply(this, arguments); if (!c) { return c; } for (var h = Object.keys(c), d = 0;d < h.length;d++) { var e = h[d]; b.isNumeric(e) || void 0 === c[e] && (c[e] = ""); } b.AVM2.Runtime.publicizeProperties(c); return c; }; c.instanceConstructor = k.XRegExp; c.staticNatives = [k.XRegExp]; c.instanceNatives = [k.XRegExp.prototype]; return c; }(z); g.ASRegExp = oa; var pa = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b.staticNatives = [Math]; return b; }(P); g.ASMath = pa; var na = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b.staticNatives = [Date]; b.instanceNatives = [Date.prototype]; b.instanceConstructor = Date; return b; }(P); g.ASDate = na; var fa = b.ObjectUtilities.createMap(), sa = !1; g.initialize = function(a) { sa || (fa.ObjectClass = z, fa.Class = D, fa.FunctionClass = M, fa.BooleanClass = V, fa.MethodClosureClass = Q, fa.NamespaceClass = g.ASNamespace, fa.NumberClass = U, fa.IntClass = S, fa.UIntClass = aa, fa.StringClass = $, fa.ArrayClass = ea, fa.VectorClass = Z, fa.ObjectVectorClass = g.GenericVector, fa.IntVectorClass = v, fa.UIntVectorClass = X, fa.DoubleVectorClass = ba, fa.JSONClass = R, fa.XMLClass = g.ASXML, fa.XMLListClass = g.ASXMLList, fa.QNameClass = g.ASQName, fa.ErrorClass = H, fa.DefinitionErrorClass = Y, fa.EvalErrorClass = ga, fa.RangeErrorClass = ca, fa.ReferenceErrorClass = ka, fa.SecurityErrorClass = W, fa.SyntaxErrorClass = ha, fa.TypeErrorClass = da, fa.URIErrorClass = ja, fa.VerifyErrorClass = N, fa.UninitializedErrorClass = ma, fa.ArgumentErrorClass = T, fa.DateClass = na, fa.MathClass = pa, fa.RegExpClass = oa, fa.ProxyClass = g.flash.utils.OriginalProxy, fa.DictionaryClass = g.flash.utils.OriginalDictionary, fa.ByteArrayClass = g.flash.utils.OriginalByteArray, fa.SystemClass = g.flash.system.OriginalSystem, sa = !0); }; var xa = b.ObjectUtilities.createMap(), la = b.ObjectUtilities.createMap(); g.registerNativeClass = function(a, b) { y(!xa[a], "Native class: " + a + " is already registered."); xa[a] = b; }; g.registerNativeFunction = s; g.createInterface = function(a) { var b = a.instanceInfo; y(b.isInterface()); a = new D(a); a.interfaceBindings = new K(null, b, null, null); a.verify(); return a; }; var qa = []; g.createClass = function(a, h, d) { var e = a.instanceInfo, l = a.abc.applicationDomain, r = a.native, n; r ? ((n = fa[a.native.cls]) || (n = xa[a.native.cls]), n || b.Debug.unexpected("No native class for " + a.native.cls), n.morphIntoASClass(a), qa && qa.push(n)) : n = new D(a); d = new c(d, null); d.object = n; var f = null; e.init.isNative() ? (y(r), f = n) : f = G(e.init, d, !1, !1); var p = null, q = null; r && (p = [n], n.staticNatives && b.ArrayUtilities.pushMany(p, n.staticNatives), q = [n.prototype], n.instanceNatives && b.ArrayUtilities.pushMany(q, n.instanceNatives)); D.create(n, h, f); n.verify(); if ("Class" === a.instanceInfo.name.name) { for (r = 0;r < qa.length;r++) { qa[r].__proto__ = D.prototype; } qa = null; } k.enterTimeline("ClassBindings"); n.classBindings = new O(a, d, p); k.enterTimeline("applyTo"); n.classBindings.applyTo(l, n); k.leaveTimeline(); k.leaveTimeline(); k.enterTimeline("InstanceBindings"); n.instanceBindings = new K(h ? h.instanceBindings : null, e, d, q); n.instanceConstructor && (k.enterTimeline("applyTo"), n.instanceBindings.applyTo(l, n.traitsPrototype), k.leaveTimeline()); k.leaveTimeline(); n.implementedInterfaces = n.instanceBindings.implementedInterfaces; n === D ? n.instanceBindings.applyTo(l, z, !0) : D.instanceBindings && D.instanceBindings.applyTo(l, n, !0); k.enterTimeline("Configure"); D.configureInitializers(n); D.linkSymbols(n); D.runClassInitializer(n); k.leaveTimeline(); return n; }; var ia = [I.forwardValueOf, I.forwardToString]; g.getMethodOrAccessorNative = function(b, c) { var h = m(a.getName(b.name)); f("getMethodOrAccessorNative(" + h + ")"); for (var d = 0;d < c.length;d++) { var e = c[d], l = h; n(e, "original_" + h) && (l = "original_" + h); !n(e, h) && n(e, "native_" + h) && (l = "native_" + h); if (n(e, l)) { return b.isAccessor() ? (h = r(e, l), h = b.isGetter() ? h.get : h.set) : (y(b.isMethod()), h = e[l]), y(h, "Method or Accessor property exists but it's undefined: " + b), y(0 > ia.indexOf(h), "Leaking illegal function."), h; } } f("Cannot find " + b + " in natives."); return null; }; g.escapeNativeName = m; (function(a) { function c(a) { for (var b = {prototype:E()}, h = Object.getOwnPropertyNames(a.prototype), d = 0;d < h.length;d++) { b.prototype[h[d]] = a.prototype[h[d]]; } return b; } a.String = jsGlobal.String; a.Function = jsGlobal.Function; a.Boolean = jsGlobal.Boolean; a.Number = jsGlobal.Number; a.Date = jsGlobal.Date; a.ASObject = b.AVM2.AS.ASObject; a.Original = {Date:c(a.Date), Array:c(Array), String:c(a.String), Number:c(a.Number), Boolean:c(a.Boolean)}; a.print = function() { for (var a = [], b = 0;b < arguments.length - 0;b++) { a[b] = arguments[b + 0]; } jsGlobal.print.apply(null, a); }; a.notImplemented = function(a) { h(a); }; a.debugBreak = function(a) { debugger; }; a.bugzilla = function(a) { switch(a) { case 574600: return!0; } return!1; }; a.decodeURI = jsGlobal.decodeURI; a.decodeURIComponent = jsGlobal.decodeURIComponent; a.encodeURI = jsGlobal.encodeURI; a.encodeURIComponent = jsGlobal.encodeURIComponent; a.isNaN = jsGlobal.isNaN; a.isFinite = jsGlobal.isFinite; a.parseInt = jsGlobal.parseInt; a.parseFloat = jsGlobal.parseFloat; a.escape = jsGlobal.escape; a.unescape = jsGlobal.unescape; a.isXMLName = "undefined" !== typeof a.isXMLName ? jsGlobal.isXMLName : function() { h("Chrome doesn't support isXMLName."); }; a.getQualifiedClassName = function(a) { if (null === a) { return "null"; } if (void 0 === a) { return "void"; } if (S.isType(a)) { return "int"; } a = C(a); return D.isType(a) ? a.getQualifiedClassName() : a.class.getQualifiedClassName(); }; a.getQualifiedSuperclassName = function(a) { if (l(a)) { return "null"; } a = C(a); a = D.isType(a) ? a : a.class; return a.baseClass ? a.baseClass.getQualifiedClassName() : "null"; }; a.getDefinitionByName = function(c) { c = a.String(c).replace("::", "."); return b.AVM2.Runtime.AVM2.currentDomain().getClass(c, !1) || null; }; a.describeTypeJSON = function(a, c) { return b.AVM2.AS.describeTypeJSON(a, c); }; })(g.Natives || (g.Natives = {})); var wa = g.Natives; g.getNative = d; s("unsafeJSNative", d); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.Debug.assert, t = b.Debug.assertNotImplemented, s = b.AVM2.Runtime.throwError, m = b.NumberUtilities.clamp, d = b.AVM2.Runtime.asCheckVectorGetNumericProperty, a = b.AVM2.Runtime.asCheckVectorSetNumericProperty, c = b.AVM2.AS.arraySort, n = function(n) { function e(a, b, c) { a >>>= 0; this._fixed = !!b; this._buffer = Array(a); this._defaultValue = (this._type = c) ? c.defaultValue : null; this._fill(a, this._defaultValue); } __extends(e, n); e.defaultCompareFunction = function(a, b) { return String(a).localeCompare(String(b)); }; e.compare = function(a, c, d, n) { t(!(d & e.CASEINSENSITIVE), "CASEINSENSITIVE"); t(!(d & e.UNIQUESORT), "UNIQUESORT"); t(!(d & e.RETURNINDEXEDARRAY), "RETURNINDEXEDARRAY"); var r = 0; n || (n = e.defaultCompareFunction); d & e.NUMERIC ? (a = b.toNumber(a), c = b.toNumber(c), r = a < c ? -1 : a > c ? 1 : 0) : r = n(a, c); d & e.DESCENDING && (r *= -1); return r; }; e._every = function(a, b, c) { return a.every(b, c); }; e._forEach = function(a, b, c) { return a.forEach(b, c); }; e._some = function(a, b, c) { return a.some(b, c); }; e.applyType = function(a) { function c(b, d) { Function.prototype.call.call(e.instanceConstructor, this, b, d, a); } c.prototype = e.prototype; c.instanceConstructor = c; c.callableConstructor = function(a) { if (a instanceof g.Int32Vector) { return a; } var d = a.asGetProperty(void 0, "length"); if (void 0 !== d) { for (var e = new c(d, !1), h = 0;h < d;h++) { e.asSetNumericProperty(h, a.asGetPublicProperty(h)); } return e; } b.Debug.unexpected(); }; c.__proto__ = e; return c; }; e.prototype._fill = function(a, b) { for (var c = 0;c < a;c++) { this._buffer[0 + c] = b; } }; e.prototype.toString = function() { for (var a = "", b = 0;b < this._buffer.length;b++) { a += this._buffer[b], b < this._buffer.length - 1 && (a += ","); } return a; }; e.prototype.every = function(a, b) { for (var c = 0;c < this._buffer.length;c++) { if (!a.call(b, this.asGetNumericProperty(c), c, this)) { return!1; } } return!0; }; e.prototype.filter = function(a, b) { for (var c = new e(0, !1, this._type), d = 0;d < this._buffer.length;d++) { a.call(b, this.asGetNumericProperty(d), d, this) && c.push(this.asGetNumericProperty(d)); } return c; }; e.prototype.some = function(a, c) { 2 !== arguments.length ? s("ArgumentError", k.Errors.WrongArgumentCountError) : b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError); for (var d = 0;d < this._buffer.length;d++) { if (a.call(c, this.asGetNumericProperty(d), d, this)) { return!0; } } return!1; }; e.prototype.forEach = function(a, c) { b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError); for (var d = 0;d < this._buffer.length;d++) { a.call(c, this.asGetNumericProperty(d), d, this); } }; e.prototype.map = function(a, c) { b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError); for (var d = new e(0, !1, this._type), n = 0;n < this._buffer.length;n++) { d.push(a.call(c, this.asGetNumericProperty(n), n, this)); } return d; }; e.prototype.push = function() { for (var a = 0;a < arguments.length - 0;a++) { } this._checkFixed(); for (a = 0;a < arguments.length;a++) { this._buffer.push(this._coerce(arguments[a])); } }; e.prototype.pop = function() { this._checkFixed(); return 0 === this._buffer.length ? void 0 : this._buffer.pop(); }; e.prototype.reverse = function() { this._buffer.reverse(); }; e.prototype.sort = function(a) { return this._buffer.sort(a); }; e.prototype.asGetNumericProperty = function(a) { d(a, this._buffer.length); return this._buffer[a]; }; e.prototype._coerce = function(a) { return this._type ? this._type.coerce(a) : void 0 === a ? null : a; }; e.prototype.asSetNumericProperty = function(b, c) { a(b, this._buffer.length, this._fixed); this._buffer[b] = this._coerce(c); }; e.prototype.shift = function() { this._checkFixed(); return 0 === this._buffer.length ? void 0 : this._buffer.shift(); }; e.prototype._checkFixed = function() { this._fixed && s("RangeError", k.Errors.VectorFixedError); }; e.prototype.unshift = function() { if (arguments.length) { this._checkFixed(); for (var a = [], b = 0;b < arguments.length;b++) { a.push(this._coerce(arguments[b])); } this._buffer.unshift.apply(this._buffer, a); } }; Object.defineProperty(e.prototype, "length", {get:function() { return this._buffer.length; }, set:function(a) { a >>>= 0; if (a > this._buffer.length) { for (var b = this._buffer.length;b < a;b++) { this._buffer[b] = this._defaultValue; } } else { this._buffer.length = a; } f(this._buffer.length === a); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "fixed", {get:function() { return this._fixed; }, set:function(a) { this._fixed = !!a; }, enumerable:!0, configurable:!0}); e.prototype._spliceHelper = function(a, b, c, d, e) { b = m(b, 0, d.length - e); c = m(c, 0, this._buffer.length - a); for (var h = [], n = 0;n < b;n++) { h.push(this._coerce(d.asGetNumericProperty(e + n))); } this._buffer.splice.apply(this._buffer, [a, c].concat(h)); }; e.prototype.asNextName = function(a) { return a - 1; }; e.prototype.asNextValue = function(a) { return this._buffer[a - 1]; }; e.prototype.asNextNameIndex = function(a) { a += 1; return a <= this._buffer.length ? a : 0; }; e.prototype.asHasProperty = function(a, c, d) { if (e.prototype === this || !b.isNumeric(c)) { return Object.prototype.asHasProperty.call(this, a, c, d); } a = b.toNumber(c); return 0 <= a && a < this._buffer.length; }; e.prototype.asHasNext2 = function(a) { a.index = this.asNextNameIndex(a.index); }; e.CASEINSENSITIVE = 1; e.DESCENDING = 2; e.UNIQUESORT = 4; e.RETURNINDEXEDARRAY = 8; e.NUMERIC = 16; e.instanceConstructor = e; e.staticNatives = [e]; e.instanceNatives = [e.prototype, g.ASVector.prototype]; e._sort = c; return e; }(g.ASVector); g.GenericVector = n; n.prototype._reverse = n.prototype.reverse; n.prototype._filter = n.prototype.filter; n.prototype._map = n.prototype.map; })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { function f(a) { return a instanceof Q || a instanceof U; } function t(a) { if ("object" === typeof a && null !== a) { if (a instanceof U) { return a._children.map(t).join(""); } switch(a._kind) { case 3: ; case 2: return a._value; default: return a.hasSimpleContent() ? a._children.map(t).join("") : p(a); } } else { return String(a); } } function s(a) { for (var b = 0, c;b < a.length && "&" !== (c = a[b]) && "<" !== c && ">" !== c;) { b++; } if (b >= a.length) { return a; } for (var h = a.substring(0, b);b < a.length;) { switch(c = a[b++], c) { case "&": h += "&"; break; case "<": h += "<"; break; case ">": h += ">"; break; default: h += c; } } return h; } function m(a) { for (var b = 0, c;b < a.length && "&" !== (c = a[b]) && "<" !== c && '"' !== c && "\n" !== c && "\r" !== c && "\t" !== c;) { b++; } if (b >= a.length) { return a; } for (var h = a.substring(0, b);b < a.length;) { switch(c = a[b++], c) { case "&": h += "&"; break; case "<": h += "<"; break; case '"': h += """; break; case "\n": h += " "; break; case "\r": h += " "; break; case "\t": h += " "; break; default: h += c; } } return h; } function d(a, b) { var c = a[b]; return " " === c || "\n" === c || "\r" === c || "\t" === c; } function a(a) { for (var b = 0;b < a.length && d(a, b);) { b++; } if (b >= a.length) { return ""; } for (var c = a.length - 1;d(a, c);) { c--; } return 0 === b && c === a.length - 1 ? a : a.substring(b, c + 1); } function c(a) { if (0 < a) { if (void 0 !== A[a]) { return A[a]; } for (var b = "", c = 0;c < a;c++) { b += " "; } return A[a] = b; } return ""; } function n(a) { for (var b = 1, c;;) { c = "_ns" + b; if (!a.some(function(a) { return a.prefix == c; })) { break; } b++; } return c; } function p(b, h, d) { if (null === b || void 0 === b) { throw new TypeError; } if (!(b instanceof Q)) { return b instanceof U ? b._children.map(function(a) { return p(a, h); }).join(Q.prettyPrinting ? "\n" : "") : s(String(b)); } var e = Q.prettyPrinting; d |= 0; var l = e ? c(d) : "", r = b._kind; switch(r) { case 3: return e ? l + s(a(b._value)) : s(b._value); case 2: return l + m(b._value); case 4: return l + "\x3c!--" + b._value + "--\x3e"; case 5: return l + ""; default: y(1 === r); } h = h || []; for (var f = [], q = 0;q < b._inScopeNamespaces.length;q++) { var x = b._inScopeNamespaces[q].prefix, g = b._inScopeNamespaces[q].uri; h.every(function(a) { return a.uri != g || a.prefix != x; }) && (r = new z(x, g), f.push(r)); } var w = h.concat(f), r = b._name.getNamespace(w); void 0 === r.prefix && (q = n(w), q = new z(q, r.uri), f.push(q), w.push(q)); var u = (r.prefix ? r.prefix + ":" : "") + b._name.localName, l = l + ("<" + u); b._attributes.forEach(function(a) { a = a._name.getNamespace(w); if (void 0 === a.prefix) { var b = n(w); a = new z(b, a.uri); f.push(a); w.push(a); } }); for (q = 0;q < f.length;q++) { r = f[q], l += " " + (r.prefix ? "xmlns:" + r.prefix : "xmlns") + '="' + m(r.uri) + '"'; } b._attributes.forEach(function(a) { var b = a._name, c = b.getNamespace(h); l += " " + (c.prefix ? c.prefix + ":" + b.localName : b.localName) + '="' + m(a._value) + '"'; }); if (0 === b._children.length) { return l += "/>"; } var l = l + ">", k = 1 < b._children.length || 1 === b._children.length && 3 !== b._children[0]._kind, G = e && k ? d + Q.prettyIndent : 0; b._children.forEach(function(a, b) { e && k && (l += "\n"); var c = p(a, w, G); l += c; }); e && k && (l += "\n" + c(d)); return l += ""; } function e(a) { if (null === a) { throw new TypeError(k.formatErrorMessage(k.Errors.ConvertNullToObjectError)); } if (void 0 === a) { throw new TypeError(k.formatErrorMessage(k.Errors.ConvertUndefinedToObjectError)); } if (a instanceof Q) { return a; } if (a instanceof U) { if (1 === a.length()) { return a._children[0]; } throw new TypeError(k.formatErrorMessage(k.Errors.XMLMarkupMustBeWellFormed)); } a = B.parseFromString(String(a)); if (0 === a.length()) { return a = new h(3); } if (1 === a.length()) { return a._children[0]._parent = null, a._children[0]; } throw "SyntaxError in ToXML"; } function q(a) { if (null === a) { throw new TypeError(k.formatErrorMessage(k.Errors.ConvertNullToObjectError)); } if (void 0 === a) { throw new TypeError(k.formatErrorMessage(k.Errors.ConvertUndefinedToObjectError)); } if (a instanceof h) { var b = new x(a.parent, a.name); b.appendChild(a); return b; } if (a instanceof x) { return a; } a = e("" + a + ""); for (var b = new x, c = 0;c < a.length();c++) { var d = a._children[c]; d._parent = null; b.appendChild(d); } return b; } function l(a) { if (void 0 === a || null === a || "boolean" === typeof a || "number" === typeof a) { throw "TypeError: invalid operand to ToAttributeName()"; } if (f(a)) { a = t(a); } else { if ("object" === typeof a && null !== a) { if (a instanceof D) { return new D(a.uri, a.localName, !0); } if (G.isQName(a)) { return D.fromMultiname(a); } a = t(a); } } if ("string" === typeof a) { var b = Namespace.createNamespace("", ""), b = new D(b, a, !0) } return b; } function u(a) { if (void 0 === a) { return new D("*"); } if ("object" === typeof a && null !== a) { if (a instanceof D) { return a; } if (G.isQName(a)) { return D.fromMultiname(a); } a = a instanceof Q || a instanceof U ? t(a) : a instanceof G ? a.name : a.toString(); } else { if ("string" !== typeof a) { throw new TypeError; } } return "@" === a[0] ? l(a.substring(1)) : new D(a); } function w(a) { return "object" === typeof a && a instanceof D ? !!(a._flags & 1) : !1; } function r(a, b, c) { return a && 1 === a.length && a[0] instanceof z && ("string" === typeof b || void 0 === b) ? new D(a[0], b || "*", c) : b; } function h(a, b, c, h) { var d = Object.create(Q.prototype); void 0 === a && (a = 3); void 0 === b && (b = ""); void 0 === c && (c = ""); d.init(a, b, c, h); return d; } function x(a, b) { var c = Object.create(U.prototype); c._targetObject = a ? a : null; c._targetProperty = b ? b : null; c._children = []; return c; } var y = b.Debug.assert, G = b.AVM2.ABC.Multiname, I = b.Debug.notImplemented, C = Object.prototype.asGetProperty, E = Object.prototype.asSetProperty, O = Object.prototype.asCallProperty, K = Object.prototype.asHasProperty, F = Object.prototype.asHasOwnProperty, J = Object.prototype.asGetEnumerableKeys, A = [], B = new function() { function b(c, h) { function e(a) { return a.replace(/&([^;]+);/g, function(a, b) { if ("#x" === b.substring(0, 2)) { return String.fromCharCode(parseInt(b.substring(2), 16)); } if ("#" === b.substring(0, 1)) { return String.fromCharCode(parseInt(b.substring(1), 10)); } switch(b) { case "lt": return "<"; case "gt": return ">"; case "amp": return "&"; case "quot": return'"'; } return a; }); } function l() { for (var a = g.length - 1;0 <= a;--a) { if ("preserve" === g[a].space) { return!0; } } return!1; } function n() { for (var a = g.length - 1;0 <= a;--a) { if ("xmlns" in g[a]) { return g[a].xmlns; } } return ""; } function r(a) { for (var b = g.length - 1;0 <= b;--b) { if (a in g[b].lookup) { return g[b].lookup[a]; } } } function f(a, b) { var c = a.indexOf(":"); if (0 <= c) { var h = a.substring(0, c), d = r(h); if (void 0 === d) { throw "Unknown namespace: " + h; } c = a.substring(c + 1); return{name:d + "::" + c, localName:c, prefix:h, namespace:d}; } return b ? {name:a, localName:a, prefix:"", namespace:n()} : {name:a, localName:a, prefix:"", namespace:""}; } function p(a, b) { function c() { for (;h < a.length && d(a, h);) { ++h; } } for (var h = b, l, n = [];h < a.length && !d(a, h) && ">" !== a[h] && "/" !== a[h];) { ++h; } l = a.substring(b, h); for (c();h < a.length && ">" !== a[h] && "/" !== a[h] && "?" !== a[h];) { c(); for (var r = "", f = "";h < a.length && !d(a, h) && "=" !== a[h];) { r += a[h], ++h; } c(); if ("=" !== a[h]) { throw "'=' expected"; } ++h; c(); f = a[h]; if ('"' !== f && "'" !== f) { throw "Quote expected"; } var x = a.indexOf(f, ++h); if (0 > x) { throw "Unexpected EOF[6]"; } f = a.substring(h, x); n.push({name:r, value:e(f)}); h = x + 1; c(); } return{name:l, attributes:n, parsed:h - b}; } function q(a, b) { for (var c = b, h;c < a.length && !d(a, c) && ">" !== a[c] && "/" !== a[c];) { ++c; } for (h = a.substring(b, c);c < a.length && d(a, c);) { ++c; } for (var e = c;c < a.length && ("?" !== a[c] || ">" != a[c + 1]);) { ++c; } return{name:h, value:a.substring(e, c), parsed:c - b}; } for (var x = 0, g = [{namespaces:[], lookup:{xmlns:"http://www.w3.org/2000/xmlns/", xml:"http://www.w3.org/XML/1998/namespace"}, inScopes:Q.defaultNamespace ? [{uri:Q.defaultNamespace, prefix:""}] : [], space:"default", xmlns:Q.defaultNamespace || ""}];x < c.length;) { var m = x; if ("<" === c[x]) { switch(++m, c[m]) { case "/": ++m; x = c.indexOf(">", m); if (0 > x) { throw "Unexpected EOF[1]"; } m = f(c.substring(m, x), !0); h.endElement(m); g.pop(); m = x + 1; break; case "?": ++m; x = q(c, m); if ("?>" != c.substring(m + x.parsed, m + x.parsed + 2)) { throw "Unexpected EOF[2]"; } h.pi(x.name, x.value); m += x.parsed + 2; break; case "!": if ("--" === c.substring(m + 1, m + 3)) { x = c.indexOf("--\x3e", m + 3); if (0 > x) { throw "Unexpected EOF[3]"; } h.comment(c.substring(m + 3, x)); m = x + 3; } else { if ("[CDATA[" === c.substring(m + 1, m + 8)) { x = c.indexOf("]]\x3e", m + 8); if (0 > x) { throw "Unexpected EOF[4]"; } h.cdata(c.substring(m + 8, x)); m = x + 3; } else { if ("DOCTYPE" === c.substring(m + 1, m + 8)) { var w = c.indexOf("[", m + 8), u = !1, x = c.indexOf(">", m + 8); if (0 > x) { throw "Unexpected EOF[5]"; } if (0 < w && x > w) { x = c.indexOf("]>", m + 8); if (0 > x) { throw "Unexpected EOF[7]"; } u = !0; } h.doctype(c.substring(m + 8, x + (u ? 1 : 0))); m = x + (u ? 2 : 1); } else { throw "Unknown !tag"; } } } break; default: w = p(c, m); u = !1; if ("/>" === c.substring(m + w.parsed, m + w.parsed + 2)) { u = !0; } else { if (">" !== c.substring(m + w.parsed, m + w.parsed + 1)) { throw "Unexpected EOF[2]"; } } for (var k = {namespaces:[], lookup:Object.create(null)}, y = w.attributes, x = 0;x < y.length;++x) { var s = y[x], G = s.name; if ("xmlns:" === G.substring(0, 6)) { G = G.substring(6), s = s.value, r(G) !== s && (k.lookup[G] = a(s), k.namespaces.push({uri:s, prefix:G})), delete y[x]; } else { if ("xmlns" === G) { s = s.value, n() !== s && (k.xmlns = a(s), k.namespaces.push({uri:s, prefix:""})), delete y[x]; } else { if ("xml:" === G.substring(0, 4)) { var I = G.substring(4); if ("space" !== I && "lang" !== I && "base" !== I) { throw "Invalid xml attribute: " + G; } k[I] = a(s.value); } else { if ("xml" === G.substring(0, 3)) { throw "Invalid xml attribute"; } } } } } var t = []; k.namespaces.forEach(function(a) { a.prefix && k.lookup[a.prefix] !== a.uri || t.push(a); }); g[g.length - 1].inScopes.forEach(function(a) { (!a.prefix || a.prefix in k.lookup) && (a.prefix || "xmlns" in k) || t.push(a); }); k.inScopes = t; g.push(k); G = []; for (x = 0;x < y.length;++x) { (s = y[x]) && G.push({name:f(s.name, !1), value:s.value}); } h.beginElement(f(w.name, !0), G, t, u); m += w.parsed + (u ? 2 : 1); u && g.pop(); } } else { w = !0; do { if (w = w && d(c, m), ++m >= c.length) { break; } } while ("<" !== c[m]); h.text(e(c.substring(x, m)), w || l()); } x = m; } } this.parseFromString = function(a, c) { var d = new h(1, "", "", ""), e = []; b(a, {beginElement:function(a, b, c, l) { var n = d; e.push(n); d = new h(1, a.namespace, a.localName, a.prefix); for (a = 0;a < b.length;++a) { var r = b[a], f = new h(2, r.name.namespace, r.name.localName, r.name.prefix); f._value = r.value; d._attributes.push(f); } for (a = 0;a < c.length;++a) { b = c[a], b = Namespace.createNamespace(b.uri, b.prefix), d._inScopeNamespaces.push(b); } n.insert(n.length(), d); l && (d = e.pop()); }, endElement:function(a) { d = e.pop(); }, text:function(a, b) { if (!b || !Q.ignoreWhitespace) { var c = new h(3, "", "", void 0); c._value = a; d.insert(d.length(), c); } }, cdata:function(a) { var b = new h(3, "", "", void 0); b._value = a; d.insert(d.length(), b); }, comment:function(a) { if (!Q.ignoreComments) { var b = new h(4, "", "", void 0); b._value = a; d.insert(d.length(), b); } }, pi:function(a, b) { if (!Q.ignoreProcessingInstructions) { var c = new h(5, "", a, void 0); c._value = b; d.insert(d.length(), c); } }, doctype:function(a) { }}); return d; }; }, z = function(a) { function c(a, h) { var d = "", e = ""; if (0 !== arguments.length) { if (1 === arguments.length) { d = a, b.isObject(d) && d instanceof c ? (e = d.prefix, d = d.uri) : b.isObject(d) && d instanceof D && null !== d.uri ? d = d.uri : (d = t(d), e = "" === d ? "" : void 0); } else { if (d = h, d = b.isObject(d) && d instanceof D && null !== d.uri ? d.uri : t(d), "" === d) { if (void 0 === a || "" === t(a)) { e = ""; } else { throw new TypeError; } } else { if (void 0 === a) { e = void 0; } else { a: { try { new D(a); } catch (l) { e = !1; break a; } e = !0; } e = !1 === e ? void 0 : t(a); } } } } this._ns = Namespace.createNamespace(d, e); } __extends(c, a); c.fromNamespace = function(a) { return new c._namespaceConstructor(a); }; Object.defineProperty(c.prototype, "prefix", {get:function() { return this._ns.prefix; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "uri", {get:function() { return this._ns.uri; }, enumerable:!0, configurable:!0}); c.staticNatives = null; c.instanceNatives = null; c.instanceConstructor = c; c._namespaceConstructor = function(a) { this._ns = a; }; c._namespaceConstructor.prototype = c.prototype; c._ = void 0; c.callableConstructor = function(a, h) { if (1 === arguments.length && b.isObject(a) && a instanceof c) { return a; } switch(arguments.length) { case 0: return new c; case 1: return new c(a); default: return new c(a, h); } }; return c; }(g.ASObject); g.ASNamespace = z; var P; (function(a) { a[a.ATTR_NAME = 1] = "ATTR_NAME"; a[a.ELEM_NAME = 2] = "ELEM_NAME"; a[a.ANY_NAME = 4] = "ANY_NAME"; a[a.ANY_NAMESPACE = 8] = "ANY_NAMESPACE"; })(P || (P = {})); var D = function(a) { function c(a, h, d) { var e, l; 0 === arguments.length ? e = "" : 1 === arguments.length ? e = a : (l = a, e = h); if (b.isObject(e) && e instanceof c) { if (2 > arguments.length) { return e; } e = e.localName; } e = void 0 === e || 0 === arguments.length ? "" : t(e); if (void 0 === l || 2 > arguments.length) { l = "*" === e ? null : new z("", Q.defaultNamespace); } var n = e; null !== l && (l = l instanceof z ? l : new z(l)); var r = d ? 1 : 2; "*" === e && (r |= 4); null === l && (r |= 8); this._mn = new G([l ? l._ns : null], n); this._flags = r; } __extends(c, a); c.fromMultiname = function(a) { var b = Object.create(c.prototype); b._mn = a; var h = 0, h = a.isAttribute() ? h | 1 : h | 2; a.isAnyName() && (h |= 4); a.isAnyNamespace() && (h |= 8); b._flags = h; return b; }; Object.defineProperty(c.prototype, "localName", {get:function() { return this._mn.name; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "uri", {get:function() { return this._mn.namespaces[0] ? this._mn.namespaces[0].uri : null; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "prefix", {get:function() { return this._mn.namespaces[0].prefix; }, enumerable:!0, configurable:!0}); c.prototype.getNamespace = function(a) { if (null === this.uri) { throw "TypeError in QName.prototype.getNamespace()"; } a || (a = []); for (var b, c = 0;c < a.length;c++) { this.uri === a[c].uri && (b = a[c]); } b || (b = new z(this.prefix, this.uri)); return b; }; c.instanceConstructor = c; c.callableConstructor = function(a, h) { if (1 === arguments.length && b.isObject(a) && a instanceof c) { return a; } switch(arguments.length) { case 0: return new c; case 1: return new c(a); default: return new c(a, h); } }; return c; }(g.ASNative); g.ASQName = D; var L; (function(a) { a[a.FLAG_IGNORE_COMMENTS = 1] = "FLAG_IGNORE_COMMENTS"; a[a.FLAG_IGNORE_PROCESSING_INSTRUCTIONS = 2] = "FLAG_IGNORE_PROCESSING_INSTRUCTIONS"; a[a.FLAG_IGNORE_WHITESPACE = 4] = "FLAG_IGNORE_WHITESPACE"; a[a.FLAG_PRETTY_PRINTING = 8] = "FLAG_PRETTY_PRINTING"; a[a.ALL = a.FLAG_IGNORE_COMMENTS | a.FLAG_IGNORE_PROCESSING_INSTRUCTIONS | a.FLAG_IGNORE_WHITESPACE | a.FLAG_PRETTY_PRINTING] = "ALL"; })(L || (L = {})); var M; (function(a) { a[a.Unknown = 0] = "Unknown"; a[a.Element = 1] = "Element"; a[a.Attribute = 2] = "Attribute"; a[a.Text = 3] = "Text"; a[a.Comment = 4] = "Comment"; a[a.ProcessingInstruction = 5] = "ProcessingInstruction"; })(M || (M = {})); var V = [null, "element", "attribute", "text", "comment", "processing-instruction"], Q = function(a) { function c(a) { "undefined" === typeof a && (a = void 0); if (!(this instanceof c)) { return a instanceof c ? a : new c(a); } if (null === a || void 0 === a) { a = ""; } var b = e(a); f(a) && (b = b._deepCopy()); return b; } __extends(c, a); c.prototype.init = function(a, b, c, h) { b = b || h ? new z(h, b) : void 0; this._name = new D(b, c, 2 === a); this._kind = a; this._parent = null; switch(a) { case 1: this._inScopeNamespaces = []; this._attributes = []; this._children = []; break; case 4: ; case 5: ; case 2: ; case 3: this._value = ""; } return this; }; c.prototype.length = function() { return this._children ? this._children.length : 0; }; c.prototype._deepCopy = function() { var a = this._kind, b = new c; b._kind = a; b._name = this._name; switch(a) { case 1: b._inScopeNamespaces = []; 0 < this._inScopeNamespaces.length && this._inScopeNamespaces.forEach(function(a) { b._inScopeNamespaces.push(new z(a.prefix, a.uri)); }); b._attributes = this._attributes.map(function(a) { a = a._deepCopy(); a._parent = b; return a; }); b._children = this._children.map(function(a) { a = a._deepCopy(); a._parent = b; return a; }); break; case 4: ; case 5: ; case 2: ; case 3: b._value = this._value; } return b; }; c.prototype.resolveValue = function() { return this; }; c.prototype._addInScopeNamespaces = function(a) { this._inScopeNamespaces.some(function(b) { return b.uri === a.uri && b.prefix === a.prefix; }) || this._inScopeNamespaces.push(a); }; Object.defineProperty(c, "ignoreComments", {get:function() { return!!(c._flags & 1); }, set:function(a) { c._flags = a ? c._flags | 1 : c._flags & -2; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "ignoreProcessingInstructions", {get:function() { return!!(c._flags & 2); }, set:function(a) { c._flags = a ? c._flags | 2 : c._flags & -3; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "ignoreWhitespace", {get:function() { return!!(c._flags & 4); }, set:function(a) { c._flags = a ? c._flags | 4 : c._flags & -5; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "prettyPrinting", {get:function() { return!!(c._flags & 8); }, set:function(a) { c._flags = a ? c._flags | 8 : c._flags & -9; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "prettyIndent", {get:function() { return c._prettyIndent; }, set:function(a) { c._prettyIndent = a | 0; }, enumerable:!0, configurable:!0}); c.prototype.toString = function() { return t(this); }; c.prototype.native_hasOwnProperty = function(a) { "undefined" === typeof a && (a = void 0); return this.hasProperty(a, w(a), !1) ? !0 : F.call(this, String(a)); }; c.prototype.native_propertyIsEnumerable = function(a) { "undefined" === typeof a && (a = void 0); return "0" === String(a); }; c.prototype.addNamespace = function(a) { this._addInScopeNamespaces(new z(a)); return this; }; c.prototype.appendChild = function(a) { if (a._parent) { var b = a._parent._children.indexOf(a); y(0 <= b); a._parent._children.splice(b, 1); } this._children.push(a); a._parent = this; return this; }; c.prototype.attribute = function(a) { return this.getProperty(a, !0, !1); }; c.prototype.attributes = function() { var a = new x; Array.prototype.push.apply(a._children, this._attributes); return a; }; c.prototype.child = function(a) { return this.getProperty(a, w(a), !1); }; c.prototype.childIndex = function() { return this._parent && 2 !== this._kind ? this._parent._children.indexOf(this) : -1; }; c.prototype.children = function() { var a = new x(this); Array.prototype.push.apply(a._children, this._children); return a; }; c.prototype.contains = function(a) { return this === a; }; c.prototype.copy = function() { return this._deepCopy(); }; c.prototype.elements = function(a) { "undefined" === typeof a && (a = "*"); return this.getProperty(a, !1, !1); }; c.prototype.hasComplexContent = function() { return 2 === this._kind || 4 === this._kind || 5 === this._kind || 3 === this._kind ? !1 : this._children.some(function(a) { return 1 === a._kind; }); }; c.prototype.hasSimpleContent = function() { return 4 === this._kind || 5 === this._kind ? !1 : this._children || 0 !== this._children.length ? this._children.every(function(a) { return 1 !== a._kind; }) : !0; }; c.prototype.inScopeNamespaces = function() { I("public.XML::inScopeNamespaces"); }; c.prototype.insertChildAfter = function(a, b) { I("public.XML::insertChildAfter"); }; c.prototype.insertChildBefore = function(a, b) { I("public.XML::insertChildBefore"); }; c.prototype.localName = function() { return this._name.localName; }; c.prototype.name = function() { return this._name; }; c.prototype._namespace = function(a, b) { I("public.XML::private _namespace"); }; c.prototype.namespaceDeclarations = function() { I("public.XML::namespaceDeclarations"); }; c.prototype.nodeKind = function() { return V[this._kind]; }; c.prototype.normalize = function() { I("public.XML::normalize"); }; c.prototype.parent = function() { return this._parent; }; c.prototype.processingInstructions = function(a) { I("public.XML::processingInstructions"); }; c.prototype.prependChild = function(a) { I("public.XML::prependChild"); }; c.prototype.removeNamespace = function(a) { I("public.XML::removeNamespace"); }; c.prototype.setChildren = function(a) { I("public.XML::setChildren"); }; c.prototype.setLocalName = function(a) { I("public.XML::setLocalName"); }; c.prototype.setName = function(a) { I("public.XML::setName"); }; c.prototype.setNamespace = function(a) { I("public.XML::setNamespace"); }; c.prototype.toXMLString = function() { return p(this); }; c.prototype.notification = function() { I("public.XML::notification"); }; c.prototype.setNotification = function(a) { I("public.XML::setNotification"); }; c.isTraitsOrDynamicPrototype = function(a) { return a === c.traitsPrototype || a === c.dynamicPrototype; }; c.prototype.asGetEnumerableKeys = function() { if (c.isTraitsOrDynamicPrototype(this)) { return J.call(this); } var a = []; this._children.forEach(function(b, c) { a.push(b.name); }); return a; }; c.prototype.setProperty = function(a, b, c) { var d, e; if (a === a >>> 0) { throw "TypeError in XML.prototype.setProperty(): invalid property name " + a; } if (3 !== this._kind && 4 !== this._kind && 5 !== this._kind && 2 !== this._kind) { if (d = c && f(c) && 3 !== c._kind && 2 !== c._kind ? c._deepCopy() : t(c), e = u(a), b) { this._attributes && (this._attributes.forEach(function(a, b, c) { a.name === e.localName && delete c[b]; }), d = new h(2, e.uri, e.localName), d._value = c, d._parent = this, this._attributes.push(d)); } else { c = void 0; a = !f(d) && "*" !== e.localName; b = e._flags & 4; for (var l = e._flags & 8, n = this.length() - 1;0 <= n;n--) { (b || 1 === this._children[n]._kind && this._children[n]._name.localName === e.localName) && (l || 1 === this._children[n]._kind && this._children[n]._name.uri === e.uri) && (void 0 !== c && this.deleteByIndex(String(c)), c = n); } void 0 === c && (c = this.length(), a && (l = null === e.uri ? new D(new z("", Q.defaultNamespace), e) : new D(e), b = new h(1, l.uri, l.localName, l.prefix), b._parent = this, l = l.getNamespace(), this.replace(String(c), b), b.addInScopeNamespace(l))); a ? (this._children[c]._children = [], d = t(d), "" !== d && this._children[c].replace("0", d)) : this.replace(String(c), d); } } }; c.prototype.asSetProperty = function(a, b, h, d) { if (c.isTraitsOrDynamicPrototype(this)) { return E.call(this, a, b, h, d); } h &= G.ATTRIBUTE; this.setProperty(r(a, b, h), h, d); }; c.prototype.getProperty = function(a, c, h) { if (h) { return c = G.isQName(a) ? a : this.resolveMultinameProperty(a.namespaces, a.name, a.flags), this[G.getQualifiedName(c)]; } if (!G.isQName(a) && b.isNumeric(a)) { return 0 === Number(a) ? this : null; } var d = u(a), e = new x(this, d); a = d._flags; var l = a & 4, n = a & 8; c ? this._attributes && this._attributes.forEach(function(a, b) { !l && a._name.localName !== d.localName || !n && a._name.uri !== d.uri || e.appendChild(a); }) : this._children.forEach(function(a, b) { (l || 1 === a._kind && a._name.localName === d.localName) && (n || 1 === a._kind && a._name.uri === d.uri) && e.appendChild(a); }); return e; }; c.prototype.asGetNumericProperty = function(a) { return this.asGetProperty(null, a, 0); }; c.prototype.asSetNumericProperty = function(a, b) { this.asSetProperty(null, a, 0, b); }; c.prototype.asGetProperty = function(a, b, h) { if (c.isTraitsOrDynamicPrototype(this)) { return C.call(this, a, b, h); } h &= G.ATTRIBUTE; return this.getProperty(r(a, b, h), h, !1); }; c.prototype.hasProperty = function(a, c, h) { if (h) { return c = G.isQName(a) ? a : this.resolveMultinameProperty(a.namespaces, a.name, a.flags), !!this[G.getQualifiedName(c)]; } new x; if (b.isIndex(a)) { return 0 === Number(a) ? !0 : !1; } var d = u(a); a = d._flags; var e = a & 4, l = a & 8; if (c) { if (this._attributes) { return this._attributes.some(function(a, b) { return(e || a._name.localName === d.localName) && (l || a._name.uri === d.uri); }); } } else { if (this._children.some(function(a, b) { return(e || 1 === a._kind && a._name.localName === d.localName) && (l || 1 === a._kind && a._name.uri === d.uri); })) { return!0; } } }; c.prototype.asHasProperty = function(a, b, h) { if (c.isTraitsOrDynamicPrototype(this)) { return K.call(this, a, b, h); } var d = h & G.ATTRIBUTE; b = r(a, b, d); if (this.hasProperty(b, d, !1)) { return!0; } a = G.isQName(b) ? b : this.resolveMultinameProperty(a, b, h); return!!this[G.getQualifiedName(a)]; }; c.prototype.asHasPropertyInternal = function(a, b, c) { return this.asHasProperty(a, b, c); }; c.prototype.asCallProperty = function(a, b, h, d, e) { if (c.isTraitsOrDynamicPrototype(this) || d) { return O.call(this, a, b, h, d, e); } var l; l = this.resolveMultinameProperty(a, b, h); if (this.asGetNumericProperty && G.isNumeric(l)) { l = this.asGetNumericProperty(l); } else { var n = this.asOpenMethods; l = n && n[l] || this[l]; } if (l) { return O.call(this, a, b, h, d, e); } if (this.hasSimpleContent()) { return Object(t(this)).asCallProperty(a, b, h, d, e); } throw new TypeError; }; c.prototype._delete = function(a, b) { I("XML.[[Delete]]"); }; c.prototype.deleteByIndex = function(a) { var b = a >>> 0; if (String(b) !== String(a)) { throw "TypeError in XML.prototype.deleteByIndex(): invalid index " + a; } if (a < this.length() && this.children[a]) { this.children[a]._parent = null; delete this.children[a]; for (a = b + 1;a < this.length();a++) { this.children[a - 1] = this.children[a]; } this.children.length -= 1; } }; c.prototype.insert = function(a, b) { var c, h; if (3 !== this._kind && 4 !== this._kind && 5 !== this._kind && 2 !== this._kind) { c = a >>> 0; if (String(a) !== String(c)) { throw "TypeError in XML.prototype.insert(): invalid property name " + a; } if (1 === this._kind) { for (h = this;h;) { if (h === b) { throw "Error in XML.prototype.insert()"; } h = h._parent; } } if (this instanceof U) { if (h = this.length(), 0 === h) { return; } } else { h = 1; } for (var d = this.length() - 1;d >= c;d--) { this._children[d + h] = this._children[d]; } if (this instanceof U) { for (h = b.length(), d = 0;d < h;d++) { b._children[d]._parent = this, this[c + d] = b[d]; } } else { b._parent = this, this._children[c] = b; } } }; c.prototype.replace = function(a, b) { var c, d = this; if (3 === d._kind || 4 === d._kind || 5 === d._kind || 2 === d._kind) { return d; } if (1 === b._kind) { for (c = d;c;) { if (c === b) { throw "Error in XML.prototype.replace()"; } c = c._parent; } } c = a >>> 0; if (String(a) === String(c)) { c >= d.length() && (a = String(d.length())), d._children[a] && (d._children[a]._parent = null); } else { c = this.getProperty(a, !1, !1); if (0 === c.length()) { return d; } c._children.forEach(function(b, c) { var h = d._children.indexOf(b); b._parent = null; 0 === c ? (a = String(h), d._children.splice(h, 1, void 0)) : d._children.splice(h, 1); }); } if (1 === b._kind || 3 === b._kind || 4 === b._kind || 5 === b._kind) { b._parent = d, d._children[a] = b; } else { c = t(b); var e = new h; e._parent = d; e._value = c; d._children[a] = e; } return d; }; c.prototype.addInScopeNamespace = function(a) { var b = this; if (3 !== b._kind && 4 !== b._kind && 5 !== b._kind && 2 !== b._kind && void 0 !== a.prefix && ("" !== a.prefix || "" !== b._name.uri)) { var c = null; b._inScopeNamespaces.forEach(function(b, h) { b.prefix === a.prefix && (c = b); }); null !== c && c.uri !== a.uri && b._inScopeNamespaces.forEach(function(h, d) { h.prefix === c.prefix && (b._inScopeNamespaces[d] = a); }); b._name.prefix === a.prefix && (b._name.prefix = void 0); b._attributes.forEach(function(b, c) { b._name.prefix === a.prefix && (b._name.prefix = void 0); }); } }; c.prototype.descendants = function(a) { "undefined" === typeof a && (a = "*"); a = u(a); var b = a._flags, c = new x; if (1 !== this._kind) { return c; } var h = b & 4; b & 1 ? this._attributes.forEach(function(b, d) { (h || a.localName === b._name.localName) && c.appendChild(b); }) : this._children.forEach(function(b, d) { (h || a.localName === b._name.localName) && c.appendChild(b); }); this._children.forEach(function(b, h) { c.appendChild(b.descendants(a)); }); return c; }; c.prototype.comments = function() { var a = new x(this, null); this._children.forEach(function(b, c) { 4 === b._kind && a.appendChild(b); }); return a; }; c.prototype.text = function() { var a = new x(this, null); this._children.forEach(function(b, c) { 3 === b._kind && a.appendChild(b); }); return a; }; c.instanceConstructor = c; c.callableConstructor = function(a) { "undefined" === typeof a && (a = void 0); if (null === a || void 0 === a) { a = ""; } return e(a); }; c.defaultNamespace = ""; c._flags = L.ALL; c._prettyIndent = 2; return c; }(g.ASNative); g.ASXML = Q; var U = function(a) { function c(a) { "undefined" === typeof a && (a = void 0); if (null === a || void 0 === a) { a = ""; } var b = q(a); f(a) && (b = b._deepCopy()); return b; } __extends(c, a); c.prototype.toString = function() { return t(this); }; c.prototype._deepCopy = function() { for (var a = new x, b = 0;b < this.length();b++) { a.appendChild(this._children[b]._deepCopy()); } return a; }; c.prototype.hasOwnProperty = function(a) { I("public.XMLList::hasOwnProperty"); }; c.prototype.propertyIsEnumerable = function(a) { I("public.XMLList::propertyIsEnumerable"); }; c.prototype.attribute = function(a) { return this.getProperty(a, !0, !1); }; c.prototype.attributes = function() { return this.getProperty("*", !0, !1); }; c.prototype.child = function(a) { return this.getProperty(a, !1, !1); }; c.prototype.children = function() { return this.getProperty("*", !1, !1); }; c.prototype.comments = function() { var a = new x(this); this._children.forEach(function(b) { 1 === b._kind && (b = b.comments(), Array.prototype.push.apply(a._children, b._children)); }); return a; }; c.prototype.contains = function(a) { return 0 <= this._children.indexOf(a); }; c.prototype.copy = function() { return this._deepCopy(); }; c.prototype.elements = function(a) { "undefined" === typeof a && (a = "*"); var b = new x(this, new D(a)); this._children.forEach(function(c) { 1 === c._kind && (c = c.elements(a), Array.prototype.push.apply(b._children, c._children)); }); return b; }; c.prototype.hasComplexContent = function() { switch(this.length()) { case 0: return!1; case 1: return this._children[0].hasComplexContent(); default: return this._children.some(function(a) { return 1 === a._kind; }); } }; c.prototype.hasSimpleContent = function() { switch(this.length()) { case 0: return!0; case 1: return this._children[0].hasSimpleContent(); default: return this._children.every(function(a) { return 1 !== a._kind; }); } }; c.prototype.length = function() { return this._children.length; }; c.prototype.name = function() { return this._children[0].name(); }; c.prototype.normalize = function() { I("public.XMLList::normalize"); }; c.prototype.parent = function() { if (0 !== this.length()) { for (var a = this._children[0]._parent, b = 1;b < this.length();b++) { if (a !== this._children[b]._parent) { return; } } return a; } }; c.prototype.processingInstructions = function(a) { I("public.XMLList::processingInstructions"); }; c.prototype.text = function() { var a = new x(this); this._children.forEach(function(b, c) { if (1 === b._kind) { var h = b.text(); 0 < h.length() && a.appendChild(h); } }); return a; }; c.prototype.toXMLString = function() { return p(this); }; c.prototype.addNamespace = function(a) { I("public.XMLList::addNamespace"); }; c.prototype.appendChild = function(a) { if (a instanceof c) { return this._children.push.apply(this._children, a._children), a; } this._children.push(a); return a; }; c.prototype.childIndex = function() { I("public.XMLList::childIndex"); }; c.prototype.inScopeNamespaces = function() { I("public.XMLList::inScopeNamespaces"); }; c.prototype.insertChildAfter = function(a, b) { I("public.XMLList::insertChildAfter"); }; c.prototype.insertChildBefore = function(a, b) { I("public.XMLList::insertChildBefore"); }; c.prototype.nodeKind = function() { I("public.XMLList::nodeKind"); }; c.prototype._namespace = function(a, b) { I("public.XMLList::private _namespace"); }; c.prototype.localName = function() { I("public.XMLList::localName"); }; c.prototype.namespaceDeclarations = function() { I("public.XMLList::namespaceDeclarations"); }; c.prototype.prependChild = function(a) { I("public.XMLList::prependChild"); }; c.prototype.removeNamespace = function(a) { I("public.XMLList::removeNamespace"); }; c.prototype.replace = function(a, b) { I("public.XMLList::replace"); }; c.prototype.setChildren = function(a) { I("public.XMLList::setChildren"); }; c.prototype.setLocalName = function(a) { I("public.XMLList::setLocalName"); }; c.prototype.setName = function(a) { I("public.XMLList::setName"); }; c.prototype.setNamespace = function(a) { I("public.XMLList::setNamespace"); }; c.isTraitsOrDynamicPrototype = function(a) { return a === c.traitsPrototype || a === c.dynamicPrototype; }; c.prototype.asGetEnumerableKeys = function() { return c.isTraitsOrDynamicPrototype(this) ? J.call(this) : this._children.asGetEnumerableKeys(); }; c.prototype.getProperty = function(a, c, h) { if (h) { return a = G.isQName(a) ? a : this.resolveMultinameProperty(a.namespaces, a.name, a.flags), this[G.getQualifiedName(a)]; } if (b.isIndex(a)) { return this._children[a]; } var d = u(a), e = new x(this, d); this._children.forEach(function(a, b) { if (1 === a._kind) { var l = a.getProperty(d, c, h); 0 < l.length() && e.appendChild(l); } }); return e; }; c.prototype.asGetNumericProperty = function(a) { return this.asGetProperty(null, a, 0); }; c.prototype.asSetNumericProperty = function(a, b) { this.asSetProperty(null, a, 0, b); }; c.prototype.asGetProperty = function(a, b, h) { if (c.isTraitsOrDynamicPrototype(this)) { return C.call(this, a, b, h); } h &= G.ATTRIBUTE; return this.getProperty(r(a, b, h), h, !1); }; c.prototype.hasProperty = function(a, c) { return b.isIndex(a) ? Number(a) < this._children.length : !0; }; c.prototype.asHasProperty = function(a, b, h) { if (c.isTraitsOrDynamicPrototype(this)) { return C.call(this, a, b, h); } h &= G.ATTRIBUTE; return this.hasProperty(r(a, b, h), h); }; c.prototype.asHasPropertyInternal = function(a, b, c) { c &= G.ATTRIBUTE; return this.hasProperty(r(a, b, c), c); }; c.prototype.setProperty = function(a, c, h) { b.isIndex(a) ? this.appendChild(h) : (a = this.getProperty(a, c, !1), e(a).replace(0, e(h))); }; c.prototype.asSetProperty = function(a, b, h, d) { if (c.isTraitsOrDynamicPrototype(this)) { return E.call(this, a, b, h, d); } h &= G.ATTRIBUTE; b = r(a, b, h); return this.setProperty(b, h, d); }; c.prototype.asCallProperty = function(a, b, h, d, e) { if (c.isTraitsOrDynamicPrototype(this) || d) { return O.call(this, a, b, h, d, e); } var l; l = this.resolveMultinameProperty(a, b, h); if (this.asGetNumericProperty && G.isNumeric(l)) { l = this.asGetNumericProperty(l); } else { var n = this.asOpenMethods; l = n && n[l] || this[l]; } if (l) { return O.call(this, a, b, h, d, e); } if (1 === this.length()) { return this._children[0].asCallProperty(a, b, h, d, e); } throw new TypeError; }; c.instanceConstructor = c; c.callableConstructor = function(a) { "undefined" === typeof a && (a = void 0); if (null === a || void 0 === a) { a = ""; } return q(a); }; return c; }(g.ASNative); g.ASXMLList = U; })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { function f(a) { return c.getPublicQualifiedName(a); } function k(a) { var b = a.name; return(a = a.namespaces[0]) && a.uri ? a.uri + "::" + b : b; } function s(a) { if (!a) { return null; } var b = [], c; for (c in a) { b.push(m(a[c])); } return b; } function m(a) { var b = {}; b[u] = a.name; b[h] = a.value.map(function(a) { var b = {}; b[h] = a.value; b[x] = a.key; return b; }); return b; } function d(b, c, h, d) { function n(c) { a(c, "No traits array found on class" + b.classInfo.instanceInfo.name); for (var f = c.length;f--;) { var x = c[f]; if (x.name.getNamespace().isPublic() || x.name.uri) { var g = k(x.name); if (V[g] !== Q[g]) { var C = M[g]; C[q] = "readwrite"; 2 === x.kind && (C[w] = k(x.methodInfo.returnType)); } else { if (!M[g]) { switch(C = {}, M[g] = C, x.kind) { case 6: ; case 0: if (!(d & 8)) { continue; } C[u] = g; C[l] = void 0 === x.name.uri ? null : x.name.uri; C[w] = x.typeName ? k(x.typeName) : "*"; C[q] = "readwrite"; C[e] = d & 64 ? s(x.metadata) : null; B.push(C); break; case 1: if (!m) { continue; } C[r] = x.methodInfo.returnType ? k(x.methodInfo.returnType) : "*"; C[e] = d & 64 ? s(x.metadata) : null; C[u] = g; C[l] = void 0 === x.name.uri ? null : x.name.uri; for (var g = C[y] = [], x = x.methodInfo.parameters, K = 0;K < x.length;K++) { var F = x[K], A = {}; A[w] = F.type ? k(F.type) : "*"; A[G] = "value" in F; g.push(A); } C[p] = U; L.push(C); break; case 2: ; case 3: if (!(d & 16) || h) { continue; } C[u] = g; 2 === x.kind ? (C[w] = x.methodInfo.returnType ? k(x.methodInfo.returnType) : "*", V[g] = C) : (K = x.methodInfo.parameters[0].type, C[w] = K ? k(K) : "*", Q[g] = C); C[q] = 2 === x.kind ? "readonly" : "writeonly"; C[e] = d & 64 ? s(x.metadata) : null; C[l] = void 0 === x.name.uri ? null : x.name.uri; C[p] = U; z.push(C); break; default: a(!1, "Unknown trait type: " + x.kind); } } } } } } var x = d & 2, m = d & 32 && !h, A = {}, B = A[f("variables")] = d & 8 ? [] : null, z = A[f("accessors")] = d & 16 ? [] : null, P = null; d & 64 && (P = h ? [] : s(c.metadata) || []); A[e] = P; A[f("constructor")] = null; if (d & 4) { if (c = A[f("interfaces")] = [], d & 512 || !h) { for (var D in b.implementedInterfaces) { P = b.implementedInterfaces[D].getQualifiedClassName(), c.push(P); } } } else { A[f("interfaces")] = null; } var L = A[f("methods")] = m ? [] : null; D = A[f("bases")] = x ? [] : null; var M = {}, V = {}, Q = {}; for (c = !1;b;) { var U = k(b.classInfo.instanceInfo.name); x && c && !h ? D.push(U) : c = !0; if (d & 1024 && b === g.ASObject) { break; } d & 512 || !h ? n(b.classInfo.instanceInfo.traits) : n(b.classInfo.traits); b = b.baseClass; } h && (d & 16 && (c = {}, c[u] = "prototype", c[w] = "*", c[q] = "readonly", c[e] = null, c[l] = null, c[p] = "Class", z.push(c)), x && (D.pop(), D.push("Class", "Object"), b = g.ASClass)); return A; } var a = b.Debug.assert, c = b.AVM2.ABC.Multiname, n; (function(a) { a[a.HIDE_NSURI_METHODS = 1] = "HIDE_NSURI_METHODS"; a[a.INCLUDE_BASES = 2] = "INCLUDE_BASES"; a[a.INCLUDE_INTERFACES = 4] = "INCLUDE_INTERFACES"; a[a.INCLUDE_VARIABLES = 8] = "INCLUDE_VARIABLES"; a[a.INCLUDE_ACCESSORS = 16] = "INCLUDE_ACCESSORS"; a[a.INCLUDE_METHODS = 32] = "INCLUDE_METHODS"; a[a.INCLUDE_METADATA = 64] = "INCLUDE_METADATA"; a[a.INCLUDE_CONSTRUCTOR = 128] = "INCLUDE_CONSTRUCTOR"; a[a.INCLUDE_TRAITS = 256] = "INCLUDE_TRAITS"; a[a.USE_ITRAITS = 512] = "USE_ITRAITS"; a[a.HIDE_OBJECT = 1024] = "HIDE_OBJECT"; })(n || (n = {})); var p = f("declaredBy"), e = f("metadata"), q = f("access"), l = f("uri"), u = f("name"), w = f("type"), r = f("returnType"), h = f("value"), x = f("key"), y = f("parameters"), G = f("optional"); g.describeTypeJSON = function(b, c) { if (!b || "object" !== typeof b) { return null; } var h = b.classInfo ? b : Object.getPrototypeOf(b).class; a(h, "No class found for object " + b); var e = h === b, l = h.classInfo, n = {}; n[u] = k(l.instanceInfo.name); n[f("isDynamic")] = e || !(l.instanceInfo.flags & 1); n[f("isFinal")] = e || !!(l.instanceInfo.flags & 2); n[f("isStatic")] = e; c & 256 && (n[f("traits")] = d(h, l, e, c)); return n; }; })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.Debug.assert, k = b.ObjectUtilities.createEmptyObject; (function(b) { (function(b) { var d = Object.prototype.asGetProperty, a = Object.prototype.asSetProperty, c = Object.prototype.asHasProperty, n = Object.prototype.asDeleteProperty, p = Object.prototype.asGetEnumerableKeys, e = function(b) { function e(a) { } __extends(e, b); e.isTraitsOrDynamicPrototype = function(a) { return a === e.traitsPrototype || a === e.dynamicPrototype; }; e.makePrimitiveKey = function(a) { if ("string" === typeof a || "number" === typeof a) { return a; } f("object" === typeof a || "function" === typeof a, typeof a); }; e.prototype.init = function(a) { this.weakKeys = !!a; this.map = new WeakMap; a || (this.keys = []); this.primitiveMap = k(); }; e.prototype.asGetNumericProperty = function(a) { return this.asGetProperty(null, a, 0); }; e.prototype.asSetNumericProperty = function(a, b) { this.asSetProperty(null, a, 0, b); }; e.prototype.asGetProperty = function(a, b, c) { if (e.isTraitsOrDynamicPrototype(this)) { return d.call(this, a, b, c); } a = e.makePrimitiveKey(b); return void 0 !== a ? this.primitiveMap[a] : this.map.get(Object(b)); }; e.prototype.asSetProperty = function(b, c, d, h) { if (e.isTraitsOrDynamicPrototype(this)) { return a.call(this, b, c, d, h); } b = e.makePrimitiveKey(c); void 0 !== b ? this.primitiveMap[b] = h : (this.map.set(Object(c), h), !this.weakKeys && 0 > this.keys.indexOf(c) && this.keys.push(c)); }; e.prototype.asHasProperty = function(a, b, d) { if (e.isTraitsOrDynamicPrototype(this)) { return c.call(this, a, b, d); } a = e.makePrimitiveKey(b); return void 0 !== a ? a in this.primitiveMap : this.map.has(Object(b)); }; e.prototype.asDeleteProperty = function(a, b, c) { if (e.isTraitsOrDynamicPrototype(this)) { return n.call(this, a, b, c); } a = e.makePrimitiveKey(b); void 0 !== a && delete this.primitiveMap[a]; this.map.delete(Object(b)); var h; !this.weakKeys && 0 <= (h = this.keys.indexOf(b)) && this.keys.splice(h, 1); return!0; }; e.prototype.asGetEnumerableKeys = function() { if (e.isTraitsOrDynamicPrototype(this)) { return p.call(this); } var a = [], b; for (b in this.primitiveMap) { a.push(b); } return this.weakKeys ? a : a.concat(this.keys); }; e.protocol = e.prototype; return e; }(g.ASNative); b.Dictionary = e; b.OriginalDictionary = e; })(b.utils || (b.utils = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.Debug.notImplemented, k = b.AVM2.ABC.Namespace; (function(b) { (function(b) { var d = Object.prototype.asGetProperty, a = Object.prototype.asSetProperty, c = Object.prototype.asCallProperty, n = Object.prototype.asHasProperty, p = Object.prototype.asHasOwnProperty, e = Object.prototype.asHasTraitProperty, q = Object.prototype.asDeleteProperty, l = function(b) { function l() { b.apply(this, arguments); } __extends(l, b); l.prototype.asGetProperty = function(a, b, l) { return e.call(this, a, b, l) ? d.call(this, a, b, l) : c.call(this, [k.PROXY], "getProperty", 0, !1, [b]); }; l.prototype.asGetNumericProperty = function(a) { return this.asGetProperty(null, a, 0); }; l.prototype.asSetNumericProperty = function(a, b) { this.asSetProperty(null, a, 0, b); }; l.prototype.asSetProperty = function(b, h, d, l) { e.call(this, b, h, d) ? a.call(this, b, h, d, l) : c.call(this, [k.PROXY], "setProperty", 0, !1, [h, l]); }; l.prototype.asCallProperty = function(a, b, d, l, n) { return e.call(this, a, b, d) ? c.call(this, a, b, d, !1, n) : c.call(this, [k.PROXY], "callProperty", 0, !1, [b].concat(n)); }; l.prototype.asHasProperty = function(a, b, d) { return e.call(this, a, b, d) ? n.call(this, a, b, d) : c.call(this, [k.PROXY], "hasProperty", 0, !1, [b]); }; l.prototype.asHasOwnProperty = function(a, b, d) { return e.call(this, a, b, d) ? p.call(this, a, b, d) : c.call(this, [k.PROXY], "hasProperty", 0, !1, [b]); }; l.prototype.asDeleteProperty = function(a, b, d) { return e.call(this, a, b, d) ? q.call(this, a, b, d) : c.call(this, [k.PROXY], "deleteProperty", 0, !1, [b]); }; l.prototype.asNextName = function(a) { f("Proxy asNextName"); }; l.prototype.asNextValue = function(a) { f("Proxy asNextValue"); }; l.prototype.asNextNameIndex = function(a) { f("Proxy asNextNameIndex"); }; l.protocol = l.prototype; return l; }(g.ASNative); b.Proxy = l; b.OriginalProxy = l; })(b.utils || (b.utils = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.Debug.unexpected, t = b.ArrayUtilities.DataBuffer, s = b.Debug.assert; (function(b) { (function(b) { var a = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b.AMF0 = 0; b.AMF3 = 3; b.DEFAULT = b.AMF3; return b; }(g.ASNative); b.ObjectEncoding = a; })(b.net || (b.net = {})); })(g.flash || (g.flash = {})); (function(m) { (function(d) { var a = function(a) { function d() { } __extends(d, a); Object.defineProperty(d, "defaultObjectEncoding", {get:function() { return this._defaultObjectEncoding; }, set:function(a) { this._defaultObjectEncoding = a >>> 0; }, enumerable:!0, configurable:!0}); d.prototype.readObject = function() { switch(this._objectEncoding) { case m.net.ObjectEncoding.AMF0: return k.AMF0.read(this); case m.net.ObjectEncoding.AMF3: return k.AMF3.read(this); default: f("Object Encoding"); } }; d.prototype.writeObject = function(a) { switch(this._objectEncoding) { case m.net.ObjectEncoding.AMF0: return k.AMF0.write(this, a); case m.net.ObjectEncoding.AMF3: return k.AMF3.write(this, a); default: f("Object Encoding"); } }; d.instanceConstructor = t; d.staticNatives = [t]; d.instanceNatives = [t.prototype]; d.callableConstructor = null; d.initializer = function(a) { var c = b.Timeline.BinarySymbol; s(c); var f, l = 0; a ? (a instanceof ArrayBuffer ? f = a.slice() : Array.isArray(a) ? f = (new Uint8Array(f)).buffer : a instanceof c ? f = (new Uint8Array(a.buffer)).buffer.slice() : "buffer" in a ? (s(a.buffer instanceof ArrayBuffer), f = a.buffer.slice()) : b.Debug.unexpected("Source type."), l = f.byteLength) : f = new ArrayBuffer(d.INITIAL_SIZE); this._buffer = f; this._length = l; this._position = 0; this._updateViews(); this._objectEncoding = d.defaultObjectEncoding; this._littleEndian = !1; this._bitLength = this._bitBuffer = 0; }; d.protocol = d.prototype; d.INITIAL_SIZE = 128; d._defaultObjectEncoding = m.net.ObjectEncoding.DEFAULT; return d; }(g.ASNative); d.ByteArray = a; a.prototype.asGetNumericProperty = t.prototype.getValue; a.prototype.asSetNumericProperty = t.prototype.setValue; d.OriginalByteArray = a; })(m.utils || (m.utils = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.Debug.notImplemented, k = b.AVM2.Runtime.asCoerceString; (function(s) { (function(m) { var d = function(a) { function b() { } __extends(b, a); Object.defineProperty(b.prototype, "enabled", {get:function() { f("public flash.system.IME::get enabled"); }, set:function(a) { f("public flash.system.IME::set enabled"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "conversionMode", {get:function() { f("public flash.system.IME::get conversionMode"); }, set:function(a) { k(a); f("public flash.system.IME::set conversionMode"); }, enumerable:!0, configurable:!0}); b.setCompositionString = function(a) { k(a); f("public flash.system.IME::static setCompositionString"); }; b.doConversion = function() { f("public flash.system.IME::static doConversion"); }; b.compositionSelectionChanged = function(a, b) { f("public flash.system.IME::static compositionSelectionChanged"); }; b.compositionAbandoned = function() { f("public flash.system.IME::static compositionAbandoned"); }; b._checkSupported = function() { f("public flash.system.IME::static _checkSupported"); }; return b; }(g.ASNative); m.IME = d; d = function(a) { function c() { a.apply(this, arguments); } __extends(c, a); Object.defineProperty(c, "ime", {get:function() { f("public flash.system.System::get ime"); }, enumerable:!0, configurable:!0}); c.setClipboard = function(a) { a = k(a); null === b.ClipboardService.instance ? f("public flash.system.System::setClipboard") : b.ClipboardService.instance.setClipboard(a); }; Object.defineProperty(c, "totalMemoryNumber", {get:function() { return 2097152; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "freeMemory", {get:function() { return 1048576; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "privateMemory", {get:function() { f("public flash.system.System::get privateMemory"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "processCPUUsage", {get:function() { f("public flash.system.System::get processCPUUsage"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "useCodePage", {get:function() { f("public flash.system.System::get useCodePage"); }, set:function(a) { f("public flash.system.System::set useCodePage"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "vmVersion", {get:function() { return "1.0 Shumway - Mozilla Research"; }, enumerable:!0, configurable:!0}); c.pause = function() { f("public flash.system.System::static pause"); }; c.resume = function() { f("public flash.system.System::static resume"); }; c.exit = function(a) { f("public flash.system.System::static exit"); }; c.gc = function() { f("public flash.system.System::static gc"); }; c.pauseForGCIfCollectionImminent = function(a) { f("public flash.system.System::static pauseForGCIfCollectionImminent"); }; c.disposeXML = function(a) { f("public flash.system.System::static disposeXML"); }; Object.defineProperty(c, "swfVersion", {get:function() { return 19; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "apiVersion", {get:function() { return 26; }, enumerable:!0, configurable:!0}); c.getArgv = function() { return[]; }; c.getRunmode = function() { return "mixed"; }; return c; }(g.ASNative); m.System = d; m.OriginalSystem = d; })(s.system || (s.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.AVM2.ABC.Multiname, t = b.AVM2.ABC.ClassInfo, s = b.AVM2.ABC.ScriptInfo, m = b.AVM2.ABC.InstanceInfo, d = b.AVM2.ABC.Info, a = b.AVM2.ABC.MethodInfo, c = b.Debug.assert, n = b.Debug.notImplemented, p = b.ArrayUtilities.popManyIntoVoid, e = function() { return function(a) { "undefined" === typeof a && (a = ""); this.message = a; this.name = "VerifierError"; }; }(); g.VerifierError = e; var q = function() { return function() { }; }(); g.TypeInformation = q; var l = function() { function a() { } a.from = function(b, h) { c(b.hash); var d = a._cache[b.hash]; d || (d = a._cache[b.hash] = new w(b, h)); return d; }; a.fromSimpleName = function(b, c) { return a.fromName(f.fromSimpleName(b), c); }; a.fromName = function(b, h) { if (void 0 === b) { return a.Undefined; } var d = f.isQName(b) ? f.getFullQualifiedName(b) : void 0; if (d) { var e = a._cache.byQN[d]; if (e) { return e; } } if (d === f.getPublicQualifiedName("void")) { return a.Void; } c(h, "An ApplicationDomain is needed."); e = (e = h.findClassInfo(b)) ? a.from(e, h) : a.Any; b.hasTypeParameter() && (e = new x(e, a.fromName(b.typeParameter, h))); return a._cache.byQN[d] = e; }; a.initializeTypes = function(b) { a._typesInitialized || (a.Any = new u("any", "?"), a.Null = new u("Null", "X"), a.Void = new u("Void", "V"), a.Undefined = new u("Undefined", "_"), a.Int = a.fromSimpleName("int", b).instanceType(), a.Uint = a.fromSimpleName("uint", b).instanceType(), a.Class = a.fromSimpleName("Class", b).instanceType(), a.Array = a.fromSimpleName("Array", b).instanceType(), a.Object = a.fromSimpleName("Object", b).instanceType(), a.String = a.fromSimpleName("String", b).instanceType(), a.Number = a.fromSimpleName("Number", b).instanceType(), a.Boolean = a.fromSimpleName("Boolean", b).instanceType(), a.Function = a.fromSimpleName("Function", b).instanceType(), a.XML = a.fromSimpleName("XML", b).instanceType(), a.XMLList = a.fromSimpleName("XMLList", b).instanceType(), a.Dictionary = a.fromSimpleName("flash.utils.Dictionary", b).instanceType(), a._typesInitialized = !0); }; a.prototype.equals = function(a) { return this === a; }; a.prototype.merge = function(b) { return a.Any; }; a.prototype.instanceType = function() { return a.Any; }; a.prototype.classType = function() { return a.Any; }; a.prototype.super = function() { b.Debug.abstractMethod("super"); return null; }; a.prototype.applyType = function(a) { return null; }; a.prototype.getTrait = function(a, b, c) { return null; }; a.prototype.isNumeric = function() { return this === a.Int || this === a.Uint || this === a.Number; }; a.prototype.isString = function() { return this === a.String; }; a.prototype.isScriptInfo = function() { return!1; }; a.prototype.isClassInfo = function() { return!1; }; a.prototype.isInstanceInfo = function() { return!1; }; a.prototype.isMethodInfo = function() { return!1; }; a.prototype.isTraitsType = function() { return this instanceof w; }; a.prototype.isParameterizedType = function() { return this instanceof x; }; a.prototype.isMethodType = function() { return this instanceof r; }; a.prototype.isMultinameType = function() { return this instanceof h; }; a.prototype.isConstantType = function() { return this instanceof y; }; a.prototype.isSubtypeOf = function(a) { return this === a || this.equals(a) ? !0 : this.merge(a) === this; }; a.prototype.asTraitsType = function() { c(this.isTraitsType()); return this; }; a.prototype.asMethodType = function() { c(this.isMethodType()); return this; }; a.prototype.asMultinameType = function() { c(this.isMultinameType()); return this; }; a.prototype.asConstantType = function() { c(this.isConstantType()); return this; }; a.prototype.getConstantValue = function() { c(this.isConstantType()); return this.value; }; a.prototype.asParameterizedType = function() { c(this.isParameterizedType()); return this; }; a._cache = {byQN:b.ObjectUtilities.createEmptyObject(), byHash:b.ObjectUtilities.createEmptyObject()}; a._typesInitialized = !1; return a; }(); g.Type = l; var u = function(a) { function b(c, h) { a.call(this); this.name = c; this.symbol = h; } __extends(b, a); b.prototype.toString = function() { return this.symbol; }; b.prototype.instanceType = function() { return l.Any; }; return b; }(l); g.AtomType = u; var w = function(h) { function d(a, b) { h.call(this); this.info = a; this.domain = b; } __extends(d, h); d.prototype.instanceType = function() { c(this.info instanceof t); var a = this.info; return this._cachedType || (this._cachedType = l.from(a.instanceInfo, this.domain)); }; d.prototype.classType = function() { c(this.info instanceof m); var a = this.info; return this._cachedType || (this._cachedType = l.from(a.classInfo, this.domain)); }; d.prototype.super = function() { if (this.info instanceof t) { return l.Class; } c(this.info instanceof m); var a = this.info; return a.superName ? (a = l.fromName(a.superName, this.domain).instanceType(), c(a instanceof d && a.info instanceof m), a) : null; }; d.prototype.findTraitByName = function(a, b, h) { var d = !h, e; if (f.isQName(b)) { for (b = f.getQualifiedName(b), n = 0;n < a.length;n++) { if (e = a[n], f.getQualifiedName(e.name) === b && !(h && e.isGetter() || d && e.isSetter())) { return e; } } } else { c(b instanceof f); for (var l, n = 0;n < b.namespaces.length;n++) { if (d = b.getQName(n), b.namespaces[n].isDynamic()) { l = d; } else { if (e = this.findTraitByName(a, d, h)) { return e; } } } if (l) { return this.findTraitByName(a, l, h); } } }; d.prototype.getTrait = function(a, b, c) { if (a.isMultinameType()) { return null; } var h = a.getConstantValue(); if (h.isAttribute()) { return null; } if (c && (this.isInstanceInfo() || this.isClassInfo())) { c = this; do { (h = c.getTrait(a, b, !1)) || (c = c.super()); } while (!h && c); return h; } return this.findTraitByName(this.info.traits, h, b); }; d.prototype.getTraitAt = function(a) { for (var c = this.info.traits, h = c.length - 1;0 <= h;h--) { if (c[h].slotId === a) { return c[h]; } } b.Debug.unexpected("Cannot find trait with slotId: " + a + " in " + c); }; d.prototype.equals = function(a) { return a.isTraitsType() ? this.info.traits === a.info.traits : !1; }; d.prototype.merge = function(a) { if (a.isTraitsType()) { if (this.equals(a)) { return this; } if (this.isNumeric() && a.isNumeric()) { return l.Number; } if (this.isInstanceInfo() && a.isInstanceInfo()) { for (var b = [], c = this;c;c = c.super()) { b.push(c); } for (c = a;c;c = c.super()) { for (a = 0;a < b.length;a++) { if (b[a].equals(c)) { return c; } } } return l.Object; } } return l.Any; }; d.prototype.isScriptInfo = function() { return this.info instanceof s; }; d.prototype.isClassInfo = function() { return this.info instanceof t; }; d.prototype.isMethodInfo = function() { return this.info instanceof a; }; d.prototype.isInstanceInfo = function() { return this.info instanceof m; }; d.prototype.isInstanceOrClassInfo = function() { return this.isInstanceInfo() || this.isClassInfo(); }; d.prototype.applyType = function(a) { return new x(this, a); }; d.prototype._getInfoName = function() { if (this.info instanceof s) { return "SI"; } if (this.info instanceof t) { return "CI:" + this.info.instanceInfo.name.name; } if (this.info instanceof m) { return "II:" + this.info.name.name; } if (this.info instanceof a) { return "MI"; } c(!1); }; d.prototype.toString = function() { switch(this) { case l.Int: return "I"; case l.Uint: return "U"; case l.Array: return "A"; case l.Object: return "O"; case l.String: return "S"; case l.Number: return "N"; case l.Boolean: return "B"; case l.Function: return "F"; } return this._getInfoName(); }; return d; }(l); g.TraitsType = w; var r = function(a) { function b(c, h) { a.call(this, l.Function.info, h); this.methodInfo = c; } __extends(b, a); b.prototype.toString = function() { return "MT " + this.methodInfo; }; b.prototype.returnType = function() { return this._cachedType || (this._cachedType = l.fromName(this.methodInfo.returnType, this.domain)); }; return b; }(w); g.MethodType = r; var h = function(a) { function b(c, h, d) { a.call(this); this.namespaces = c; this.name = h; this.flags = d; } __extends(b, a); b.prototype.toString = function() { return "MN"; }; return b; }(l); g.MultinameType = h; var x = function(a) { function b(c, h) { a.call(this, c.info, c.domain); this.type = c; this.parameter = h; } __extends(b, a); return b; }(w); g.ParameterizedType = x; var y = function(a) { function b(c) { a.call(this); this.value = c; } __extends(b, a); b.prototype.toString = function() { return String(this.value); }; b.from = function(a) { return new b(a); }; b.fromArray = function(a) { return a.map(function(a) { return new b(a); }); }; return b; }(l); g.ConstantType = y; var G = function() { function a() { this.id = a.id += 1; this.stack = []; this.scope = []; this.local = []; } a.prototype.clone = function() { var b = new a; b.originalId = this.id; b.stack = this.stack.slice(0); b.scope = this.scope.slice(0); b.local = this.local.slice(0); return b; }; a.prototype.trace = function(a) { a.writeLn(this.toString()); }; a.prototype.toString = function() { return "<" + this.id + (this.originalId ? ":" + this.originalId : "") + ", L[" + this.local.join(", ") + "], S[" + this.stack.join(", ") + "], $[" + this.scope.join(", ") + "]>"; }; a.prototype.equals = function(b) { return a._arrayEquals(this.stack, b.stack) && a._arrayEquals(this.scope, b.scope) && a._arrayEquals(this.local, b.local); }; a._arrayEquals = function(a, b) { if (a.length != b.length) { return!1; } for (var c = a.length - 1;0 <= c;c--) { if (!a[c].equals(b[c])) { return!1; } } return!0; }; a.prototype.isSubset = function(b) { return a._arraySubset(this.stack, b.stack) && a._arraySubset(this.scope, b.scope) && a._arraySubset(this.local, b.local); }; a._arraySubset = function(a, b) { if (a.length != b.length) { return!1; } for (var c = a.length - 1;0 <= c;c--) { if (a[c] !== b[c] && !a[c].equals(b[c]) && a[c].merge(b[c]) !== a[c]) { return!1; } } return!0; }; a.prototype.merge = function(b) { a._mergeArrays(this.local, b.local); a._mergeArrays(this.stack, b.stack); a._mergeArrays(this.scope, b.scope); }; a._mergeArrays = function(a, b) { c(a.length === b.length, "a: " + a + " b: " + b); for (var h = a.length - 1;0 <= h;h--) { c(void 0 !== a[h] && void 0 !== b[h]), a[h] !== b[h] && (a[h] = a[h].merge(b[h])); } }; a.id = 0; return a; }(); g.State = G; var I = function() { function a(c, h, d) { this.methodInfo = c; this.domain = h; this.savedScope = d; this.writer = new b.IndentingWriter; this.pushAnyCount = this.pushCount = 0; l.initializeTypes(h); this.writer = b.AVM2.Verifier.traceLevel.value ? new b.IndentingWriter : null; this.multinames = c.abc.constantPool.multinames; this.returnType = l.Undefined; } a.prototype.verify = function() { var a = this.methodInfo; this.writer && this.methodInfo.trace(this.writer); c(a.localCount >= a.parameters.length + 1); this._verifyBlocks(this._prepareEntryState()); }; a.prototype._prepareEntryState = function() { var a = new G, b = this.methodInfo; this.thisType = b.holder ? l.from(b.holder, this.domain) : l.Any; a.local.push(this.thisType); for (var h = b.parameters, d = 0;d < h.length;d++) { a.local.push(l.fromName(h[d].type, this.domain).instanceType()); } h = b.localCount - b.parameters.length - 1; if (b.needsRest() || b.needsArguments()) { a.local.push(l.Array), h -= 1; } for (d = 0;d < h;d++) { a.local.push(l.Undefined); } c(a.local.length === b.localCount); return a; }; a.prototype._verifyBlocks = function(a) { var c = this.writer, h = this.methodInfo.analysis.blocks; h.forEach(function(a) { a.verifierEntryState = a.verifierExitState = null; }); for (var d = 0;d < h.length;d++) { h[d].bdo = d; } var e = new b.SortedList(function(a, b) { return a.bdo - b.bdo; }); h[0].verifierEntryState = a; for (e.push(h[0]);!e.isEmpty();) { var l = e.pop(), n = l.verifierExitState = l.verifierEntryState.clone(); this._verifyBlock(l, n); l.succs.forEach(function(a) { e.contains(a) ? (c && c.writeLn("Forward Merged Block: " + a.bid + " " + n.toString() + " with " + a.verifierEntryState.toString()), a.verifierEntryState.merge(n), c && c.writeLn("Merged State: " + a.verifierEntryState)) : a.verifierEntryState ? a.verifierEntryState.isSubset(n) || (c && c.writeLn("Backward Merged Block: " + l.bid + " with " + a.bid + " " + n.toString() + " with " + a.verifierEntryState.toString()), a.verifierEntryState.merge(n), e.push(a), c && c.writeLn("Merged State: " + a.verifierEntryState)) : (a.verifierEntryState = n.clone(), e.push(a), c && c.writeLn("Added Block: " + a.bid + " to worklist: " + a.verifierEntryState.toString())); }); } c && (c.writeLn("Inferred return type: " + this.returnType), c.writeLn("Quality pushCount: " + this.pushCount + ", pushAnyCount: " + this.pushAnyCount)); this.methodInfo.inferredReturnType = this.returnType; }; a.prototype._verifyBlock = function(a, d) { function x() { return X.ti || (X.ti = new q); } function g(a) { c(a); x().type = a; Z.push(a); U.pushCount++; a === l.Any && U.pushAnyCount++; } function m(a) { return Z.pop(); } function u() { n(String(X)); } function s() { var a = U.multinames[X.index]; if (a.isRuntime()) { var b; b = a.isRuntimeName() ? m() : y.from(a.name); var c; c = a.isRuntimeNamespace() ? [m()] : y.fromArray(a.namespaces); return new h(c, b, a.flags); } return y.from(a); } function G(a) { return a.isMultinameType() && a.asMultinameType().name.isNumeric() || a.isConstantType() && f.isNumeric(a.getConstantValue()) ? !0 : !1; } function t(a, b) { if (a.isTraitsType() || a.isParameterizedType()) { var c = a.getTrait(b, !1, !0); if (c) { S && S.debugLn("getProperty(" + b + ") -> " + c); x().trait = c; if (c.isSlot() || c.isConst()) { return l.fromName(c.typeName, U.domain).instanceType(); } if (c.isGetter()) { return l.fromName(c.methodInfo.returnType, U.domain).instanceType(); } if (c.isClass()) { return l.from(c.classInfo, U.domain); } if (c.isMethod()) { return new r(c.methodInfo, U.domain); } } else { if (G(b) && a.isParameterizedType()) { return c = a.asParameterizedType().parameter, S && S.debugLn("getProperty(" + b + ") -> " + c), c; } a !== l.Array && S && S.warnLn("getProperty(" + b + ")"); } } return l.Any; } function I(a, b, c) { if (a.isTraitsType() || a.isParameterizedType()) { (c = a.getTrait(b, !0, !0)) ? (S && S.debugLn("setProperty(" + b + ") -> " + c), x().trait = c) : G(b) && a.isParameterizedType() || a !== l.Array && S && S.warnLn("setProperty(" + b + ")"); } } function C(a, b) { if (a.isMultinameType()) { return l.Any; } for (var c = U.savedScope, h = v.length - 1;h >= -c.length;h--) { var d = 0 <= h ? v[h] : c[c.length + h]; if (d.isTraitsType()) { if (d.getTrait(a, !1, !0)) { x().scopeDepth = v.length - h - 1; if (d.isClassInfo() || d.isScriptInfo()) { x().object = k.Runtime.LazyInitializer.create(d.info); } S && S.debugLn("findProperty(" + a + ") -> " + d); return d; } } else { return S && S.warnLn("findProperty(" + a + ")"), l.Any; } } if (c = U.domain.findDefiningScript(a.getConstantValue(), !1)) { return x().object = k.Runtime.LazyInitializer.create(c.script), d = l.from(c.script, U.domain), S && S.debugLn("findProperty(" + a + ") -> " + d), d; } if (a.isConstantType() && "unsafeJSNative" === a.getConstantValue().name) { return l.Any; } S && S.warnLn("findProperty(" + a + ")"); return l.Any; } function E(a) { if (a instanceof w && (a = a.getTraitAt(X.index), S && S.debugLn("accessSlot() -> " + a), a)) { x().trait = a; if (a.isSlot()) { return l.fromName(a.typeName, U.domain).instanceType(); } if (a.isClass()) { return l.from(a.classInfo, U.domain); } } return l.Any; } function Q(a) { if (a.isTraitsType() || a.isParameterizedType()) { return a === l.Function || a === l.Class || a === l.Object ? l.Object : a.instanceType(); } S && S.warnLn("construct(" + a + ")"); return l.Any; } for (var U = this, S = this.writer, aa = this.methodInfo, $ = aa.analysis.bytecodes, ea = d.local, Z = d.stack, v = d.scope, X, ba = this.savedScope[0], R, H, Y, ga = a.position, ca = a.end.position;ga <= ca;ga++) { if (X = $[ga], R = X.op, 240 !== R && 241 !== R) { switch(S && 1 < b.AVM2.Verifier.traceLevel.value && S.writeLn(("stateBefore: " + d.toString() + " $$[" + this.savedScope.join(", ") + "]").padRight(" ", 100) + " : " + ga + ", " + X.toString(aa.abc)), R) { case 1: break; case 3: m(); break; case 4: Y = s(); H = m(); c(H.super()); x().baseClass = k.Runtime.LazyInitializer.create(this.thisType.asTraitsType().super().classType().info); g(t(H.super(), Y)); break; case 5: R = m(); Y = s(); H = m(); c(H.super()); x().baseClass = k.Runtime.LazyInitializer.create(this.thisType.asTraitsType().super().classType().info); I(H.super(), Y, R); break; case 6: u(); break; case 7: u(); break; case 8: d.local[X.index] = l.Undefined; break; case 10: u(); break; case 11: u(); break; case 12: ; case 24: ; case 13: ; case 23: ; case 14: ; case 22: ; case 15: ; case 21: ; case 19: ; case 20: ; case 25: ; case 26: m(); m(); break; case 16: break; case 17: ; case 18: m(); break; case 27: m(l.Int); break; case 29: v.pop(); break; case 30: ; case 35: m(l.Int); m(); g(l.Any); break; case 31: g(l.Boolean); break; case 50: g(l.Boolean); break; case 32: g(l.Null); break; case 33: g(l.Undefined); break; case 34: u(); break; case 36: g(l.Int); break; case 37: g(l.Int); break; case 44: g(l.String); break; case 45: g(l.Int); break; case 46: g(l.Uint); break; case 47: g(l.Number); break; case 38: g(l.Boolean); break; case 39: g(l.Boolean); break; case 40: g(l.Number); break; case 41: m(); break; case 42: R = m(); g(R); g(R); break; case 43: H = m(); Y = m(); g(H); g(Y); break; case 28: m(); v.push(l.Any); break; case 48: v.push(m()); break; case 49: u(); break; case 53: ; case 54: ; case 55: g(l.Int); break; case 56: ; case 57: g(l.Number); break; case 58: ; case 59: ; case 60: m(l.Int); break; case 61: ; case 62: m(l.Number); break; case 64: g(l.Function); break; case 65: p(Z, X.argCount); H = m(); m(); g(l.Any); break; case 67: throw new e("callmethod");; case 68: u(); break; case 69: ; case 78: ; case 79: ; case 70: ; case 76: p(Z, X.argCount); Y = s(); H = m(); if (69 === R || 78 === R) { H = this.thisType.super(), x().baseClass = k.Runtime.LazyInitializer.create(this.thisType.asTraitsType().super().classType().info); } H = t(H, Y); if (79 === R || 78 === R) { break; } H = H.isMethodType() ? H.asMethodType().returnType().instanceType() : H.isTraitsType() && H.isClassInfo() ? H.instanceType() : l.Any; g(H); break; case 71: this.returnType.merge(l.Undefined); break; case 72: H = m(); aa.returnType && (Y = l.fromName(aa.returnType, this.domain).instanceType(), Y.isSubtypeOf(H) && (x().noCoercionNeeded = !0)); break; case 73: p(Z, X.argCount); Z.pop(); this.thisType.isInstanceInfo() && this.thisType.super() === l.Object ? x().noCallSuperNeeded = !0 : x().baseClass = k.Runtime.LazyInitializer.create(this.thisType.asTraitsType().super().classType().info); break; case 66: p(Z, X.argCount); g(Q(m())); break; case 74: p(Z, X.argCount); Y = s(); g(Q(t(Z.pop(), Y))); break; case 75: u(); break; case 77: u(); break; case 80: ; case 81: ; case 82: break; case 83: c(1 === X.argCount); R = m(); H = m(); H === l.Any ? g(l.Any) : g(H.applyType(R)); break; case 84: u(); break; case 85: p(Z, 2 * X.argCount); g(l.Object); break; case 86: p(Z, X.argCount); g(l.Array); break; case 87: g(l.from(this.methodInfo, this.domain)); break; case 88: g(l.Any); break; case 89: s(); m(); g(l.XMLList); break; case 90: g(l.Any); break; case 93: g(C(s(), !0)); break; case 94: g(C(s(), !1)); break; case 95: u(); break; case 96: Y = s(); g(t(C(Y, !0), Y)); break; case 104: ; case 97: R = m(); Y = s(); H = m(); I(H, Y, R); break; case 98: g(ea[X.index]); break; case 99: ea[X.index] = m(); break; case 100: g(ba); x().object = k.Runtime.LazyInitializer.create(ba.asTraitsType().info); break; case 101: g(v[X.index]); break; case 102: Y = s(); H = m(); g(t(H, Y)); break; case 103: u(); break; case 105: u(); break; case 106: s(); m(); g(l.Boolean); break; case 107: u(); break; case 108: g(E(m())); break; case 109: R = m(); H = m(); E(H); break; case 110: u(); break; case 111: u(); break; case 112: m(); g(l.String); break; case 113: m(); g(l.String); break; case 114: m(); g(l.String); break; case 131: ; case 115: m(); g(l.Int); break; case 136: ; case 116: m(); g(l.Uint); break; case 132: ; case 117: m(); g(l.Number); break; case 129: ; case 118: m(); g(l.Boolean); break; case 119: u(); break; case 120: break; case 121: m(); g(l.Number); break; case 122: u(); break; case 123: u(); break; case 128: H = m(); Y = l.fromName(this.multinames[X.index], this.domain).instanceType(); Y.isSubtypeOf(H) && (x().noCoercionNeeded = !0); g(Y); break; case 130: break; case 133: m(); g(l.String); break; case 134: H = m(); Y = l.fromName(this.multinames[X.index], this.domain).instanceType(); Y.isSubtypeOf(H) && (x().noCoercionNeeded = !0); g(Y); break; case 135: H = m(); m(); H.isTraitsType() ? g(H.instanceType()) : g(l.Any); break; case 137: u(); break; case 144: ; case 145: ; case 147: m(); g(l.Number); break; case 146: ; case 148: ea[X.index] = l.Number; break; case 149: m(); g(l.String); break; case 150: m(); g(l.Boolean); break; case 160: Y = m(); H = m(); H.isNumeric() && Y.isNumeric() ? g(l.Number) : H === l.String || Y === l.String ? g(l.String) : g(l.Any); break; case 161: ; case 162: ; case 163: ; case 164: m(); m(); g(l.Number); break; case 168: ; case 169: ; case 170: ; case 165: ; case 166: ; case 167: m(); m(); g(l.Int); break; case 151: m(); g(l.Int); break; case 171: ; case 172: ; case 173: ; case 174: ; case 175: ; case 176: ; case 177: ; case 180: m(); m(); g(l.Boolean); break; case 178: m(); g(l.Boolean); break; case 179: m(); m(); g(l.Boolean); break; case 194: ; case 195: ea[X.index] = l.Int; break; case 193: ; case 192: ; case 196: m(); g(l.Int); break; case 197: ; case 198: ; case 199: m(); m(); g(l.Int); break; case 208: ; case 209: ; case 210: ; case 211: g(ea[R - 208]); break; case 212: ; case 213: ; case 214: ; case 215: ea[R - 212] = m(); break; case 239: break; case 242: break; case 243: break; default: console.info("Not Implemented: " + X); } } } }; return a; }(), C = function() { function a() { } a.prototype._prepareScopeObjects = function(a, h) { var e = a.abc.applicationDomain; return h.getScopeObjects().map(function(a) { if (a instanceof d) { return l.from(a, e); } if (a instanceof b.AVM2.Runtime.Global) { return l.from(a.scriptInfo, e); } if (a instanceof b.AVM2.AS.ASClass) { return l.from(a.classInfo, e); } if (a instanceof b.AVM2.Runtime.ActivationInfo) { return l.from(a.methodInfo, e); } if (a.class) { return l.from(a.class.classInfo.instanceInfo, e); } c(!1, a.toString()); return l.Any; }); }; a.prototype.verifyMethod = function(a, b) { var c = this._prepareScopeObjects(a, b); (new I(a, a.abc.applicationDomain, c)).verify(); }; return a; }(); g.Verifier = C; })(k.Verifier || (k.Verifier = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { function g(a, b) { for (var c = 0;c < a.length;c++) { b(a[c]); } } function k(c) { var e, f = b.StringUtilities; if (c instanceof h) { return c.value instanceof d ? c.value.name : c.value; } if (c instanceof w) { return c.name; } if (c instanceof u) { return e = f.concat3("|", c.id, "|"), e; } if (c instanceof p) { return e = f.concat3("{", c.id, "}"), e; } if (c instanceof r) { return 3 === c.type ? (e = f.concat5("[", c.id, "->", c.argument.id, "]"), e) : (e = f.concat3("(", c.id, ")"), e); } if (c instanceof l) { return e = f.concat3("(", c.id, ")"), e; } if (c instanceof n) { return c.id; } a(c + " " + typeof c); } var m = b.Debug.assert, d = b.AVM2.ABC.Multiname, a = b.Debug.unexpected, c = b.ObjectUtilities.createEmptyObject; (function(a) { a[a.NumericProperty = 1] = "NumericProperty"; a[a.RESOLVED = 2] = "RESOLVED"; a[a.PRISTINE = 4] = "PRISTINE"; a[a.IS_METHOD = 8] = "IS_METHOD"; a[a.AS_CALL = 16] = "AS_CALL"; })(f.Flags || (f.Flags = {})); var n = function() { function a() { this.id = a.getNextID(); } a.getNextID = function() { return a._nextID[a._nextID.length - 1] += 1; }; a.prototype.visitInputs = function(a) { }; a.startNumbering = function() { a._nextID.push(0); }; a.stopNumbering = function() { a._nextID.pop(); }; a.prototype.toString = function(a) { if (a) { return k(this); } var b = []; this.visitInputs(function(a) { b.push(k(a)); }); a = k(this) + " = " + this.nodeName.toUpperCase(); b.length && (a += " " + b.join(", ")); return a; }; a.prototype.visitInputsNoConstants = function(a) { this.visitInputs(function(b) { f.isConstant(b) || a(b); }); }; a.prototype.replaceInput = function(b, c) { var h = 0, d; for (d in this) { var e = this[d]; e instanceof a && e === b && (this[d] = c, h++); e instanceof Array && (h += e.replace(b, c)); } return h; }; a._nextID = []; return a; }(); f.Node = n; n.prototype.nodeName = "Node"; var p = function(a) { function b() { a.call(this); } __extends(b, a); return b; }(n); f.Control = p; p.prototype.nodeName = "Control"; var e = function(a) { function b(c) { a.call(this); this.predecessors = c ? [c] : []; } __extends(b, a); b.prototype.visitInputs = function(a) { g(this.predecessors, a); }; return b; }(p); f.Region = e; e.prototype.nodeName = "Region"; e = function(a) { function b() { a.call(this, null); this.control = this; } __extends(b, a); b.prototype.visitInputs = function(a) { g(this.predecessors, a); a(this.scope); }; return b; }(e); f.Start = e; e.prototype.nodeName = "Start"; e = function(a) { function b(c) { a.call(this); this.control = c; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); }; return b; }(p); f.End = e; e.prototype.nodeName = "End"; var q = function(a) { function b(c, h, d) { a.call(this, c); this.store = h; this.argument = d; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); a(this.store); a(this.argument); }; return b; }(e); f.Stop = q; q.prototype.nodeName = "Stop"; q = function(a) { function b(c, h) { a.call(this, c); this.predicate = h; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); a(this.predicate); }; return b; }(e); f.If = q; q.prototype.nodeName = "If"; q = function(a) { function b(c, h) { a.call(this, c); this.determinant = h; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); a(this.determinant); }; return b; }(e); f.Switch = q; q.prototype.nodeName = "Switch"; e = function(a) { function b(c) { a.call(this, c); } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); }; return b; }(e); f.Jump = e; e.prototype.nodeName = "Jump"; var l = function(a) { function b() { a.call(this); } __extends(b, a); return b; }(n); f.Value = l; l.prototype.nodeName = "Value"; e = function(a) { function b() { a.call(this); } __extends(b, a); return b; }(l); f.Store = e; e.prototype.nodeName = "Store"; e = function(a) { function b(c, h) { a.call(this); this.control = c; this.store = h; } __extends(b, a); b.prototype.visitInputs = function(a) { this.control && a(this.control); this.store && a(this.store); this.loads && g(this.loads, a); }; return b; }(l); f.StoreDependent = e; e.prototype.nodeName = "StoreDependent"; q = function(a) { function b(c, h, d, e, l, n) { a.call(this, c, h); this.callee = d; this.object = e; this.args = l; this.flags = n; } __extends(b, a); b.prototype.visitInputs = function(a) { this.control && a(this.control); this.store && a(this.store); this.loads && g(this.loads, a); a(this.callee); this.object && a(this.object); g(this.args, a); }; return b; }(e); f.Call = q; q.prototype.nodeName = "Call"; q = function(a) { function b(c, h, d, e) { a.call(this, c, h); this.callee = d; this.args = e; } __extends(b, a); b.prototype.visitInputs = function(a) { this.control && a(this.control); this.store && a(this.store); this.loads && g(this.loads, a); a(this.callee); g(this.args, a); }; return b; }(e); f.New = q; q.prototype.nodeName = "New"; q = function(a) { function b(c, h, d, e) { a.call(this, c, h); this.object = d; this.name = e; } __extends(b, a); b.prototype.visitInputs = function(a) { this.control && a(this.control); this.store && a(this.store); this.loads && g(this.loads, a); a(this.object); a(this.name); }; return b; }(e); f.GetProperty = q; q.prototype.nodeName = "GetProperty"; q = function(a) { function b(c, h, d, e, l) { a.call(this, c, h); this.object = d; this.name = e; this.value = l; } __extends(b, a); b.prototype.visitInputs = function(a) { this.control && a(this.control); this.store && a(this.store); this.loads && g(this.loads, a); a(this.object); a(this.name); a(this.value); }; return b; }(e); f.SetProperty = q; q.prototype.nodeName = "SetProperty"; q = function(a) { function b(c, h, d, e) { a.call(this, c, h); this.object = d; this.name = e; } __extends(b, a); b.prototype.visitInputs = function(a) { this.control && a(this.control); this.store && a(this.store); this.loads && g(this.loads, a); a(this.object); a(this.name); }; return b; }(e); f.DeleteProperty = q; q.prototype.nodeName = "DeleteProperty"; e = function(a) { function b(c, h, d, e, l, n) { a.call(this, c, h); this.object = d; this.name = e; this.args = l; this.flags = n; } __extends(b, a); b.prototype.visitInputs = function(a) { this.control && a(this.control); this.store && a(this.store); this.loads && g(this.loads, a); a(this.object); a(this.name); g(this.args, a); }; return b; }(e); f.CallProperty = e; e.prototype.nodeName = "CallProperty"; var u = function(a) { function b(c, h) { a.call(this); this.control = this.control = c; this.args = h ? [h] : []; } __extends(b, a); b.prototype.visitInputs = function(a) { this.control && a(this.control); g(this.args, a); }; b.prototype.seal = function() { this.sealed = !0; }; b.prototype.pushValue = function(a) { m(!this.sealed); this.args.push(a); }; return b; }(l); f.Phi = u; u.prototype.nodeName = "Phi"; var w = function(a) { function b(c) { a.call(this); this.name = c; } __extends(b, a); return b; }(l); f.Variable = w; w.prototype.nodeName = "Variable"; e = function(a) { function b(c) { a.call(this); this.argument = c; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.argument); }; return b; }(l); f.Copy = e; e.prototype.nodeName = "Copy"; e = function(a) { function b(c, h) { a.call(this); this.to = c; this.from = h; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.to); a(this.from); }; return b; }(l); f.Move = e; e.prototype.nodeName = "Move"; (function(a) { a[a.CASE = 0] = "CASE"; a[a.TRUE = 1] = "TRUE"; a[a.FALSE = 2] = "FALSE"; a[a.STORE = 3] = "STORE"; a[a.SCOPE = 4] = "SCOPE"; })(f.ProjectionType || (f.ProjectionType = {})); var r = function(a) { function b(c, h, d) { a.call(this); this.argument = c; this.type = h; this.selector = d; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.argument); }; b.prototype.project = function() { return this.argument; }; return b; }(l); f.Projection = r; r.prototype.nodeName = "Projection"; e = function(a) { function b(c, h, d, e) { a.call(this); this.control = c; this.condition = h; this.left = d; this.right = e; } __extends(b, a); b.prototype.visitInputs = function(a) { this.control && a(this.control); a(this.condition); a(this.left); a(this.right); }; return b; }(l); f.Latch = e; e.prototype.nodeName = "Latch"; e = function() { function a(b, c, h) { this.name = b; this.evaluate = c; this.isBinary = h; a.byName[b] = this; } a.linkOpposites = function(a, b) { a.not = b; b.not = a; }; a.fromName = function(b) { return a.byName[b]; }; a.byName = c(); a.ADD = new a("+", function(a, b) { return a + b; }, !0); a.SUB = new a("-", function(a, b) { return a - b; }, !0); a.MUL = new a("*", function(a, b) { return a * b; }, !0); a.DIV = new a("/", function(a, b) { return a / b; }, !0); a.MOD = new a("%", function(a, b) { return a % b; }, !0); a.AND = new a("&", function(a, b) { return a & b; }, !0); a.OR = new a("|", function(a, b) { return a | b; }, !0); a.XOR = new a("^", function(a, b) { return a ^ b; }, !0); a.LSH = new a("<<", function(a, b) { return a << b; }, !0); a.RSH = new a(">>", function(a, b) { return a >> b; }, !0); a.URSH = new a(">>>", function(a, b) { return a >>> b; }, !0); a.SEQ = new a("===", function(a, b) { return a === b; }, !0); a.SNE = new a("!==", function(a, b) { return a !== b; }, !0); a.EQ = new a("==", function(a, b) { return a == b; }, !0); a.NE = new a("!=", function(a, b) { return a != b; }, !0); a.LE = new a("<=", function(a, b) { return a <= b; }, !0); a.GT = new a(">", function(a, b) { return a > b; }, !0); a.LT = new a("<", function(a, b) { return a < b; }, !0); a.GE = new a(">=", function(a, b) { return a >= b; }, !0); a.PLUS = new a("+", function(a) { return+a; }, !1); a.NEG = new a("-", function(a) { return-a; }, !1); a.TRUE = new a("!!", function(a) { return!!a; }, !1); a.FALSE = new a("!", function(a) { return!a; }, !1); a.TYPE_OF = new a("typeof", function(a) { return typeof a; }, !1); a.BITWISE_NOT = new a("~", function(a) { return~a; }, !1); a.AS_ADD = new a("+", function(a, b) { return "string" === typeof a || "string" === typeof b ? String(a) + String(b) : a + b; }, !0); return a; }(); f.Operator = e; e.linkOpposites(e.SEQ, e.SNE); e.linkOpposites(e.EQ, e.NE); e.linkOpposites(e.TRUE, e.FALSE); e = function(a) { function b(c, h, d) { a.call(this); this.operator = c; this.left = h; this.right = d; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.left); a(this.right); }; return b; }(l); f.Binary = e; e.prototype.nodeName = "Binary"; e = function(a) { function b(c, h) { a.call(this); this.operator = c; this.argument = h; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.argument); }; return b; }(l); f.Unary = e; e.prototype.nodeName = "Unary"; var h = function(a) { function b(c) { a.call(this); this.value = c; } __extends(b, a); return b; }(l); f.Constant = h; h.prototype.nodeName = "Constant"; e = function(a) { function b(c) { a.call(this); this.name = c; } __extends(b, a); return b; }(l); f.GlobalProperty = e; e.prototype.nodeName = "GlobalProperty"; e = function(a) { function b(c) { a.call(this); this.control = c; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); }; return b; }(l); f.This = e; e.prototype.nodeName = "This"; e = function(a) { function b(c, h) { a.call(this); this.control = c; this.argument = h; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); a(this.argument); }; return b; }(l); f.Throw = e; e.prototype.nodeName = "Throw"; e = function(a) { function b(c) { a.call(this); this.control = c; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); }; return b; }(l); f.Arguments = e; e.prototype.nodeName = "Arguments"; e = function(a) { function b(c, h, d) { a.call(this); this.control = c; this.index = h; this.name = d; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); }; return b; }(l); f.Parameter = e; e.prototype.nodeName = "Parameter"; e = function(a) { function b(c, h) { a.call(this); this.control = c; this.elements = h; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); g(this.elements, a); }; return b; }(l); f.NewArray = e; e.prototype.nodeName = "NewArray"; e = function(a) { function b(c, h) { a.call(this); this.control = c; this.properties = h; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.control); g(this.properties, a); }; return b; }(l); f.NewObject = e; e.prototype.nodeName = "NewObject"; e = function(a) { function b(c, h) { a.call(this); this.key = c; this.value = h; } __extends(b, a); b.prototype.visitInputs = function(a) { a(this.key); a(this.value); }; return b; }(l); f.KeyValuePair = e; e.prototype.mustFloat = !0; e.prototype.nodeName = "KeyValuePair"; f.nameOf = k; })(g.IR || (g.IR = {})); })(k.Compiler || (k.Compiler = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { function g(a) { return a.id; } function s(a) { return a instanceof f.Phi; } function m(a) { return a instanceof f.Constant && a.value instanceof u; } function d(a) { return s(a) || a instanceof f.Store || p(a, 3); } function a(a) { return a instanceof f.Constant; } function c(a) { return a instanceof f.Control; } function n(a) { return a instanceof f.Value; } function p(a, b) { return a instanceof f.Projection && (!b || a.type === b); } function e(a) { return a instanceof f.Projection ? a.project() : a; } var q = b.Debug.assert, l = b.Debug.unexpected, u = b.AVM2.ABC.Multiname, w = b.ArrayUtilities.top, r = b.IntegerUtilities.bitCount, h = b.ArrayUtilities.pushUnique, x = b.ArrayUtilities.unique; f.isNotPhi = function(a) { return!s(a); }; f.isPhi = s; f.isScope = function(a) { return s(a) || a instanceof f.ASScope || p(a, 4); }; f.isMultinameConstant = m; f.isMultiname = function(a) { return m(a) || a instanceof f.ASMultiname; }; f.isStore = d; f.isConstant = a; f.isControlOrNull = function(a) { return c(a) || null === a; }; f.isStoreOrNull = function(a) { return d(a) || null === a; }; f.isControl = c; f.isValueOrNull = function(a) { return n(a) || null === a; }; f.isValue = n; f.isProjection = p; f.Null = new f.Constant(null); f.Undefined = new f.Constant(void 0); f.True = new f.Constant(!0); f.False = new f.Constant(!1); var y = function() { function a(b, c, h) { this.id = b; this.nodes = [c, h]; this.region = c; this.successors = []; this.predecessors = []; } a.prototype.pushSuccessorAt = function(a, b) { q(a); q(!this.successors[b]); this.successors[b] = a; a.pushPredecessor(this); }; a.prototype.pushSuccessor = function(a, b) { q(a); this.successors.push(a); b && a.pushPredecessor(this); }; a.prototype.pushPredecessor = function(a) { q(a); this.predecessors.push(a); }; a.prototype.visitNodes = function(a) { for (var b = this.nodes, c = 0, h = b.length;c < h;c++) { a(b[c]); } }; a.prototype.visitSuccessors = function(a) { for (var b = this.successors, c = 0, h = b.length;c < h;c++) { a(b[c]); } }; a.prototype.visitPredecessors = function(a) { for (var b = this.predecessors, c = 0, h = b.length;c < h;c++) { a(b[c]); } }; a.prototype.append = function(a) { q(2 <= this.nodes.length); q(n(a), a); q(!s(a)); q(0 > this.nodes.indexOf(a)); a.mustFloat || this.nodes.splice(this.nodes.length - 1, 0, a); }; a.prototype.toString = function() { return "B" + this.id + (this.name ? " (" + this.name + ")" : ""); }; a.prototype.trace = function(a) { a.writeLn(this.toString()); }; return a; }(); f.Block = y; var G = function() { function c(a) { this.exit = this.exit = a; } c.prototype.buildCFG = function() { return C.fromDFG(this); }; c.preOrderDepthFirstSearch = function(a, b, c) { var h = []; a = [a]; for (var d = a.push.bind(a), e;e = a.pop();) { 1 !== h[e.id] && (h[e.id] = 1, c(e), a.push(e), b(e, d)); } }; c.postOrderDepthFirstSearch = function(a, b, c) { function h(a) { d[a.id] || e.push(a); } for (var d = [], e = [a];a = w(e);) { d[a.id] ? (1 === d[a.id] && (d[a.id] = 2, c(a)), e.pop()) : (d[a.id] = 1, b(a, h)); } }; c.prototype.forEachInPreOrderDepthFirstSearch = function(b) { function c(b) { a(b) || (q(b instanceof f.Node), d.push(b)); } for (var h = Array(1024), d = [this.exit], e;e = d.pop();) { h[e.id] || (h[e.id] = 1, b && b(e), d.push(e), e.visitInputs(c)); } }; c.prototype.forEach = function(a, b) { (b ? c.postOrderDepthFirstSearch : c.preOrderDepthFirstSearch)(this.exit, function(a, b) { a.visitInputsNoConstants(b); }, a); }; c.prototype.traceMetrics = function(a) { var h = new b.Metrics.Counter(!0); c.preOrderDepthFirstSearch(this.exit, function(a, b) { a.visitInputsNoConstants(b); }, function(a) { k.countTimeline(a.nodeName); }); h.trace(a); }; c.prototype.trace = function(a) { function b(a) { return a instanceof f.Control ? "yellow" : a instanceof f.Phi ? "purple" : a instanceof f.Value ? "green" : "white"; } function c(a) { return a instanceof f.Projection ? a.project() : a; } function h(a) { a = c(a); e[a.id] || (e[a.id] = !0, a.block && l.push(a.block), d.push(a), a.visitInputsNoConstants(h)); } var d = [], e = {}, l = []; h(this.exit); a.writeLn(""); a.enter("digraph DFG {"); a.writeLn("graph [bgcolor = gray10];"); a.writeLn("edge [color = white];"); a.writeLn("node [shape = box, fontname = Consolas, fontsize = 11, color = white, fontcolor = white];"); a.writeLn("rankdir = BT;"); l.forEach(function(b) { a.enter("subgraph cluster" + b.nodes[0].id + " { bgcolor = gray20;"); b.visitNodes(function(b) { b = c(b); a.writeLn("N" + b.id + ";"); }); a.leave("}"); }); d.forEach(function(c) { a.writeLn("N" + c.id + ' [label = "' + c.toString() + '", color = "' + b(c) + '"];'); }); d.forEach(function(h) { h.visitInputsNoConstants(function(d) { d = c(d); a.writeLn("N" + h.id + " -> N" + d.id + " [color=" + b(d) + "];"); }); }); a.leave("}"); a.writeLn(""); }; return c; }(); f.DFG = G; var I = function() { function a() { this.entries = []; } a.prototype.addUse = function(a, b) { var c = this.entries[a.id]; c || (c = this.entries[a.id] = {def:a, uses:[]}); h(c.uses, b); }; a.prototype.trace = function(a) { a.enter("> Uses"); this.entries.forEach(function(b) { a.writeLn(b.def.id + " -> [" + b.uses.map(g).join(", ") + "] " + b.def); }); a.leave("<"); }; a.prototype.replace = function(a, b) { var c = this.entries[a.id]; if (0 === c.uses.length) { return!1; } var h = 0; c.uses.forEach(function(c) { h += c.replaceInput(a, b); }); q(h >= c.uses.length); c.uses = []; return!0; }; a.prototype.updateUses = function(a, b, c, h) { c = c[a.id]; if (0 === c.uses.length) { return!1; } var d = 0; c.uses.forEach(function(c) { d += c.replaceInput(a, b); }); q(d >= c.uses.length); c.uses = []; return!0; }; return a; }(); f.Uses = I; var C = function() { function c() { this.nextBlockID = 0; this.blocks = []; } c.fromDFG = function(a) { function b(a) { a instanceof f.Projection && (a = a.project()); q(a instanceof f.End || a instanceof f.Start, a); if (!d[a.id]) { d[a.id] = !0; var c = a.control; c instanceof f.Region || (c = a.control = new f.Region(c)); a = c.block = h.buildBlock(c, a); c instanceof f.Start && (h.root = a); for (var e = 0;e < c.predecessors.length;e++) { var l = c.predecessors[e], n, r = !1; l instanceof f.Projection ? (n = l.project(), r = 1 === l.type) : n = l; n instanceof f.Region && (n = new f.Jump(l), n = new f.Projection(n, 1), c.predecessors[e] = n, n = n.project(), r = !0); b(n); var g = n.control.block; n instanceof f.Switch ? (q(p(l, 0)), g.pushSuccessorAt(a, l.selector.value)) : r && 0 < g.successors.length ? (g.pushSuccessor(a, !0), g.hasFlippedSuccessors = !0) : g.pushSuccessor(a, !0); } } } var h = new c; q(a && a instanceof G); h.dfg = a; var d = []; b(a.exit); h.splitCriticalEdges(); h.exit = a.exit.control.block; h.computeDominators(); return h; }; c.prototype.buildRootAndExit = function() { q(!this.root && !this.exit); 0 < this.blocks[0].predecessors.length ? (this.root = new y(this.nextBlockID++), this.blocks.push(this.root), this.root.pushSuccessor(this.blocks[0], !0)) : this.root = this.blocks[0]; for (var a = [], b = 0;b < this.blocks.length;b++) { var c = this.blocks[b]; 0 === c.successors.length && a.push(c); } if (0 === a.length) { l("Must have an exit block."); } else { if (1 === a.length && a[0] !== this.root) { this.exit = a[0]; } else { for (this.exit = new y(this.nextBlockID++), this.blocks.push(this.exit), b = 0;b < a.length;b++) { a[b].pushSuccessor(this.exit, !0); } } } q(this.root && this.exit); q(this.root !== this.exit); }; c.prototype.fromString = function(a, b) { function c(a) { var b = d[a]; if (b) { return b; } d[a] = b = new y(h.nextBlockID++); b.name = a; e.push(b); return b; } var h = this, d = h.blockNames || (h.blockNames = {}), e = h.blocks; a.replace(/\ /g, "").split(",").forEach(function(a) { a = a.split("->"); for (var b = null, h = 0;h < a.length;h++) { var d = a[h]; if (b) { var e = d; c(b).pushSuccessor(c(e), !0); } else { c(d); } b = d; } }); q(b && d[b]); this.root = d[b]; }; c.prototype.buildBlock = function(a, b) { var c = new y(this.nextBlockID++, a, b); this.blocks.push(c); return c; }; c.prototype.createBlockSet = function() { this.setConstructor || (this.setConstructor = b.BitSets.BitSetFunctor(this.blocks.length)); return new this.setConstructor; }; c.prototype.computeReversePostOrder = function() { if (this.order) { return this.order; } var a = this.order = []; this.depthFirstSearch(null, a.push.bind(a)); a.reverse(); for (var b = 0;b < a.length;b++) { a[b].rpo = b; } return a; }; c.prototype.depthFirstSearch = function(a, b) { function c(d) { h.set(d.id); a && a(d); for (var e = d.successors, l = 0, n = e.length;l < n;l++) { var r = e[l]; h.get(r.id) || c(r); } b && b(d); } var h = this.createBlockSet(); c(this.root); }; c.prototype.computeDominators = function() { function a(b) { var c; if (void 0 !== b.dominatorDepth) { return b.dominatorDepth; } c = b.dominator ? a(b.dominator) + 1 : 0; return b.dominatorDepth = c; } q(0 === this.root.predecessors.length, "Root node " + this.root + " must not have predecessors."); for (var b = new Int32Array(this.blocks.length), c = 0;c < b.length;c++) { b[c] = -1; } var h = this.createBlockSet(); this.depthFirstSearch(function(a) { for (var c = a.successors, d = 0, e = c.length;d < e;d++) { var l = c[d].id, n = a.id, r = l; if (!(0 > b[l])) { l = b[l]; for (h.clearAll();0 <= l;) { h.set(l), l = b[l]; } for (;0 <= n && !h.get(n);) { n = b[n]; } } b[r] = n; } }); for (var c = 0, d = this.blocks.length;c < d;c++) { this.blocks[c].dominator = this.blocks[b[c]]; } c = 0; for (d = this.blocks.length;c < d;c++) { a(this.blocks[c]); } }; c.prototype.computeLoops = function() { function a(d) { if (c.get(d.id)) { return b.get(d.id) && (d.isLoopHeader || (q(32 > h, "Can't handle too many loops, fall back on BitMaps if it's a problem."), d.isLoopHeader = !0, d.loops = 1 << h, h += 1), q(1 === r(d.loops))), d.loops; } c.set(d.id); b.set(d.id); for (var e = 0, l = 0, n = d.successors.length;l < n;l++) { e |= a(d.successors[l]); } d.isLoopHeader && (q(1 === r(d.loops)), e &= ~d.loops); d.loops = e; b.clear(d.id); return e; } var b = this.createBlockSet(), c = this.createBlockSet(), h = 0, d = a(this.root); q(0 === d); }; c.prototype.computeUses = function() { k.enterTimeline("computeUses"); var a = this.dfg, b = new I; a.forEachInPreOrderDepthFirstSearch(function(a) { a.visitInputs(function(c) { b.addUse(c, a); }); }); k.leaveTimeline(); return b; }; c.prototype.verify = function() { this.computeReversePostOrder().forEach(function(a) { a.phis && a.phis.forEach(function(b) { q(b.control === a.region); q(b.args.length === a.predecessors.length); }); }); }; c.prototype.optimizePhis = function() { function a(b, c) { c = x(c); if (1 === c.length) { return c[0]; } if (2 === c.length) { if (c[0] === b) { return c[1]; } if (c[1] === b) { return c[0]; } } return b; } var b = [], c = this.computeUses().entries; c.forEach(function(a) { s(a.def) && b.push(a.def); }); for (var h = 0, d = 0, e = !0;e;) { d++, e = !1, b.forEach(function(b) { var d = a(b, b.args); if (d !== b) { var l = c[b.id]; if (0 === l.uses.length) { b = !1; } else { for (var n = 0, r = l.uses, f = 0, p = r.length;f < p;f++) { n += r[f].replaceInput(b, d); } q(n >= l.uses.length); l.uses = []; b = !0; } b && (e = !0, h++); } }); } }; c.prototype.splitCriticalEdges = function() { for (var a = this.blocks, b = [], c = 0;c < a.length;c++) { var h = a[c].successors; if (1 < h.length) { for (var d = 0;d < h.length;d++) { 1 < h[d].predecessors.length && b.push({from:a[c], to:h[d]}); } } } for (var a = b.length, e;e = b.pop();) { c = e.from.successors.indexOf(e.to); h = e.to.predecessors.indexOf(e.from); q(0 <= c && 0 <= h); var d = e.to, l = d.region, n = new f.Region(l.predecessors[h]), r = new f.Jump(n), n = this.buildBlock(n, r); l.predecessors[h] = new f.Projection(r, 1); e = e.from; e.successors[c] = n; n.pushPredecessor(e); n.pushSuccessor(d); d.predecessors[h] = n; } a && q(0 === this.splitCriticalEdges()); return a; }; c.prototype.allocateVariables = function() { function a(b) { !(p(b, 3) || b instanceof f.SetProperty) && b instanceof f.Value && (b.variable = new f.Variable("v" + b.id)); } var b = this.computeReversePostOrder(); b.forEach(function(b) { b.nodes.forEach(a); b.phis && b.phis.forEach(a); }); for (var c = [], h = 0;h < b.length;h++) { var d = b[h], e = d.phis, d = d.predecessors; if (e) { for (var l = 0;l < e.length;l++) { var n = e[l]; arguments = n.args; q(d.length === arguments.length); for (var r = 0;r < d.length;r++) { var g = d[r], m = arguments[r]; m.abstract || p(m, 3) || (g = c[g.id] || (c[g.id] = []), m = m.variable || m, n.variable !== m && g.push(new f.Move(n.variable, m))); } } } } var x = this.blocks; c.forEach(function(a, b) { for (var c = x[b], h = 0;a.length;) { for (var d = 0;d < a.length;d++) { for (var e = a[d], l = 0;l < a.length;l++) { if (d !== l && a[l].from === e.to) { e = null; break; } } e && (a.splice(d--, 1), c.append(e)); } if (a.length) { for (e = a[0], l = new f.Variable("t" + h++), x[b].append(new f.Move(l, e.to)), d = 1;d < a.length;d++) { a[d].from === e.to && (a[d].from = l); } } } }); }; c.prototype.scheduleEarly = function() { function b(a) { return a.mustNotFloat || a.shouldNotFloat ? !1 : a.mustFloat || a.shouldFloat || a instanceof f.Parameter || a instanceof f.This || a instanceof f.Arguments ? !0 : a instanceof f.Binary || a instanceof f.Unary || a instanceof f.Parameter; } function c(a) { q(!p[a.id], "Already scheduled " + a); p[a.id] = !0; q(a.control, a); b(a) || a.control.block.append(a); } function h(a, b) { q(!a.control, a); q(!p[a.id]); q(b); a.control = b; c(a); } function d(b) { var r = []; b.visitInputs(function(b) { a(b) || n(b) && r.push(e(b)); }); for (var g = 0;g < r.length;g++) { var q = r[g]; s(q) || p[q.id] || d(q); } if (b.control) { b instanceof f.End || b instanceof f.Phi || b instanceof f.Start || p[b.id] || c(b); } else { if (r.length) { q = r[0].control; for (g = 1;g < r.length;g++) { var m = r[g].control; q.block.dominatorDepth < m.block.dominatorDepth && (q = m); } h(b, q); } else { h(b, l.root.region); } } } var l = this, r = this.dfg, p = [], g = []; r.forEachInPreOrderDepthFirstSearch(function(a) { a instanceof f.Region || a instanceof f.Jump || (a.control && g.push(a), s(a) && a.args.forEach(function(a) { b(a) && (a.mustNotFloat = !0); })); }); for (var m = 0;m < g.length;m++) { var x = g[m]; if (x instanceof f.Phi) { var w = x.control.block; (w.phis || (w.phis = [])).push(x); } x.control && d(x); } g.forEach(function(a) { a = e(a); a === r.start || a instanceof f.Region || q(a.control, "Node is not scheduled: " + a); }); }; c.prototype.trace = function(a) { function b(a) { h[a.id] || (h[a.id] = !0, d.push(a), a.visitSuccessors(b)); } function c(a) { q(a); return a === e ? "house" : a === l ? "invhouse" : "box"; } var h = [], d = [], e = this.root, l = this.exit; b(e); a.writeLn(""); a.enter("digraph CFG {"); a.writeLn("graph [bgcolor = gray10];"); a.writeLn("edge [fontname = Consolas, fontsize = 11, color = white, fontcolor = white];"); a.writeLn("node [shape = box, fontname = Consolas, fontsize = 11, color = white, fontcolor = white, style = filled];"); a.writeLn("rankdir = TB;"); d.forEach(function(b) { var h = ""; void 0 !== b.name && (h += " " + b.name); void 0 !== b.rpo && (h += " O: " + b.rpo); a.writeLn("B" + b.id + ' [label = "B' + b.id + h + '", fillcolor = "black", shape=' + c(b) + ", style=filled];"); }); d.forEach(function(b) { b.visitSuccessors(function(c) { a.writeLn("B" + b.id + " -> B" + c.id); }); b.dominator && a.writeLn("B" + b.id + " -> B" + b.dominator.id + " [color = orange];"); b.follow && a.writeLn("B" + b.id + " -> B" + b.follow.id + " [color = purple];"); }); a.leave("}"); a.writeLn(""); }; return c; }(); f.CFG = C; var E = function() { function b() { } b.prototype.foldUnary = function(b, c) { q(b instanceof f.Unary); if (a(b.argument)) { return new f.Constant(b.operator.evaluate(b.argument.value)); } if (c) { var h = this.fold(b.argument, !0); if (b.operator === f.Operator.TRUE) { return h; } if (h instanceof f.Unary) { if (b.operator === f.Operator.FALSE && h.operator === f.Operator.FALSE) { return h.argument; } } else { return new f.Unary(b.operator, h); } } return b; }; b.prototype.foldBinary = function(b, c) { q(b instanceof f.Binary); return a(b.left) && a(b.right) ? new f.Constant(b.operator.evaluate(b.left.value, b.right.value)) : b; }; b.prototype.fold = function(a, b) { return a instanceof f.Unary ? this.foldUnary(a, b) : a instanceof f.Binary ? this.foldBinary(a, b) : a; }; return b; }(); f.PeepholeOptimizer = E; })(g.IR || (g.IR = {})); })(k.Compiler || (k.Compiler = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { function f(a) { F(a instanceof v); return a; } function t(a) { return a instanceof v && b.isString(a.value); } function s(a) { return a instanceof v && b.isNumeric(a.value) ? !0 : a.ty && a.ty.isNumeric(); } function m(a, b) { return s(a) && s(b) || d(a) && d(b) ? !0 : !1; } function d(a) { return t(a) ? !0 : a.ty && a.ty.isString(); } function a(a) { return new v(a); } function c(a) { switch(a) { case 161: return H.SUB; case 162: return H.MUL; case 163: return H.DIV; case 164: return H.MOD; case 165: return H.LSH; case 166: return H.RSH; case 167: return H.URSH; case 168: return H.AND; case 169: return H.OR; case 170: return H.XOR; case 20: return H.NE; case 26: return H.SNE; case 19: ; case 171: return H.EQ; case 25: ; case 172: return H.SEQ; case 21: ; case 173: return H.LT; case 22: ; case 174: return H.LE; case 23: ; case 175: return H.GT; case 24: ; case 176: return H.GE; case 144: return H.NEG; case 196: return H.NEG; case 197: return H.ADD; case 198: return H.SUB; case 199: return H.MUL; case 17: return H.TRUE; case 18: return H.FALSE; case 150: return H.FALSE; case 151: return H.BITWISE_NOT; default: K(String(a)); } } function n(c, h, d) { F(b.isString(d)); d = d.split("."); for (var e = 0;e < d.length;e++) { h = new g.IR.GetProperty(null, c.store, h, a(d[e])), h.shouldFloat = !0, c.loads.push(h); } return h; } function p(a) { a = new g.IR.GlobalProperty(a); a.mustFloat = !0; return a; } function e(a, b) { var c = new Z(a, b); da && (c = da.fold(c)); return c; } function q(a, c, h) { var d = new ea(a, c, h); c.ty && c.ty !== b.AVM2.Verifier.Type.Any && c.ty === h.ty && (a === H.EQ ? d.operator = H.SEQ : a === H.NE && (d.operator = H.SNE)); da && (d = da.fold(d)); return d; } function l(b) { return q(H.OR, b, a(0)); } function u(b) { return q(H.URSH, b, a(0)); } function w(a) { return s(a) ? a : e(H.PLUS, a); } function r(a) { return e(H.FALSE, e(H.FALSE, a)); } function h(a) { a.shouldNotFloat = !0; return a; } function x(a, b) { return new X(null, null, a, null, b, 4); } function y(a, b) { return x(p(a), [b]); } function G(a) { return t(a) ? a : x(p("String"), [a]); } function I(a) { return t(a) ? a : W(a) ? new v(z.asCoerceString(f(a).value)) : x(p("asCoerceString"), [a]); } function C(a) { F(a instanceof E); return ma[E.getQualifiedName(a)]; } var E = b.AVM2.ABC.Multiname, O = b.AVM2.ABC.InstanceInfo, K = b.Debug.notImplemented, F = b.Debug.assert, J = b.ArrayUtilities.top, A = b.ArrayUtilities.unique, B = b.ObjectUtilities.createEmptyObject, z = b.AVM2.Runtime, P = b.AVM2.Runtime.GlobalMultinameResolver, D = g.IR.Node, L = g.IR.Start, M = g.IR.Region, V = g.IR.Null, Q = g.IR.Undefined, U = g.IR.True, S = g.IR.False, aa = g.IR.This, $ = g.IR.Projection, ea = g.IR.Binary, Z = g.IR.Unary, v = g.IR.Constant, X = g.IR.Call, ba = g.IR.Phi, R = g.IR.Stop, H = g.IR.Operator, Y = g.IR.Parameter, ga = g.IR.NewArray, ca = g.IR.NewObject, ka = g.IR.KeyValuePair, W = g.IR.isConstant, ha = new b.IndentingWriter, da = new g.IR.PeepholeOptimizer, ja = function() { function a(b) { "undefined" === typeof b && (b = 0); this.id = a._nextID += 1; this.index = b; this.local = []; this.stack = []; this.scope = []; this.store = Q; this.loads = []; this.saved = Q; } a.prototype.clone = function(b) { var c = new a; c.index = void 0 !== b ? b : this.index; c.local = this.local.slice(0); c.stack = this.stack.slice(0); c.scope = this.scope.slice(0); c.loads = this.loads.slice(0); c.saved = this.saved; c.store = this.store; return c; }; a.prototype.matches = function(a) { return this.stack.length === a.stack.length && this.scope.length === a.scope.length && this.local.length === a.local.length; }; a.prototype.makeLoopPhis = function(b, c) { function h(a) { a = new ba(b, a); a.isLoop = !0; return a; } var d = new a; F(b); d.index = this.index; d.local = this.local.map(function(a, b) { return c[b] ? h(a) : a; }); d.stack = this.stack.map(h); d.scope = this.scope.map(h); d.loads = this.loads.slice(0); d.saved = this.saved; d.store = h(this.store); return d; }; a.tryOptimizePhi = function(a) { if (a instanceof ba) { if (a.isLoop) { return a; } var b = A(a.args); if (1 === b.length) { return a.seal(), k.countTimeline("Builder: OptimizedPhi"), b[0]; } } return a; }; a.prototype.optimize = function() { this.local = this.local.map(a.tryOptimizePhi); this.stack = this.stack.map(a.tryOptimizePhi); this.scope = this.scope.map(a.tryOptimizePhi); this.saved = a.tryOptimizePhi(this.saved); this.store = a.tryOptimizePhi(this.store); }; a.mergeValue = function(a, b, c) { a = b instanceof ba && b.control === a ? b : new ba(a, b); a.pushValue(c); return a; }; a.mergeValues = function(b, c, h) { for (var d = 0;d < c.length;d++) { c[d] = a.mergeValue(b, c[d], h[d]); } }; a.prototype.merge = function(b, c) { F(b); F(this.matches(c), this + " !== " + c); a.mergeValues(b, this.local, c.local); a.mergeValues(b, this.stack, c.stack); a.mergeValues(b, this.scope, c.scope); this.store = a.mergeValue(b, this.store, c.store); this.store.abstract = !0; }; a.prototype.trace = function(a) { a.writeLn(this.toString()); }; a.toBriefString = function(a) { return a instanceof D ? a.toString(!0) : a; }; a.prototype.toString = function() { return "<" + String(this.id + " @ " + this.index).padRight(" ", 10) + (" M: " + a.toBriefString(this.store)).padRight(" ", 14) + (" X: " + a.toBriefString(this.saved)).padRight(" ", 14) + (" $: " + this.scope.map(a.toBriefString).join(", ")).padRight(" ", 20) + (" L: " + this.local.map(a.toBriefString).join(", ")).padRight(" ", 40) + (" S: " + this.stack.map(a.toBriefString).join(", ")).padRight(" ", 60); }; a._nextID = 0; return a; }(), N = y.bind(null, "asCoerceObject"), ma = B(); ma[E.Int] = l; ma[E.Uint] = u; ma[E.Number] = w; ma[E.String] = I; ma[E.Object] = N; ma[E.Boolean] = r; var T = B(); T[E.Int] = l; T[E.Uint] = u; T[E.Number] = y.bind(null, "Number"); T[E.String] = y.bind(null, "String"); T[E.Object] = y.bind(null, "Object"); T[E.Boolean] = y.bind(null, "Boolean"); var oa = y.bind(null, "Object"), pa = function() { function d(a, b, c, h) { this.builder = a; this.region = b; this.block = c; this.state = h; this.abc = a.abc; this.methodInfoConstant = a.methodInfoConstant; this.bytecodes = a.methodInfo.analysis.bytecodes; this.constantPool = a.abc.constantPool; this.traceBuilder = a.traceBuilder; this.methodInfo = a.methodInfo; } d.prototype.popMultiname = function() { var b = this.constantPool.multinames[this.bc.index], c, h = b.flags; c = b.isRuntimeName() ? this.state.stack.pop() : a(b.name); b.isRuntimeNamespace() ? (b = new ga(this.region, [this.state.stack.pop()]), F(!(b instanceof g.IR.GetProperty), "Cannot float node : " + b), b.shouldFloat = !0) : b = a(b.namespaces); return new g.IR.ASMultiname(b, c, h); }; d.prototype.setIfStops = function(a) { F(!this.stops); a = new g.IR.If(this.region, a); this.stops = [{control:new $(a, 2), target:this.bytecodes[this.bc.position + 1], state:this.state}, {control:new $(a, 1), target:this.bc.target, state:this.state}]; }; d.prototype.setJumpStop = function() { F(!this.stops); this.stops = [{control:this.region, target:this.bc.target, state:this.state}]; }; d.prototype.setThrowStop = function() { F(!this.stops); this.stops = []; }; d.prototype.setReturnStop = function() { F(!this.stops); this.stops = []; }; d.prototype.setSwitchStops = function(b) { F(!this.stops); if (2 < this.bc.targets.length) { this.stops = []; b = new g.IR.Switch(this.region, b); for (var c = 0;c < this.bc.targets.length;c++) { this.stops.push({control:new $(b, 0, a(c)), target:this.bc.targets[c], state:this.state}); } } else { F(2 === this.bc.targets.length), b = q(H.SEQ, b, a(0)), b = new g.IR.If(this.region, b), this.stops = [{control:new $(b, 2), target:this.bc.targets[1], state:this.state}, {control:new $(b, 1), target:this.bc.targets[0], state:this.state}]; } }; d.prototype.savedScope = function() { return this.state.saved; }; d.prototype.topScope = function(a) { var b = this.state.scope; if (void 0 !== a) { if (a < b.length) { return b[b.length - 1 - a]; } if (a === b.length) { return this.savedScope(); } var c = this.savedScope(); a -= b.length; for (b = 0;b < a;b++) { c = n(this.state, c, "parent"); } return c; } return 0 < b.length ? J(b) : this.savedScope(); }; d.prototype.getGlobalScope = function() { var b = this.bc.ti; return b && b.object ? a(b.object) : new g.IR.ASGlobal(null, this.savedScope()); }; d.prototype.getScopeObject = function(a) { return a instanceof g.IR.ASScope ? a.object : n(this.state, a, "object"); }; d.prototype.findProperty = function(c, h) { var d = this.bc.ti, e = new g.IR.ASFindProperty(this.region, this.state.store, this.topScope(), c, this.methodInfoConstant, h); if (d) { if (d.object) { return d.object instanceof b.AVM2.Runtime.Global && !d.object.scriptInfo.executing ? e : a(d.object); } if (void 0 !== d.scopeDepth) { return this.getScopeObject(this.topScope(d.scopeDepth)); } } return e; }; d.prototype.coerce = function(a, b) { var c = C(a); return c ? c(b) : b; }; d.prototype.store = function(a) { var b = this.state; b.store = new $(a, 3); a.loads = b.loads.slice(0); b.loads.length = 0; return a; }; d.prototype.load = function(a) { this.state.loads.push(a); return a; }; d.prototype.call = function(a, b, c) { return this.store(new X(this.region, this.state.store, a, b, c, 4)); }; d.prototype.callCall = function(a, b, c) { return this.store(new X(this.region, this.state.store, a, b, c, 16)); }; d.prototype.callProperty = function(b, c, h, d) { var e = this.bc.ti, l = this.region, n = this.state; if (e && e.trait) { if (e.trait.isMethod()) { return e = e.trait.holder instanceof O && e.trait.holder.isInterface() ? E.getPublicQualifiedName(E.getName(e.trait.name)) : E.getQualifiedName(e.trait.name), e = z.VM_OPEN_METHOD_PREFIX + e, this.store(new g.IR.CallProperty(l, n.store, b, a(e), h, 4)); } if (e.trait.isClass()) { c = e.trait.name; F(c instanceof E); if (c = T[E.getQualifiedName(c)]) { return c(h[0]); } e = E.getQualifiedName(e.trait.name); return this.store(new g.IR.CallProperty(l, n.store, b, a(e), h, 16)); } } return(e = this.resolveMultinameGlobally(c)) ? this.store(new g.IR.ASCallProperty(l, n.store, b, a(E.getQualifiedName(e)), h, 6, d)) : this.store(new g.IR.ASCallProperty(l, n.store, b, c, h, 4, d)); }; d.prototype.getProperty = function(b, c, h) { var d = this.bc.ti, e = this.region, l = this.state; F(c instanceof g.IR.ASMultiname); h = !!h; if (d && d.trait) { if (d.trait.isConst() && d.trait.hasDefaultValue) { return a(d.trait.value); } b = new g.IR.GetProperty(e, l.store, b, a(E.getQualifiedName(d.trait.name))); return d.trait.isGetter() ? this.store(b) : this.load(b); } if (s(c.name)) { return this.store(new g.IR.ASGetProperty(e, l.store, b, c, 1)); } if (d = this.resolveMultinameGlobally(c)) { return this.store(new g.IR.ASGetProperty(e, l.store, b, a(E.getQualifiedName(d)), 2 | (h ? 8 : 0))); } k.countTimeline("Compiler: Slow ASGetProperty"); return this.store(new g.IR.ASGetProperty(e, l.store, b, c, h ? 8 : 0)); }; d.prototype.setProperty = function(b, c, h) { var d = this.bc.ti, e = this.region, l = this.state; F(c instanceof g.IR.ASMultiname); if (d && d.trait) { (c = d.trait.typeName ? C(d.trait.typeName) : null) && (h = c(h)), this.store(new g.IR.SetProperty(e, l.store, b, a(E.getQualifiedName(d.trait.name)), h)); } else { if (s(c.name)) { return this.store(new g.IR.ASSetProperty(e, l.store, b, c, h, 1)); } this.resolveMultinameGlobally(c); return this.store(new g.IR.ASSetProperty(e, l.store, b, c, h, 0)); } }; d.prototype.callSuper = function(b, c, h, d) { var e = this.bc.ti, l = this.region, n = this.state; return e && e.trait && e.trait.isMethod() && e.baseClass ? (b = z.VM_OPEN_METHOD_PREFIX + E.getQualifiedName(e.trait.name), e = this.getJSProperty(a(e.baseClass), "traitsPrototype." + b), this.call(e, c, d)) : this.store(new g.IR.ASCallSuper(l, n.store, c, h, d, 4, b)); }; d.prototype.getSuper = function(b, c, h) { var d = this.bc.ti, e = this.region, l = this.state; return d && d.trait && d.trait.isGetter() && d.baseClass ? (b = z.VM_OPEN_GET_METHOD_PREFIX + E.getQualifiedName(d.trait.name), d = this.getJSProperty(a(d.baseClass), "traitsPrototype." + b), this.call(d, c, [])) : this.store(new g.IR.ASGetSuper(e, l.store, c, h, b)); }; d.prototype.setSuper = function(b, c, h, d) { var e = this.bc.ti, l = this.region, n = this.state; e && e.trait && e.trait.isSetter() && e.baseClass ? (b = z.VM_OPEN_SET_METHOD_PREFIX + E.getQualifiedName(e.trait.name), e = this.getJSProperty(a(e.baseClass), "traitsPrototype." + b), this.call(e, c, [d])) : this.store(new g.IR.ASSetSuper(l, n.store, c, h, d, b)); }; d.prototype.constructSuper = function(b, c, h) { var d = this.bc.ti; if (d) { if (d.noCallSuperNeeded) { return; } if (d.baseClass) { b = this.getJSProperty(a(d.baseClass), "instanceConstructorNoInitialize"); this.call(b, c, h); return; } } b = this.getJSProperty(b, "object.baseClass.instanceConstructorNoInitialize"); this.call(b, c, h); }; d.prototype.getSlot = function(b, c) { var h = this.bc.ti, d = this.region, e = this.state; if (h) { var l = h.trait; if (l) { if (l.isConst() && h.trait.hasDefaultValue) { return a(l.value); } h = E.getQualifiedName(l.name); return this.store(new g.IR.GetProperty(d, e.store, b, a(h))); } } return this.store(new g.IR.ASGetSlot(null, e.store, b, c)); }; d.prototype.setSlot = function(b, c, h) { var d = this.bc.ti, e = this.region, l = this.state; if (d && (d = d.trait)) { c = E.getQualifiedName(d.name); this.store(new g.IR.SetProperty(e, l.store, b, a(c), h)); return; } this.store(new g.IR.ASSetSlot(e, l.store, b, c, h)); }; d.prototype.resolveMultinameGlobally = function(a) { var c = a.namespaces, h = a.name; if (b.AVM2.Runtime.globalMultinameAnalysis.value) { if (W(c) && W(h) && !a.isAttribute()) { if (!b.isNumeric(h.value) && b.isString(h.value) && h.value) { return P.resolveMultiname(new E(c.value, h.value, a.flags)); } k.countTimeline("GlobalMultinameResolver: Cannot resolve numeric or any names."); } else { k.countTimeline("GlobalMultinameResolver: Cannot resolve runtime multiname or attribute."); } } }; d.prototype.getJSProperty = function(a, b) { return n(this.state, a, b); }; d.prototype.setJSProperty = function(b, c, h) { this.store(new g.IR.SetProperty(null, this.state.store, b, a(c), h)); }; d.prototype.simplifyName = function(b) { return b instanceof v && b.value instanceof E && E.isQName(b.value) ? a(E.getQualifiedName(b.value)) : b; }; d.prototype.getDescendants = function(a, b) { var c = this.region, h = this.state; b = this.simplifyName(b); return new g.IR.ASGetDescendants(c, h.store, a, b); }; d.prototype.truthyCondition = function(a) { var b = this.state.stack, c; a.isBinary && (c = b.pop()); b = b.pop(); a = c ? q(a, b, c) : e(a, b); da && (a = da.fold(a, !0)); return a; }; d.prototype.negatedTruthyCondition = function(a) { a = e(H.FALSE, this.truthyCondition(a)); da && (a = da.fold(a, !0)); return a; }; d.prototype.pushExpression = function(a, b) { var c = this.state.stack, h; a.isBinary ? (h = c.pop(), c = c.pop(), b && (h = l(h), c = l(c)), this.push(q(a, c, h))) : (c = c.pop(), b && (c = l(c)), this.push(e(a, c))); }; d.prototype.push = function(a) { var b = this.bc; F(a instanceof g.IR.Node); b.ti && !a.ty && (a.ty = b.ti.type); this.state.stack.push(a); }; d.prototype.pushLocal = function(a) { this.push(this.state.local[a]); }; d.prototype.popLocal = function(a) { var b = this.state; b.local[a] = h(b.stack.pop()); }; d.prototype.build = function() { function d() { return y.pop(); } function e(a) { return b.ArrayUtilities.popMany(y, a); } var n = this.block, f = this.state, s = this.state.local, y = this.state.stack, t = this.state.scope, C = this.region, O = this.bytecodes, z, B, v, N = this.push.bind(this); this.stops = null; this.traceBuilder && (ha.writeLn("Processing Region: " + C + ", Block: " + n.bid), ha.enter(("> state: " + C.entryState.toString()).padRight(" ", 100))); for (var J = n.position, P = n.end.position;J <= P;J++) { this.bc = n = O[J]; var A = n.op; f.index = J; switch(A) { case 3: this.store(new g.IR.Throw(C, d())); this.builder.stopPoints.push({region:C, store:f.store, value:Q}); this.setThrowStop(); break; case 98: this.pushLocal(n.index); break; case 208: ; case 209: ; case 210: ; case 211: this.pushLocal(A - 208); break; case 99: this.popLocal(n.index); break; case 212: ; case 213: ; case 214: ; case 215: this.popLocal(A - 212); break; case 28: ; case 48: t.push(new g.IR.ASScope(this.topScope(), d(), 28 === A)); break; case 29: t.pop(); break; case 100: N(this.getGlobalScope()); break; case 101: N(this.getScopeObject(f.scope[n.index])); break; case 94: ; case 93: N(this.findProperty(this.popMultiname(), 93 === A)); break; case 102: v = this.popMultiname(); B = d(); N(this.getProperty(B, v, !1)); break; case 89: v = this.popMultiname(); B = d(); N(this.getDescendants(B, v)); break; case 96: v = this.popMultiname(); N(this.getProperty(this.findProperty(v, !0), v, !1)); break; case 104: ; case 97: z = d(); v = this.popMultiname(); B = d(); this.setProperty(B, v, z); break; case 106: v = this.popMultiname(); B = d(); N(this.store(new g.IR.ASDeleteProperty(C, f.store, B, v))); break; case 108: B = d(); N(this.getSlot(B, a(n.index))); break; case 109: z = d(); B = d(); this.setSlot(B, a(n.index), z); break; case 4: v = this.popMultiname(); B = d(); N(this.getSuper(this.savedScope(), B, v)); break; case 5: z = d(); v = this.popMultiname(); B = d(); this.setSuper(this.savedScope(), B, v, z); break; case 241: ; case 240: break; case 64: N(x(this.builder.createFunctionCallee, [a(this.abc.methods[n.index]), this.topScope(), a(!0)])); break; case 65: z = e(n.argCount); B = d(); v = d(); N(this.callCall(v, B, z)); break; case 70: ; case 79: ; case 76: z = e(n.argCount); v = this.popMultiname(); B = d(); z = this.callProperty(B, v, z, 76 === A); 79 !== A && N(z); break; case 69: ; case 78: v = this.popMultiname(); z = e(n.argCount); B = d(); z = this.callSuper(this.savedScope(), B, v, z); 78 !== A && N(z); break; case 66: z = e(n.argCount); B = d(); N(this.store(new g.IR.ASNew(C, f.store, B, z))); break; case 73: z = e(n.argCount); B = d(); this.constructSuper(this.savedScope(), B, z); break; case 74: z = e(n.argCount); v = this.popMultiname(); B = d(); v = this.getProperty(B, v, !1); N(this.store(new g.IR.ASNew(C, f.store, v, z))); break; case 128: if (n.ti && n.ti.noCoercionNeeded) { k.countTimeline("Compiler: NoCoercionNeeded"); break; } else { k.countTimeline("Compiler: CoercionNeeded"); } z = d(); N(this.coerce(this.constantPool.multinames[n.index], z)); break; case 131: ; case 115: N(l(d())); break; case 136: ; case 116: N(u(d())); break; case 132: ; case 117: N(w(d())); break; case 129: ; case 118: N(r(d())); break; case 120: N(this.call(p("checkFilter"), null, [d()])); break; case 130: break; case 133: N(I(d())); break; case 112: N(G(d())); break; case 134: if (n.ti && n.ti.noCoercionNeeded) { k.countTimeline("Compiler: NoCoercionNeeded"); break; } else { k.countTimeline("Compiler: CoercionNeeded"); } z = d(); B = this.constantPool.multinames[n.index]; v = new g.IR.ASMultiname(a(B.namespaces), a(B.name), B.flags); B = this.getProperty(this.findProperty(v, !1), v); N(this.call(p("asAsType"), null, [B, z])); break; case 135: B = d(); z = d(); N(this.call(p("asAsType"), null, [B, z])); break; case 72: ; case 71: z = Q; 72 === A && (z = d(), this.methodInfo.returnType && (n.ti && n.ti.noCoercionNeeded || (z = this.coerce(this.methodInfo.returnType, z)))); this.builder.stopPoints.push({region:C, store:f.store, value:z}); this.setReturnStop(); break; case 30: ; case 35: z = d(); B = d(); N(new g.IR.CallProperty(C, f.store, B, a(30 === A ? "asNextName" : "asNextValue"), [z], 4)); break; case 50: z = new g.IR.ASNewHasNext2; this.setJSProperty(z, "object", s[n.object]); this.setJSProperty(z, "index", s[n.index]); this.store(new g.IR.CallProperty(C, f.store, oa(s[n.object]), a("asHasNext2"), [z], 4)); s[n.object] = this.getJSProperty(z, "object"); N(s[n.index] = this.getJSProperty(z, "index")); break; case 32: N(V); break; case 33: N(Q); break; case 38: N(U); break; case 39: N(S); break; case 40: N(a(NaN)); break; case 34: K(String(n)); break; case 36: ; case 37: N(a(n.value)); break; case 44: N(a(this.constantPool.strings[n.index])); break; case 45: N(a(this.constantPool.ints[n.index])); break; case 46: N(a(this.constantPool.uints[n.index])); break; case 47: N(a(this.constantPool.doubles[n.index])); break; case 41: d(); break; case 42: z = h(d()); N(z); N(z); break; case 43: f.stack.push(d(), d()); break; case 239: ; case 240: ; case 241: break; case 16: this.setJumpStop(); break; case 12: this.setIfStops(this.negatedTruthyCondition(H.LT)); break; case 15: this.setIfStops(this.negatedTruthyCondition(H.GE)); break; case 14: this.setIfStops(this.negatedTruthyCondition(H.GT)); break; case 13: this.setIfStops(this.negatedTruthyCondition(H.LE)); break; case 24: ; case 23: ; case 22: ; case 21: ; case 17: ; case 18: ; case 19: ; case 20: ; case 25: ; case 26: this.setIfStops(this.truthyCondition(c(A))); break; case 27: this.setSwitchStops(d()); break; case 160: B = d(); z = d(); v = m(z, B) ? H.ADD : b.AVM2.Runtime.useAsAdd ? H.AS_ADD : H.ADD; N(q(v, z, B)); break; case 161: ; case 162: ; case 163: ; case 164: ; case 165: ; case 166: ; case 167: ; case 168: ; case 169: ; case 170: ; case 171: ; case 172: ; case 173: ; case 174: ; case 175: ; case 176: ; case 144: ; case 150: ; case 151: this.pushExpression(c(A)); break; case 196: ; case 197: ; case 198: ; case 199: this.pushExpression(c(A), !0); break; case 145: ; case 192: ; case 147: ; case 193: N(a(1)); 145 === A || 147 === A ? N(w(d())) : N(l(d())); 145 === A || 192 === A ? this.pushExpression(H.ADD) : this.pushExpression(H.SUB); break; case 146: ; case 194: ; case 148: ; case 195: N(a(1)); 146 === A || 148 === A ? N(w(s[n.index])) : N(l(s[n.index])); 146 === A || 194 === A ? this.pushExpression(H.ADD) : this.pushExpression(H.SUB); this.popLocal(n.index); break; case 177: B = d(); z = d(); N(this.call(this.getJSProperty(B, "isInstanceOf"), null, [z])); break; case 178: z = d(); v = this.popMultiname(); B = this.getProperty(this.findProperty(v, !1), v); N(this.call(p("asIsType"), null, [B, z])); break; case 179: B = d(); z = d(); N(this.call(p("asIsType"), null, [B, z])); break; case 180: B = d(); z = d(); v = new g.IR.ASMultiname(Q, z, 0); N(this.store(new g.IR.ASHasProperty(C, f.store, B, v))); break; case 149: N(this.call(p("asTypeOf"), null, [d()])); break; case 8: N(Q); this.popLocal(n.index); break; case 83: z = e(n.argCount); B = d(); v = p("applyType"); N(this.call(v, null, [this.methodInfoConstant, B, new ga(C, z)])); break; case 86: z = e(n.argCount); N(new ga(C, z)); break; case 85: B = []; for (v = 0;v < n.argCount;v++) { z = d(); var D = d(); F(W(D) && b.isString(D.value)); D = a(E.getPublicQualifiedName(D.value)); B.push(new ka(D, z)); } N(new ca(C, B)); break; case 87: N(new g.IR.ASNewActivation(a(this.methodInfo))); break; case 88: v = p("createClass"); N(this.call(v, null, [a(this.abc.classes[n.index]), d(), this.topScope()])); break; default: K(String(n)); } 239 !== A && 241 !== A && 240 !== A && this.traceBuilder && ha.writeLn(("state: " + f.toString()).padRight(" ", 100) + " : " + J + ", " + n.toString(this.abc)); } this.traceBuilder && ha.leave(("< state: " + f.toString()).padRight(" ", 100)); }; return d; }(), na = function() { function c(a, h, d) { F(a && a.abc && h); this.abc = a.abc; this.methodInfoConstant = new v(a); this.scope = h; this.methodInfo = a; this.hasDynamicScope = d; this.traceBuilder = 3 < b.AVM2.Compiler.traceLevel.value; this.createFunctionCallee = p("createFunction"); this.stopPoints = []; this.bytecodes = this.methodInfo.analysis.bytecodes; } c.prototype.buildStart = function(b) { var c = this.methodInfo, h = b.entryState = new ja(0); h.local.push(new aa(b)); for (var d = this.hasDynamicScope ? 1 : 0, e = c.parameters.length, l = 0;l < e;l++) { h.local.push(new Y(b, d + l, c.parameters[l].name)); } for (l = e;l < c.localCount;l++) { h.local.push(Q); } h.store = new $(b, 3); b.scope = this.hasDynamicScope ? new Y(b, 0, z.SAVED_SCOPE_NAME) : new v(this.scope); h.saved = new $(b, 4); l = new g.IR.Arguments(b); if (c.needsRest() || c.needsArguments()) { var r = a(d + (c.needsRest() ? e : 0)); h.local[e + 1] = new X(b, h.store, p("sliceArguments"), null, [l, r], 4); } b = n(h, l, "length"); for (l = 0;l < e;l++) { var f = c.parameters[l], r = l + 1, q = h.local[r]; if (void 0 !== f.value) { var m; m = new g.IR.Binary(H.LT, b, a(d + l + 1)); q = new g.IR.Latch(null, m, a(f.value), q); } f.type && !f.type.isAnyName() && (f = C(f.type)) && (q = f(q)); h.local[r] = q; } }; c.prototype.buildGraph = function() { for (var a = this.methodInfo.analysis.blocks, c = this.traceBuilder, h = 0;h < a.length;h++) { a[h].bdo = h, a[h].region = null; } var d = new b.SortedList(function(a, b) { return a.block.bdo - b.block.bdo; }), h = new L; this.buildStart(h); for (d.push({region:h, block:a[0]});a = d.pop();) { this.buildBlock(a.region, a.block, a.region.entryState.clone()).forEach(function(a) { var b = a.target, h = b.region; if (h) { c && ha.enter("Merging into region: " + h + " @ " + b.position + ", block " + b.bid + " {"), c && ha.writeLn(" R " + h.entryState), c && ha.writeLn("+ I " + a.state), h.entryState.merge(h, a.state), h.predecessors.push(a.control), c && ha.writeLn(" = " + h.entryState), c && ha.leave("}"); } else { var h = b.region = new M(a.control), e = null; b.loop && (e = g.enableDirtyLocals.value && b.loop.getDirtyLocals(), c && ha.writeLn("Adding PHIs to loop region. " + e)); h.entryState = b.loop ? a.state.makeLoopPhis(h, e) : a.state.clone(b.position); c && ha.writeLn("Adding new region: " + h + " @ " + b.position + " to worklist."); d.push({region:h, block:b}); } }), c && ha.enter("Worklist: {"), d.forEach(function(a) { c && ha.writeLn(a.region + " " + a.block.bdo + " " + a.region.entryState); }), c && ha.leave("}"); } c && ha.writeLn("Done"); if (1 < this.stopPoints.length) { var e = new M(null), l = new ba(e, null), n = new ba(e, null); this.stopPoints.forEach(function(a) { e.predecessors.push(a.region); l.pushValue(a.value); n.pushValue(a.store); }); a = new R(e, n, l); } else { a = new R(this.stopPoints[0].region, this.stopPoints[0].store, this.stopPoints[0].value); } return new g.IR.DFG(a); }; c.prototype.buildBlock = function(a, b, c) { F(a && b && c); c.optimize(); var h = b.verifierEntryState; if (h) { this.traceBuilder && ha.writeLn("Type State: " + h); for (var d = 0;d < h.local.length;d++) { var e = h.local[d], l = c.local[d]; l.ty || (l.ty = e); } } b = new pa(this, a, b, c); b.build(); h = b.stops; h || (h = [], b.bc.position + 1 <= this.bytecodes.length && h.push({control:a, target:this.bytecodes[b.bc.position + 1], state:c})); return h; }; c.buildMethod = function(a, h, d, e) { F(d); F(h.analysis); F(!h.hasExceptions()); k.countTimeline("Compiler: Compiled Methods"); k.enterTimeline("Compiler"); k.enterTimeline("Mark Loops"); h.analysis.markLoops(); k.leaveTimeline(); b.AVM2.Verifier.enabled.value && (k.enterTimeline("Verify"), a.verifyMethod(h, d), k.leaveTimeline()); a = 0 < b.AVM2.Compiler.traceLevel.value; var l = 1 < b.AVM2.Compiler.traceLevel.value, n = 2 < b.AVM2.Compiler.traceLevel.value; if (a) { var r = window.performance.now() } k.enterTimeline("Build IR"); D.startNumbering(); d = (new c(h, d, e)).buildGraph(); k.leaveTimeline(); n && d.trace(ha); k.enterTimeline("Build CFG"); d = d.buildCFG(); k.leaveTimeline(); k.enterTimeline("Optimize Phis"); d.optimizePhis(); k.leaveTimeline(); k.enterTimeline("Schedule Nodes"); d.scheduleEarly(); k.leaveTimeline(); n && d.trace(ha); k.enterTimeline("Verify IR"); d.verify(); k.leaveTimeline(); k.enterTimeline("Allocate Variables"); d.allocateVariables(); k.leaveTimeline(); k.enterTimeline("Generate Source"); n = b.AVM2.Compiler.Backend.generate(d); k.leaveTimeline(); l && ha.writeLn(n.body); D.stopNumbering(); k.leaveTimeline(); a && ha.writeLn("Compiled " + (h.name ? "function " + h.name : "anonymous function") + " in " + (window.performance.now() - r).toPrecision(2) + "ms"); return n; }; return c; }(), fa = new b.AVM2.Verifier.Verifier; g.compileMethod = function(a, b, c) { return na.buildMethod(fa, a, b, c); }; })(k.Compiler || (k.Compiler = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { function f(b, d) { var e = new c(null, b), h = b.abc.applicationDomain, l = []; k(b.init, d, e, l, !1); b.traits.forEach(function(b) { if (b.isClass()) { for (var n = [], f = b.classInfo;f;) { if (n.unshift(f), f.instanceInfo.superName) { f = h.findClassInfo(f.instanceInfo.superName); } else { break; } } var p = e; n.forEach(function(a) { p = new c(p, a); }); a(b.classInfo, d, p, l); } else { (b.isMethod() || b.isGetter() || b.isSetter()) && m(b, d, e, l); } }); l.forEach(function(a) { k(a.methodInfo, d, a.scope, null, !0); }); } function k(a, b, c, h, d) { if (n(a)) { p(a); try { l = !1; var f = e(a, c, d, !1, !1); b.enter(a.index + ": "); l ? b.writeLn("undefined") : b.writeLns(f.toSource()); b.leave(","); h && s(a, b, c, h); } catch (g) { b.writeLn("// " + g); } } else { b.writeLn("// Can't compile method: " + a.index); } } function s(a, b, d, h) { for (var e = a.analysis.bytecodes, l = a.abc.methods, n = 0;n < e.length;n++) { var f = e[n]; if (64 === f.op) { f = l[f.index]; p(f); var g = new c(d, a); h.push({scope:g, methodInfo:f}); s(f, b, g, h); } } } function m(a, b, c, h) { (a.isMethod() || a.isGetter() || a.isSetter()) && a.methodInfo.hasBody && (b.writeLn("// " + a), k(a.methodInfo, b, c, h, !1)); } function d(a, b, c, h) { a.forEach(function(a) { m(a, b, c, h); }); } function a(a, b, c, h) { k(a.init, b, c, h, !1); d(a.traits, b, c, h); k(a.instanceInfo.init, b, c, h, !1); d(a.instanceInfo.traits, b, c, h); } var c = b.AVM2.Runtime.Scope, n = b.AVM2.Runtime.canCompile, p = b.AVM2.Runtime.ensureFunctionIsInitialized, e = b.AVM2.Runtime.createCompiledFunction, q = b.AVM2.Runtime.LazyInitializer, l = !1; jsGlobal.objectConstantName = function(a) { if (a.hash) { return "$(" + a.hash + ")"; } if (a instanceof q) { return a.getName(); } l = !0; }; g.compileAbc = function(a, b) { b.enter("{"); b.enter("methods: {"); for (var c = 0;c < a.scripts.length;c++) { f(a.scripts[c], b); } b.leave("}"); b.leave("}"); }; })(k.Compiler || (k.Compiler = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { function g(a) { var b = a.length, c = [], h; for (h = 0;h < b;++h) { c[h] = a.charAt(h); } return c; } function k(b) { if (null === b) { return "null"; } if ("string" === typeof b) { var h, e, l, r, f = 0, q = 0, m = b; h = c[m]; if (!h) { 1024 === a && (c = Object.create(null), a = 0); h = ""; "undefined" === typeof b[0] && (b = g(b)); e = 0; for (l = b.length;e < l;++e) { r = b[e]; if ("'" === r) { ++f; } else { if ('"' === r) { ++q; } else { if (0 <= "\\\n\r\u2028\u2029".indexOf(r)) { var x = "\\"; switch(r) { case "\\": x += "\\"; break; case "\n": x += "n"; break; case "\r": x += "r"; break; case "\u2028": x += "u2028"; break; case "\u2029": x += "u2029"; break; default: throw Error("Incorrectly classified character");; } h += x; continue; } else { if (!(" " <= r && "~" >= r)) { var x = b[e + 1], w = r.charCodeAt(0), u = w.toString(16), s = "\\"; switch(r) { case "\b": s += "b"; break; case "\f": s += "f"; break; case "\t": s += "t"; break; default: s = 255 < w ? s + ("u" + "0000".slice(u.length) + u) : "\x00" === r && 0 > "0123456789".indexOf(x) ? s + "0" : "\x0B" === r ? s + "x0B" : s + ("x" + "00".slice(u.length) + u); } h += s; continue; } } } } h += r; } b = h; h = '"'; "undefined" === typeof b[0] && (b = g(b)); e = 0; for (l = b.length;e < l;++e) { r = b[e], '"' === r && (h += "\\"), h += r; } h += '"'; c[m] = h; a++; } return h; } if ("number" === typeof b) { if (b !== b) { throw Error("Numeric literal whose value is NaN"); } if (0 > b || 0 === b && 0 > 1 / b) { throw Error("Numeric literal whose value is negative"); } b === 1 / 0 ? b = "1e+400" : (e = p[b], e || (1024 === n && (p = Object.create(null), n = 0), e = "" + b, p[b] = e, n++), b = e); return b; } if ("boolean" === typeof b) { return b ? "true" : "false"; } d(b); } function m(a, b, c) { for (var h = "", d = 0;d < a.length;d++) { h += a[d].toSource(b), c && d < a.length - 1 && (h += c); } return h; } var d = b.Debug.notImplemented, a = 0, c = Object.create(null), n = 0, p = Object.create(null), e = {"||":3, "&&":4, "|":5, "^":6, "&":7, "==":8, "!=":8, "===":8, "!==":8, is:8, isnt:8, "<":9, ">":9, "<=":9, ">=":9, "in":9, "instanceof":9, "<<":10, ">>":10, ">>>":10, "+":11, "-":11, "*":12, "%":12, "/":12}, q = function() { function a() { } a.prototype.toSource = function(a) { d(this.type); return ""; }; return a; }(); f.Node = q; var l = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(q); f.Statement = l; var u = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(q); f.Expression = u; var w = function(a) { function b(c) { a.call(this); this.body = c; } __extends(b, a); return b; }(q); f.Program = w; var r = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(l); f.EmptyStatement = r; var h = function(a) { function b(c) { a.call(this); this.body = c; } __extends(b, a); b.prototype.toSource = function(a) { return "{\n" + m(this.body, a) + "}"; }; return b; }(l); f.BlockStatement = h; var x = function(a) { function b(c) { a.call(this); this.expression = c; } __extends(b, a); b.prototype.toSource = function(a) { return this.expression.toSource(0) + ";\n"; }; return b; }(l); f.ExpressionStatement = x; var y = function(a) { function b(c, h, d) { a.call(this); this.test = c; this.consequent = h; this.alternate = d; } __extends(b, a); b.prototype.toSource = function(a) { a = "if(" + this.test.toSource(0) + "){" + this.consequent.toSource(0) + "}"; this.alternate && (a += "else{" + this.alternate.toSource(0) + "}"); return a; }; return b; }(l); f.IfStatement = y; var G = function(a) { function b(c, h) { a.call(this); this.label = c; this.body = h; } __extends(b, a); return b; }(l); f.LabeledStatement = G; var I = function(a) { function b(c) { a.call(this); this.label = c; } __extends(b, a); b.prototype.toSource = function(a) { a = "break"; this.label && (a += " " + this.label.toSource(0)); return a + ";"; }; return b; }(l); f.BreakStatement = I; var C = function(a) { function b(c) { a.call(this); this.label = c; } __extends(b, a); b.prototype.toSource = function(a) { a = "continue"; this.label && (a += " " + this.label.toSource(0)); return a + ";"; }; return b; }(l); f.ContinueStatement = C; var E = function(a) { function b(c, h) { a.call(this); this.object = c; this.body = h; } __extends(b, a); return b; }(l); f.WithStatement = E; var O = function(a) { function b(c, h, d) { a.call(this); this.discriminant = c; this.cases = h; this.lexical = d; } __extends(b, a); b.prototype.toSource = function(a) { return "switch(" + this.discriminant.toSource(0) + "){" + m(this.cases, 0, ";") + "};"; }; return b; }(l); f.SwitchStatement = O; var K = function(a) { function b(c) { a.call(this); this.argument = c; } __extends(b, a); b.prototype.toSource = function(a) { a = "return "; this.argument && (a += this.argument.toSource(0)); return a + ";\n"; }; return b; }(l); f.ReturnStatement = K; var F = function(a) { function b(c) { a.call(this); this.argument = c; } __extends(b, a); b.prototype.toSource = function(a) { return "throw " + this.argument.toSource(0) + ";\n"; }; return b; }(l); f.ThrowStatement = F; var J = function(a) { function b(c, h, d, e) { a.call(this); this.block = c; this.handlers = h; this.guardedHandlers = d; this.finalizer = e; } __extends(b, a); return b; }(l); f.TryStatement = J; var A = function(a) { function b(c, h) { a.call(this); this.test = c; this.body = h; } __extends(b, a); b.prototype.toSource = function(a) { return "while(" + this.test.toSource(0) + "){" + this.body.toSource(0) + "}"; }; return b; }(l); f.WhileStatement = A; var B = function(a) { function b(c, h) { a.call(this); this.body = c; this.test = h; } __extends(b, a); return b; }(l); f.DoWhileStatement = B; var z = function(a) { function b(c, h, d, e) { a.call(this); this.init = c; this.test = h; this.update = d; this.body = e; } __extends(b, a); return b; }(l); f.ForStatement = z; var P = function(a) { function b(c, h, d, e) { a.call(this); this.left = c; this.right = h; this.body = d; this.each = e; } __extends(b, a); return b; }(l); f.ForInStatement = P; var D = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(l); f.DebuggerStatement = D; var L = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(l); f.Declaration = L; var M = function(a) { function b(c, h, d, e, l, n, r) { a.call(this); this.id = c; this.params = h; this.defaults = d; this.rest = e; this.body = l; this.generator = n; this.expression = r; } __extends(b, a); return b; }(L); f.FunctionDeclaration = M; var V = function(a) { function b(c, h) { a.call(this); this.declarations = c; this.kind = h; } __extends(b, a); b.prototype.toSource = function(a) { return this.kind + " " + m(this.declarations, a, ",") + ";\n"; }; return b; }(L); f.VariableDeclaration = V; var Q = function(a) { function b(c, h) { a.call(this); this.id = c; this.init = h; } __extends(b, a); b.prototype.toSource = function(a) { a = this.id.toSource(1); this.init && (a += "=" + this.init.toSource(1)); return a; }; return b; }(q); f.VariableDeclarator = Q; var U = function(a) { function b(c) { a.call(this); this.name = c; } __extends(b, a); b.prototype.toSource = function(a) { return this.name; }; return b; }(u); f.Identifier = U; var S = function(a) { function b(c) { a.call(this); this.value = c; } __extends(b, a); b.prototype.toSource = function(a) { return k(this.value); }; return b; }(u); f.Literal = S; var aa = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); b.prototype.toSource = function(a) { return "this"; }; return b; }(u); f.ThisExpression = aa; var $ = function(a) { function b(c) { a.call(this); this.elements = c; } __extends(b, a); b.prototype.toSource = function(a) { return "[" + m(this.elements, 1, ",") + "]"; }; return b; }(u); f.ArrayExpression = $; var ea = function(a) { function b(c) { a.call(this); this.properties = c; } __extends(b, a); b.prototype.toSource = function(a) { return "{" + m(this.properties, 0, ",") + "}"; }; return b; }(u); f.ObjectExpression = ea; var Z = function(a) { function b(c, h, d, e, l, n, r) { a.call(this); this.id = c; this.params = h; this.defaults = d; this.rest = e; this.body = l; this.generator = n; this.expression = r; } __extends(b, a); return b; }(u); f.FunctionExpression = Z; var v = function(a) { function b(c) { a.call(this); this.expressions = c; } __extends(b, a); return b; }(u); f.SequenceExpression = v; var X = function(a) { function b(c, h, d) { a.call(this); this.operator = c; this.prefix = h; this.argument = d; } __extends(b, a); b.prototype.toSource = function(a) { var b = this.argument.toSource(13), b = this.prefix ? this.operator + b : b + this.operator, b = " " + b; return 13 < a ? "(" + b + ")" : b; }; return b; }(u); f.UnaryExpression = X; var ba = function(a) { function b(c, h, d) { a.call(this); this.operator = c; this.left = h; this.right = d; } __extends(b, a); b.prototype.toSource = function(a) { var b = e[this.operator], c = this.left.toSource(b) + this.operator + this.right.toSource(b + 1); return b < a ? "(" + c + ")" : c; }; return b; }(u); f.BinaryExpression = ba; var R = function(a) { function b(c, h, d) { a.call(this); this.operator = c; this.left = h; this.right = d; } __extends(b, a); b.prototype.toSource = function(a) { var b = this.left.toSource(1) + this.operator + this.right.toSource(1); return 1 < a ? "(" + b + ")" : b; }; return b; }(u); f.AssignmentExpression = R; var H = function(a) { function b(c, h, d) { a.call(this); this.operator = c; this.argument = h; this.prefix = d; } __extends(b, a); return b; }(u); f.UpdateExpression = H; var Y = function(a) { function b(c, h, d) { a.call(this, c, h, d); } __extends(b, a); return b; }(ba); f.LogicalExpression = Y; var ga = function(a) { function b(c, h, d) { a.call(this); this.test = c; this.consequent = h; this.alternate = d; } __extends(b, a); b.prototype.toSource = function(a) { return this.test.toSource(3) + "?" + this.consequent.toSource(1) + ":" + this.alternate.toSource(1); }; return b; }(u); f.ConditionalExpression = ga; var ca = function(a) { function b(c, h) { a.call(this); this.callee = c; this.arguments = h; } __extends(b, a); b.prototype.toSource = function(a) { return "new " + this.callee.toSource(a) + "(" + m(this.arguments, a, ",") + ")"; }; return b; }(u); f.NewExpression = ca; var ka = function(a) { function b(c, h) { a.call(this); this.callee = c; this.arguments = h; } __extends(b, a); b.prototype.toSource = function(a) { return this.callee.toSource(a) + "(" + m(this.arguments, a, ",") + ")"; }; return b; }(u); f.CallExpression = ka; var W = function(a) { function b(c, h, d) { a.call(this); this.object = c; this.property = h; this.computed = d; } __extends(b, a); b.prototype.toSource = function(a) { var b = this.object.toSource(15); this.object instanceof S && (b = "(" + b + ")"); var c = this.property.toSource(0), b = this.computed ? b + ("[" + c + "]") : b + ("." + c); return 17 < a ? "(" + b + ")" : b; }; return b; }(u); f.MemberExpression = W; var ha = function(a) { function b(c, h, d) { a.call(this); this.key = c; this.value = h; this.kind = d; } __extends(b, a); b.prototype.toSource = function(a) { return this.key.toSource(a) + ":" + this.value.toSource(a); }; return b; }(q); f.Property = ha; var da = function(a) { function b(c, h) { a.call(this); this.test = c; this.consequent = h; } __extends(b, a); b.prototype.toSource = function(a) { return(this.test ? "case " + this.test.toSource(a) : "default") + ": " + m(this.consequent, a, ";"); }; return b; }(q); f.SwitchCase = da; var ja = function(a) { function b(c, h, d) { a.call(this); this.param = c; this.guard = h; this.body = d; } __extends(b, a); return b; }(q); f.CatchClause = ja; q.prototype.type = "Node"; w.prototype.type = "Program"; l.prototype.type = "Statement"; r.prototype.type = "EmptyStatement"; h.prototype.type = "BlockStatement"; x.prototype.type = "ExpressionStatement"; y.prototype.type = "IfStatement"; G.prototype.type = "LabeledStatement"; I.prototype.type = "BreakStatement"; C.prototype.type = "ContinueStatement"; E.prototype.type = "WithStatement"; O.prototype.type = "SwitchStatement"; K.prototype.type = "ReturnStatement"; F.prototype.type = "ThrowStatement"; J.prototype.type = "TryStatement"; A.prototype.type = "WhileStatement"; B.prototype.type = "DoWhileStatement"; z.prototype.type = "ForStatement"; P.prototype.type = "ForInStatement"; D.prototype.type = "DebuggerStatement"; L.prototype.type = "Declaration"; M.prototype.type = "FunctionDeclaration"; V.prototype.type = "VariableDeclaration"; Q.prototype.type = "VariableDeclarator"; u.prototype.type = "Expression"; U.prototype.type = "Identifier"; S.prototype.type = "Literal"; aa.prototype.type = "ThisExpression"; $.prototype.type = "ArrayExpression"; ea.prototype.type = "ObjectExpression"; Z.prototype.type = "FunctionExpression"; v.prototype.type = "SequenceExpression"; X.prototype.type = "UnaryExpression"; ba.prototype.type = "BinaryExpression"; R.prototype.type = "AssignmentExpression"; H.prototype.type = "UpdateExpression"; Y.prototype.type = "LogicalExpression"; ga.prototype.type = "ConditionalExpression"; ca.prototype.type = "NewExpression"; ka.prototype.type = "CallExpression"; W.prototype.type = "MemberExpression"; ha.prototype.type = "Property"; da.prototype.type = "SwitchCase"; ja.prototype.type = "CatchClause"; })(g.AST || (g.AST = {})); })(k.Compiler || (k.Compiler = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(b) { var g = function(b) { function d(a, c, d) { b.call(this); this.parent = a; this.object = c; this.isWith = d; } __extends(d, b); d.prototype.visitInputs = function(a) { a(this.parent); a(this.object); }; return d; }(b.Value); b.ASScope = g; g.prototype.nodeName = "ASScope"; g = function(b) { function d(a, c, d) { b.call(this); this.namespaces = a; this.name = c; this.flags = d; } __extends(d, b); d.prototype.visitInputs = function(a) { a(this.namespaces); a(this.name); }; return d; }(b.Value); b.ASMultiname = g; g.prototype.mustFloat = !0; g.prototype.nodeName = "ASMultiname"; g = function(b) { function d(a, c, d, f, e, g, l) { b.call(this, a, c, d, f, e, g); this.isLex = l; } __extends(d, b); return d; }(b.CallProperty); b.ASCallProperty = g; g.prototype.nodeName = "ASCallProperty"; g = function(b) { function d(a, c, d, f, e, g, l) { b.call(this, a, c, d, f, e, g); this.scope = l; } __extends(d, b); d.prototype.visitInputs = function(a) { b.prototype.visitInputs.call(this, a); a(this.scope); }; return d; }(b.CallProperty); b.ASCallSuper = g; g.prototype.nodeName = "ASCallSuper"; g = function(b) { function d(a, c, d, f) { b.call(this, a, c, d, f); } __extends(d, b); return d; }(b.New); b.ASNew = g; g.prototype.nodeName = "ASNew"; g = function(b) { function d(a, c, d, f, e) { b.call(this, a, c, d, f); this.flags = e; } __extends(d, b); return d; }(b.GetProperty); b.ASGetProperty = g; g.prototype.nodeName = "ASGetProperty"; g = function(b) { function d(a, c, d, f) { b.call(this, a, c, d, f); } __extends(d, b); return d; }(b.GetProperty); b.ASGetDescendants = g; g.prototype.nodeName = "ASGetDescendants"; g = function(b) { function d(a, c, d, f) { b.call(this, a, c, d, f); } __extends(d, b); return d; }(b.GetProperty); b.ASHasProperty = g; g.prototype.nodeName = "ASHasProperty"; g = function(b) { function d(a, c, d, f) { b.call(this, a, c, d, f); } __extends(d, b); return d; }(b.GetProperty); b.ASGetSlot = g; g.prototype.nodeName = "ASGetSlot"; g = function(b) { function d(a, c, d, f, e) { b.call(this, a, c, d, f); this.scope = e; } __extends(d, b); d.prototype.visitInputs = function(a) { b.prototype.visitInputs.call(this, a); a(this.scope); }; return d; }(b.GetProperty); b.ASGetSuper = g; g.prototype.nodeName = "ASGetSuper"; g = function(b) { function d(a, c, d, f, e, g) { b.call(this, a, c, d, f, e); this.flags = g; } __extends(d, b); return d; }(b.SetProperty); b.ASSetProperty = g; g.prototype.nodeName = "ASSetProperty"; g = function(b) { function d(a, c, d, f, e) { b.call(this, a, c, d, f, e); } __extends(d, b); return d; }(b.SetProperty); b.ASSetSlot = g; g.prototype.nodeName = "ASSetSlot"; g = function(b) { function d(a, c, d, f, e, g) { b.call(this, a, c, d, f, e); this.scope = g; } __extends(d, b); d.prototype.visitInputs = function(a) { b.prototype.visitInputs.call(this, a); a(this.scope); }; return d; }(b.SetProperty); b.ASSetSuper = g; g.prototype.nodeName = "ASSetSuper"; g = function(b) { function d(a, c, d, f) { b.call(this, a, c, d, f); } __extends(d, b); return d; }(b.DeleteProperty); b.ASDeleteProperty = g; g.prototype.nodeName = "ASDeleteProperty"; g = function(b) { function d(a, c, d, f, e, g) { b.call(this, a, c); this.scope = d; this.name = f; this.methodInfo = e; this.strict = g; } __extends(d, b); d.prototype.visitInputs = function(a) { b.prototype.visitInputs.call(this, a); a(this.scope); a(this.name); }; return d; }(b.StoreDependent); b.ASFindProperty = g; g.prototype.nodeName = "ASFindProperty"; g = function(b) { function d(a, c) { b.call(this); this.control = a; this.scope = c; } __extends(d, b); d.prototype.visitInputs = function(a) { this.control && a(this.control); a(this.scope); }; return d; }(b.Value); b.ASGlobal = g; g.prototype.nodeName = "ASGlobal"; g = function(b) { function d(a) { b.call(this); this.methodInfo = a; } __extends(d, b); return d; }(b.Value); b.ASNewActivation = g; g.prototype.nodeName = "ASNewActivation"; var k = function(b) { function d() { b.call(this); } __extends(d, b); return d; }(b.Value); b.ASNewHasNext2 = k; g.prototype.nodeName = "ASNewHasNext2"; })(b.IR || (b.IR = {})); })(b.Compiler || (b.Compiler = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { var g = b.ArrayUtilities.top, s = b.ArrayUtilities.peek, m = b.Debug.assert; (function(a) { (function(a) { a[a.SEQ = 1] = "SEQ"; a[a.LOOP = 2] = "LOOP"; a[a.IF = 3] = "IF"; a[a.CASE = 4] = "CASE"; a[a.SWITCH = 5] = "SWITCH"; a[a.LABEL_CASE = 6] = "LABEL_CASE"; a[a.LABEL_SWITCH = 7] = "LABEL_SWITCH"; a[a.EXIT = 8] = "EXIT"; a[a.BREAK = 9] = "BREAK"; a[a.CONTINUE = 10] = "CONTINUE"; a[a.TRY = 11] = "TRY"; a[a.CATCH = 12] = "CATCH"; })(a.Kind || (a.Kind = {})); var b = function() { return function(a) { this.kind = a; }; }(); a.ControlNode = b; var c = function(a) { function b(c) { a.call(this, 1); this.body = c; } __extends(b, a); b.prototype.trace = function(a) { for (var b = this.body, c = 0, d = b.length;c < d;c++) { b[c].trace(a); } }; b.prototype.first = function() { return this.body[0]; }; b.prototype.slice = function(a, c) { return new b(this.body.slice(a, c)); }; return b; }(b); a.Seq = c; c = function(a) { function b(c) { a.call(this, 2); this.body = c; } __extends(b, a); b.prototype.trace = function(a) { a.enter("loop {"); this.body.trace(a); a.leave("}"); }; return b; }(b); a.Loop = c; c = function(a) { function b(c, d, e, l) { a.call(this, 3); this.cond = c; this.then = d; this.nothingThrownLabel = l; this.negated = !1; this.else = e; } __extends(b, a); b.prototype.trace = function(a) { this.cond.trace(a); this.nothingThrownLabel && a.enter("if (label is " + this.nothingThrownLabel + ") {"); a.enter("if" + (this.negated ? " not" : "") + " {"); this.then && this.then.trace(a); this.else && (a.outdent(), a.enter("} else {"), this.else.trace(a)); a.leave("}"); this.nothingThrownLabel && a.leave("}"); }; return b; }(b); a.If = c; c = function(a) { function b(c, d) { a.call(this, 4); this.index = c; this.body = d; } __extends(b, a); b.prototype.trace = function(a) { 0 <= this.index ? a.writeLn("case " + this.index + ":") : a.writeLn("default:"); a.indent(); this.body && this.body.trace(a); a.outdent(); }; return b; }(b); a.Case = c; c = function(a) { function b(c, d, e) { a.call(this, 5); this.determinant = c; this.cases = d; this.nothingThrownLabel = e; } __extends(b, a); b.prototype.trace = function(a) { this.nothingThrownLabel && a.enter("if (label is " + this.nothingThrownLabel + ") {"); this.determinant.trace(a); a.writeLn("switch {"); for (var b = 0, c = this.cases.length;b < c;b++) { this.cases[b].trace(a); } a.writeLn("}"); this.nothingThrownLabel && a.leave("}"); }; return b; }(b); a.Switch = c; c = function(a) { function b(c, d) { a.call(this, 6); this.labels = c; this.body = d; } __extends(b, a); b.prototype.trace = function(a) { a.enter("if (label is " + this.labels.join(" or ") + ") {"); this.body && this.body.trace(a); a.leave("}"); }; return b; }(b); a.LabelCase = c; c = function(a) { function b(c) { a.call(this, 7); this.cases = c; for (var d = {}, e = 0, l = c.length;e < l;e++) { for (var n = c[e], r = 0, f = n.labels.length;r < f;r++) { d[n.labels[r]] = n; } } this.labelMap = d; } __extends(b, a); b.prototype.trace = function(a) { for (var b = 0, c = this.cases.length;b < c;b++) { this.cases[b].trace(a); } }; return b; }(b); a.LabelSwitch = c; c = function(a) { function b(c) { a.call(this, 8); this.label = c; } __extends(b, a); b.prototype.trace = function(a) { a.writeLn("label = " + this.label); }; return b; }(b); a.Exit = c; c = function(a) { function b(c, d) { a.call(this, 9); this.label = c; this.head = d; } __extends(b, a); b.prototype.trace = function(a) { this.label && a.writeLn("label = " + this.label); a.writeLn("break"); }; return b; }(b); a.Break = c; c = function(a) { function b(c, d) { a.call(this, 10); this.label = c; this.head = d; this.necessary = !0; } __extends(b, a); b.prototype.trace = function(a) { this.label && a.writeLn("label = " + this.label); this.necessary && a.writeLn("continue"); }; return b; }(b); a.Continue = c; c = function(a) { function b(c, d) { a.call(this, 11); this.body = c; this.catches = d; } __extends(b, a); b.prototype.trace = function(a) { a.enter("try {"); this.body.trace(a); a.writeLn("label = " + this.nothingThrownLabel); for (var b = 0, c = this.catches.length;b < c;b++) { this.catches[b].trace(a); } a.leave("}"); }; return b; }(b); a.Try = c; b = function(a) { function b(c, d, e) { a.call(this, 12); this.varName = c; this.typeName = d; this.body = e; } __extends(b, a); b.prototype.trace = function(a) { a.outdent(); a.enter("} catch (" + (this.varName || "e") + (this.typeName ? " : " + this.typeName : "") + ") {"); this.body.trace(a); }; return b; }(b); a.Catch = b; })(f.Control || (f.Control = {})); var d = f.Control, a = b.BitSets.BITS_PER_WORD, c = b.BitSets.ADDRESS_BITS_PER_WORD, n = b.BitSets.BIT_INDEX_MASK, p = function(b) { function d(a, c) { b.call(this, a); this.blockById = c; } __extends(d, b); d.prototype.forEachBlock = function(b) { m(b); for (var c = this.blockById, d = this.bits, h = 0, e = d.length;h < e;h++) { var l = d[h]; if (l) { for (var n = 0;n < a;n++) { l & 1 << n && b(c[h * a + n]); } } } }; d.prototype.choose = function() { for (var b = this.blockById, c = this.bits, d = 0, h = c.length;d < h;d++) { var e = c[d]; if (e) { for (var l = 0;l < a;l++) { if (e & 1 << l) { return b[d * a + l]; } } } } }; d.prototype.members = function() { for (var b = this.blockById, c = [], d = this.bits, h = 0, e = d.length;h < e;h++) { var l = d[h]; if (l) { for (var n = 0;n < a;n++) { l & 1 << n && c.push(b[h * a + n]); } } } return c; }; d.prototype.setBlocks = function(a) { for (var b = this.bits, d = 0, h = a.length;d < h;d++) { var e = a[d].id; b[e >> c] |= 1 << (e & n); } }; return d; }(b.BitSets.Uint32ArrayBitSet); f.BlockSet = p; var e = function() { function a(b) { this.makeBlockSetFactory(b.blocks.length, b.blocks); this.hasExceptions = !1; this.normalizeReachableBlocks(b.root); } a.prototype.makeBlockSetFactory = function(a, b) { m(!this.boundBlockSet); this.boundBlockSet = function() { return new p(a, b); }; }; a.prototype.normalizeReachableBlocks = function(a) { m(0 === a.predecessors.length); var b = this.boundBlockSet, c = [], d = {}, h = {}, e = [a]; for (h[a.id] = !0;a = g(e);) { if (d[a.id]) { 1 === d[a.id] && (d[a.id] = 2, c.push(a)), h[a.id] = !1, e.pop(); } else { d[a.id] = 1; h[a.id] = !0; for (var n = a.successors, f = 0, p = n.length;f < p;f++) { var q = n[f]; h[q.id] && (a.spbacks || (a.spbacks = new b), a.spbacks.set(q.id)); !d[q.id] && e.push(q); } } } this.blocks = c.reverse(); }; a.prototype.computeDominance = function() { var a = this.blocks, b = a.length, c = Array(b); c[0] = 0; for (var d = [], h = 0;h < b;h++) { d[a[h].id] = h, a[h].dominatees = []; } for (var e = !0;e;) { for (e = !1, h = 1;h < b;h++) { var n = a[h].predecessors, f = n.length, g = d[n[0].id]; if (!(g in c)) { for (var p = 1;p < f && !(g = d[n[p].id], g in c);p++) { } } m(g in c); for (p = 0;p < f;p++) { var q = d[n[p].id]; if (q !== g && q in c) { for (;q !== g;) { for (;q > g;) { q = c[q]; } for (;g > q;) { g = c[g]; } } g = q; } } c[h] !== g && (c[h] = g, e = !0); } } a[0].dominator = a[0]; for (h = 1;h < b;h++) { d = a[h], p = a[c[h]], d.dominator = p, p.dominatees.push(d), d.npredecessors = d.predecessors.length; } b = [a[0]]; for (a[0].level || (a[0].level = 0);d = b.shift();) { a = d.dominatees; for (p = 0;p < a.length;p++) { a[p].level = d.level + 1; } b.push.apply(b, a); } }; a.prototype.computeFrontiers = function() { for (var a = this.boundBlockSet, b = this.blocks, c = 0, d = b.length;c < d;c++) { b[c].frontier = new a; } c = 1; for (d = b.length;c < d;c++) { var a = b[c], h = a.predecessors; if (2 <= h.length) { for (var e = a.dominator, n = 0, f = h.length;n < f;n++) { for (var g = h[n];g !== e;) { g.frontier.set(a.id), g = g.dominator; } } } } }; a.prototype.analyzeControlFlow = function() { this.computeDominance(); return this.analyzedControlFlow = !0; }; a.prototype.markLoops = function() { function a(b) { var c = 1, h = {}, d = {}, e = [], l = [], n = [], f = b.level + 1; b = [b]; for (var r, p;r = g(b);) { if (h[r.id]) { if (s(l) === r) { l.pop(); var q = []; do { p = e.pop(), d[p.id] = !0, q.push(p); } while (p !== r); (1 < q.length || p.spbacks && p.spbacks.get(p.id)) && n.push(q); } b.pop(); } else { h[r.id] = c++; e.push(r); l.push(r); p = r.successors; for (var q = 0, m = p.length;q < m;q++) { if (r = p[q], !(r.level < f)) { var x = r.id; if (!h[x]) { b.push(r); } else { if (!d[x]) { for (;h[s(l).id] > h[x];) { l.pop(); } } } } } } } return n; } function b(a, h) { var d = new c; d.setBlocks(a); d.recount(); this.id = h; this.body = d; this.exit = new c; this.save = {}; this.head = new c; this.npredecessors = 0; } if (!this.analyzedControlFlow && !this.analyzeControlFlow()) { return!1; } var c = this.boundBlockSet, d = function(a) { for (var b = new c, h = 0, d = a.length;h < d;h++) { var e = a[h], l = e.spbacks; if (l) { for (var e = e.successors, n = 0, f = e.length;n < f;n++) { var r = e[n]; l.get(r.id) && b.set(r.dominator.id); } } } return b.members(); }(this.blocks); if (0 >= d.length) { return this.markedLoops = !0; } for (var d = d.sort(function(a, b) { return a.level - b.level; }), h = 0, e = d.length - 1;0 <= e;e--) { var n = d[e], f = a(n); if (0 !== f.length) { for (var p = 0, q = f.length;p < q;p++) { for (var m = f[p], k = new b(m, h++), K = 0, F = m.length;K < F;K++) { var J = m[K]; if (J.level === n.level + 1 && !J.loop) { J.loop = k; k.head.set(J.id); for (var A = J.predecessors, B = 0, z = A.length;B < z;B++) { k.body.get(A[B].id) && J.npredecessors--; } k.npredecessors += J.npredecessors; } } K = 0; for (F = m.length;K < F;K++) { J = m[K], J.level === n.level + 1 && (J.npredecessors = k.npredecessors); } k.head.recount(); } } } return this.markedLoops = !0; }; a.prototype.induceControlTree = function() { function a(b, c) { b.recount(); if (0 === b.count) { return null; } b.save = c; return b; } function b(n, f, p, q, m, k, s) { for (var K = [];n;) { if (1 < n.count) { for (var F = new e, J = {}, A = [], B = n.members(), z = 0, P = B.length;z < P;z++) { var D = B[z], L = D.id, M; if (D.loop && n.contains(D.loop.head)) { var V = D.loop; if (!V.induced) { for (var Q = V.head.members(), U = 0, S = 0, aa = Q.length;S < aa;S++) { U += n.save[Q[S].id]; } if (0 < D.npredecessors - U) { D.npredecessors -= n.save[L], D.save = n.save[L], M = b(D, F, J, q), A.push(new d.LabelCase([L], M)); } else { S = 0; for (aa = Q.length;S < aa;S++) { M = Q[S], M.npredecessors -= U, M.save = U; } M = b(D, F, J, q); A.push(new d.LabelCase(V.head.toArray(), M)); V.induced = !0; } } } else { D.npredecessors -= n.save[L], D.save = n.save[L], M = b(D, F, J, q), A.push(new d.LabelCase([L], M)); } } for (var D = [], S = 0, z = 0;z < A.length;z++) { M = A[z]; P = M.labels; Q = aa = 0; for (V = P.length;Q < V;Q++) { L = P[Q], F.get(L) && 0 < B[z].npredecessors - n.save[L] ? D.push(L) : P[aa++] = L; } P.length = aa; 0 < P.length && (A[S++] = M); } A.length = S; if (0 === A.length) { for (z = 0;z < D.length;z++) { L = D[z], p[L] = (p[L] || 0) + n.save[L], f.set(L); } break; } K.push(new d.LabelSwitch(A)); n = a(F, J); } else { 1 === n.count ? (D = n.choose(), L = D.id, D.npredecessors -= n.save[L], D.save = n.save[L]) : (D = n, L = D.id); if (m) { m = !1; } else { if (q && !q.body.get(L)) { D.npredecessors += D.save; q.exit.set(L); q.save[L] = (q.save[L] || 0) + D.save; K.push(new d.Break(L, q)); break; } if (q && D.loop === q) { D.npredecessors += D.save; K.push(new d.Continue(L, q)); break; } if (D === s) { break; } if (0 < D.npredecessors) { D.npredecessors += D.save; p[L] = (p[L] || 0) + D.save; f.set(L); K.push(k ? new d.Break(L, k) : new d.Exit(L)); break; } if (D.loop) { var aa = D.loop; if (1 === aa.head.count) { F = b(aa.head.choose(), null, null, aa, !0); } else { F = []; Q = aa.head.members(); z = 0; for (P = Q.length;z < P;z++) { M = Q[z], J = M.id, M = b(M, null, null, aa, !0), F.push(new d.LabelCase([J], M)); } F = new d.LabelSwitch(F); } K.push(new d.Loop(F)); n = a(aa.exit, aa.save); continue; } } F = new e; J = {}; if (c && D.hasCatches) { M = D.successors; A = []; n = []; z = 0; for (P = M.length;z < P;z++) { B = M[z], (B.exception ? A : n).push(B); } P = []; for (z = 0;z < A.length;z++) { B = A[z], B.npredecessors -= 1, B.save = 1, M = b(B, F, J, q), B = B.exception, P.push(new d.Catch(B.varName, B.typeName, M)); } P = new d.Try(D, P); } else { n = D.successors, P = D; } if (2 < n.length) { A = []; for (z = n.length - 1;0 <= z;z--) { B = n[z], B.npredecessors -= 1, B.save = 1, M = b(B, F, J, q, null, D, n[z + 1]), A.unshift(new d.Case(z, M)); } g(A).index = void 0; c && D.hasCatches ? (P.nothingThrownLabel = h, P = new d.Switch(P, A, h++)) : P = new d.Switch(P, A); n = a(F, J); } else { 2 === n.length ? (z = D.hasFlippedSuccessors ? n[1] : n[0], M = D.hasFlippedSuccessors ? n[0] : n[1], z.npredecessors -= 1, z.save = 1, z = b(z, F, J, q), M.npredecessors -= 1, M.save = 1, M = b(M, F, J, q), c && D.hasCatches ? (P.nothingThrownLabel = h, P = new d.If(P, z, M, h++)) : P = new d.If(P, z, M), n = a(F, J)) : (M = n[0]) ? c && D.hasCatches ? (P.nothingThrownLabel = M.id, J[M.id] = (J[M.id] || 0) + 1, F.set(M.id), n = a(F, J)) : (M.npredecessors -= 1, M.save = 1, n = M) : c && D.hasCatches ? (P.nothingThrownLabel = -1, n = a(F, J)) : n = M; } K.push(P); } } return 1 < K.length ? new d.Seq(K) : K[0]; } var c = this.hasExceptions, e = this.boundBlockSet, h = this.blocks.length; this.controlTree = b(this.blocks[0], new e, {}); }; a.prototype.restructureControlFlow = function() { k.enterTimeline("Restructure Control Flow"); if (this.markedLoops || this.markLoops()) { this.induceControlTree(), this.restructuredControlFlow = !0; } k.leaveTimeline(); }; return a; }(); f.Analysis = e; f.analyze = function(a) { a = new e(a); a.restructureControlFlow(); return a.controlTree; }; })(g.Looper || (g.Looper = {})); })(k.Compiler || (k.Compiler = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { function t(c, h) { if ("string" === typeof c || null === c || !0 === c || !1 === c) { return new y(c); } if (void 0 === c) { return new G("undefined"); } if ("object" === typeof c || "function" === typeof c) { return c instanceof b.AVM2.Runtime.LazyInitializer ? a(d(ka, "C"), [new y(h.useConstant(c))]) : new E(W, new y(h.useConstant(c)), !0); } if ("number" === typeof c && isNaN(c)) { return new G("NaN"); } if (Infinity === c) { return new G("Infinity"); } if (-Infinity === c) { return new D("-", !0, new G("Infinity")); } if ("number" === typeof c && 0 > 1 / c) { return new D("-", !0, new y(Math.abs(c))); } if ("number" === typeof c) { return new y(c); } r("Cannot emit constant for value: " + c); } function s(a) { w("string" === typeof a); return new G(a); } function m(a) { var b = a[0]; if (!("$" === b || "_" === b || "\\" === b || "a" <= b && "z" >= b || "A" <= b && "Z" >= b)) { return!1; } for (b = 1;b < a.length;b++) { var c = a[b]; if (!("$" === c || "_" === c || "\\" === c || "a" <= c && "z" >= c || "A" <= c && "Z" >= c || "0" <= c && "9" >= c)) { return!1; } } return!0; } function d(a) { for (var b = [], c = 0;c < arguments.length - 1;c++) { b[c] = arguments[c + 1]; } for (c = 0;c < b.length;c++) { var h = b[c]; a = "string" === typeof h ? m(h) ? new E(a, new G(h), !1) : new E(a, new y(h), !0) : h instanceof y && m(h.value) ? new E(a, new G(h.value), !1) : new E(a, h, !0); } return a; } function a(a, b) { w(b instanceof Array); b.forEach(function(a) { w(!(a instanceof Array)); w(void 0 !== a); }); return new K(a, b); } function c(b, c, h) { return a(d(b, "asCall"), [c].concat(h)); } function n(b, c, h) { return a(d(b, "call"), [c].concat(h)); } function p(a, b) { w(a && b); return new F("=", a, b); } function e(a) { return new I(a, "var"); } function q(a, b, c) { w(a); w(a.compile, "Implement |compile| for " + a + " (" + a.nodeName + ")"); w(b instanceof ha); w(!(a instanceof Array)); if (c || !a.variable) { return a.compile(b); } w(a.variable, "Value has no variable: " + a); return s(a.variable.name); } function l(a, b) { return[q(a.namespaces, b), q(a.name, b), t(a.flags)]; } function u(a, b) { w(a instanceof Array); return a.map(function(a) { return q(a, b); }); } var w = b.Debug.assert, r = b.Debug.unexpected, h = b.Debug.notImplemented, x = b.ArrayUtilities.pushUnique, y = g.AST.Literal, G = g.AST.Identifier, I = g.AST.VariableDeclaration, C = g.AST.VariableDeclarator, E = g.AST.MemberExpression, O = g.AST.BinaryExpression, K = g.AST.CallExpression, F = g.AST.AssignmentExpression, J = g.AST.ExpressionStatement, A = g.AST.ReturnStatement, B = g.AST.ConditionalExpression, z = g.AST.ObjectExpression, P = g.AST.ArrayExpression, D = g.AST.UnaryExpression, L = g.AST.NewExpression, M = g.AST.Property, V = g.AST.BlockStatement, Q = g.AST.ThisExpression, U = g.AST.ThrowStatement, S = g.AST.IfStatement, aa = g.AST.WhileStatement, $ = g.AST.BreakStatement, ea = g.AST.ContinueStatement, Z = g.AST.SwitchStatement, v = g.AST.SwitchCase, X = g.IR.Start, ba = g.IR.Variable, R = g.IR.Constant, H = g.IR.Operator, Y = b.AVM2.Compiler.Looper, ga = Y.Control, ca = b.ArrayUtilities.last; ga.Break.prototype.compile = function(a) { return a.compileBreak(this); }; ga.Continue.prototype.compile = function(a) { return a.compileContinue(this); }; ga.Exit.prototype.compile = function(a) { return a.compileExit(this); }; ga.LabelSwitch.prototype.compile = function(a) { return a.compileLabelSwitch(this); }; ga.Seq.prototype.compile = function(a) { return a.compileSequence(this); }; ga.Loop.prototype.compile = function(a) { return a.compileLoop(this); }; ga.Switch.prototype.compile = function(a) { return a.compileSwitch(this); }; ga.If.prototype.compile = function(a) { return a.compileIf(this); }; ga.Try.prototype.compile = function(a) { h("try"); return null; }; var ka = new G("$F"), W = new G("$C"), ha = function() { function a() { this.label = new ba("$L"); this.variables = []; this.constants = []; this.parameters = []; } a.prototype.useConstant = function(a) { return x(this.constants, a); }; a.prototype.useVariable = function(a) { w(a); x(this.variables, a); }; a.prototype.useParameter = function(a) { this.parameters[a.index] = a; }; a.prototype.compileLabelBody = function(a) { var b = []; void 0 !== a.label && (this.useVariable(this.label), b.push(new J(p(s(this.label.name), new y(a.label))))); return b; }; a.prototype.compileBreak = function(a) { a = this.compileLabelBody(a); a.push(new $(null)); return new V(a); }; a.prototype.compileContinue = function(a) { a = this.compileLabelBody(a); a.push(new ea(null)); return new V(a); }; a.prototype.compileExit = function(a) { return new V(this.compileLabelBody(a)); }; a.prototype.compileIf = function(a) { var b = a.cond.compile(this), c = null, h = null; a.then && (c = a.then.compile(this)); a.else && (h = a.else.compile(this)); var d = q(b.end.predicate, this); if (a.negated) { a: { a = d; if (a instanceof R) { if (!0 === a.value || !1 === a.value) { a = t(!a.value); break a; } } else { if (a instanceof G) { a = new D(H.FALSE.name, !0, a); break a; } } w(a instanceof O || a instanceof D, a); var d = a instanceof O ? a.left : a.argument, e = a.right, l = H.fromName(a.operator); a = l === H.EQ && e instanceof y && !1 === e.value || l === H.FALSE ? d : l.not ? a instanceof O ? new O(l.not.name, d, e) : new D(l.not.name, !0, d) : new D(H.FALSE.name, !0, a); } } else { a = d; } b.body.push(new S(a, c || new V([]), h || null)); return b; }; a.prototype.compileSwitch = function(a) { var b = a.determinant.compile(this), c = []; a.cases.forEach(function(a) { var b; a.body && (b = a.body.compile(this)); a = "number" === typeof a.index ? new y(a.index) : void 0; c.push(new v(a, b ? [b] : [])); }, this); a = q(b.end.determinant, this); b.body.push(new Z(a, c, !1)); return b; }; a.prototype.compileLabelSwitch = function(a) { function b(a) { w("number" === typeof a); return new O("===", h, new y(a)); } for (var c = null, h = s(this.label.name), d = a.cases.length - 1;0 <= d;d--) { for (var e = a.cases[d], l = e.labels, n = b(l[0]), f = 1;f < l.length;f++) { n = new O("||", n, b(l[f])); } c = new S(n, e.body ? e.body.compile(this) : new V([]), c); } return c; }; a.prototype.compileLoop = function(a) { a = a.body.compile(this); return new aa(t(!0), a); }; a.prototype.compileSequence = function(a) { var b = this, c = []; a.body.forEach(function(a) { a = a.compile(b); a instanceof V ? c = c.concat(a.body) : c.push(a); }); return new V(c); }; a.prototype.compileBlock = function(a) { for (var b = [], c = 1;c < a.nodes.length - 1;c++) { var h = a.nodes[c], d; h instanceof g.IR.Throw ? d = q(h, this, !0) : (h instanceof g.IR.Move ? (d = s(h.to.name), this.useVariable(h.to), h = q(h.from, this)) : (h.variable ? (d = s(h.variable.name), this.useVariable(h.variable)) : d = null, h = q(h, this, !0)), d = d ? new J(p(d, h)) : new J(h)); b.push(d); } c = ca(a.nodes); c instanceof g.IR.Stop && b.push(new A(q(c.argument, this))); b = new V(b); b.end = ca(a.nodes); w(b.end instanceof g.IR.End); return b; }; return a; }(); f.Context = ha; g.IR.Parameter.prototype.compile = function(a) { a.useParameter(this); return s(this.name); }; g.IR.Constant.prototype.compile = function(a) { return t(this.value, a); }; g.IR.Variable.prototype.compile = function(a) { return s(this.name); }; g.IR.Phi.prototype.compile = function(a) { w(this.variable); return q(this.variable, a); }; g.IR.ASScope.prototype.compile = function(a) { var b = q(this.parent, a); a = q(this.object, a); var c = new y(this.isWith); return new L(s("Scope"), [b, a, c]); }; g.IR.ASFindProperty.prototype.compile = function(b) { var c = q(this.scope, b), h = l(this.name, b); b = q(this.methodInfo, b); var e = new y(this.strict); return a(d(c, "findScopeProperty"), h.concat([b, e])); }; g.IR.ASGetProperty.prototype.compile = function(b) { var c = q(this.object, b); if (this.flags & 1) { return w(!(this.flags & 8)), a(d(c, "asGetNumericProperty"), [q(this.name.name, b)]); } if (this.flags & 2) { return a(d(c, "asGetResolvedStringProperty"), [q(this.name, b)]); } b = l(this.name, b); var h = new y(this.flags & 8); return a(d(c, "asGetProperty"), b.concat(h)); }; g.IR.ASGetSuper.prototype.compile = function(b) { var c = q(this.scope, b), h = q(this.object, b); b = l(this.name, b); return a(d(h, "asGetSuper"), [c].concat(b)); }; g.IR.Latch.prototype.compile = function(a) { return new B(q(this.condition, a), q(this.left, a), q(this.right, a)); }; g.IR.Unary.prototype.compile = function(a) { return new D(this.operator.name, !0, q(this.argument, a)); }; g.IR.Copy.prototype.compile = function(a) { return q(this.argument, a); }; g.IR.Binary.prototype.compile = function(b) { var c = q(this.left, b); b = q(this.right, b); return this.operator === g.IR.Operator.AS_ADD ? a(s("asAdd"), [c, b]) : new O(this.operator.name, c, b); }; g.IR.CallProperty.prototype.compile = function(b) { var h = q(this.object, b), e = q(this.name, b), e = d(h, e), l = this.args.map(function(a) { return q(a, b); }); return this.flags & 16 ? c(e, h, l) : this.flags & 4 ? a(e, l) : n(e, h, l); }; g.IR.ASCallProperty.prototype.compile = function(b) { var c = q(this.object, b), h = this.args.map(function(a) { return q(a, b); }); if (this.flags & 2) { return a(d(c, "asCallResolvedStringProperty"), [q(this.name, b), new y(this.isLex), new P(h)]); } var e = l(this.name, b); return a(d(c, "asCallProperty"), e.concat([new y(this.isLex), new P(h)])); }; g.IR.ASCallSuper.prototype.compile = function(b) { var c = q(this.scope, b), h = q(this.object, b), e = this.args.map(function(a) { return q(a, b); }), n = l(this.name, b); return a(d(h, "asCallSuper"), [c].concat(n).concat(new P(e))); }; g.IR.Call.prototype.compile = function(b) { var h = this.args.map(function(a) { return q(a, b); }), d = q(this.callee, b), e; e = this.object ? q(this.object, b) : new y(null); return this.flags & 16 ? c(d, e, h) : null === this.object ? a(d, h) : n(d, e, h); }; g.IR.ASNew.prototype.compile = function(a) { var b = this.args.map(function(b) { return q(b, a); }), c = q(this.callee, a), c = d(c, "instanceConstructor"); return new L(c, b); }; g.IR.This.prototype.compile = function(a) { return new Q; }; g.IR.Throw.prototype.compile = function(a) { a = q(this.argument, a); return new U(a); }; g.IR.Arguments.prototype.compile = function(a) { return s("arguments"); }; g.IR.ASGlobal.prototype.compile = function(a) { a = q(this.scope, a); return d(a, "global", "object"); }; g.IR.ASSetProperty.prototype.compile = function(b) { var c = q(this.object, b), h = q(this.value, b); if (this.flags & 1) { return a(d(c, "asSetNumericProperty"), [q(this.name.name, b), h]); } b = l(this.name, b); return a(d(c, "asSetProperty"), b.concat(h)); }; g.IR.ASSetSuper.prototype.compile = function(b) { var c = q(this.scope, b), h = q(this.object, b), e = l(this.name, b); b = q(this.value, b); return a(d(h, "asSetSuper"), [c].concat(e).concat([b])); }; g.IR.ASDeleteProperty.prototype.compile = function(b) { var c = q(this.object, b); b = l(this.name, b); return a(d(c, "asDeleteProperty"), b); }; g.IR.ASHasProperty.prototype.compile = function(b) { var c = q(this.object, b); b = l(this.name, b); return a(d(c, "asHasProperty"), b); }; g.IR.GlobalProperty.prototype.compile = function(a) { return s(this.name); }; g.IR.GetProperty.prototype.compile = function(a) { var b = q(this.object, a); a = q(this.name, a); return d(b, a); }; g.IR.SetProperty.prototype.compile = function(a) { var b = q(this.object, a), c = q(this.name, a); a = q(this.value, a); return p(d(b, c), a); }; g.IR.ASGetDescendants.prototype.compile = function(b) { var c = q(this.object, b); b = q(this.name, b); return a(s("getDescendants"), [c, b]); }; g.IR.ASSetSlot.prototype.compile = function(b) { var c = q(this.object, b), h = q(this.name, b); b = q(this.value, b); return a(s("asSetSlot"), [c, h, b]); }; g.IR.ASGetSlot.prototype.compile = function(b) { var c = q(this.object, b); b = q(this.name, b); return a(s("asGetSlot"), [c, b]); }; g.IR.Projection.prototype.compile = function(a) { w(4 === this.type); w(this.argument instanceof X); return q(this.argument.scope, a); }; g.IR.NewArray.prototype.compile = function(a) { return new P(u(this.elements, a)); }; g.IR.NewObject.prototype.compile = function(a) { var b = this.properties.map(function(b) { var c = q(b.key, a); b = q(b.value, a); return new M(c, b, "init"); }); return new z(b); }; g.IR.ASNewActivation.prototype.compile = function(b) { b = q(this.methodInfo, b); return a(s("asCreateActivation"), [b]); }; g.IR.ASNewHasNext2.prototype.compile = function(a) { return new L(s("HasNext2Info"), []); }; g.IR.ASMultiname.prototype.compile = function(b) { var c = q(this.namespaces, b); b = q(this.name, b); return a(s("createName"), [c, b]); }; g.IR.Block.prototype.compile = function(a) { return a.compileBlock(this); }; var da = function() { function a(b, c, h) { this.parameters = b; this.body = c; this.constants = h; } a.prototype.C = function(a) { var b = this.constants[a]; b._isLazyInitializer && (this.constants[a] = b.resolve()); return this.constants[a]; }; a.id = 0; return a; }(); f.Compilation = da; f.generate = function(a) { k.enterTimeline("Looper"); var c = Y.analyze(a); k.leaveTimeline(); new b.IndentingWriter; a = new ha; k.enterTimeline("Construct AST"); var h = c.compile(a); k.leaveTimeline(); for (var c = [], d = 0;d < a.parameters.length;d++) { c.push(s(a.parameters[d] ? a.parameters[d].name : "_" + d)); } d = "$$F" + da.id++; if (a.constants.length) { var l = new G(d), n = new E(l, new G("constants"), !1); h.body.unshift(e([new C(s("$F"), l), new C(s("$C"), n)])); } a.variables.length && (k.countTimeline("Backend: Locals", a.variables.length), l = e(a.variables.map(function(a) { return new C(s(a.name)); })), h.body.unshift(l)); k.enterTimeline("Serialize AST"); h = h.toSource(); k.leaveTimeline(); return jsGlobal[d] = new da(c.map(function(a) { return a.name; }), h, a.constants); }; })(g.Backend || (g.Backend = {})); })(k.Compiler || (k.Compiler = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { function f(c) { k.enterTimeline("executeScript", {name:c.name}); var d = c.abc; p(!c.executing && !c.executed); var h = new g.Global(c); d.applicationDomain.allowNatives && (h[a.getPublicQualifiedName("unsafeJSNative")] = b.AVM2.AS.getNative); c.executing = !0; d = new g.Scope(null, c.global); g.createFunction(c.init, d, !1, !1).call(c.global, !1); c.executed = !0; k.leaveTimeline(); } function t(a, c) { "undefined" === typeof c && (c = ""); a.executed || a.executing || (2 <= b.AVM2.Runtime.traceExecution.value && log("Executing Script For: " + c), f(a)); } function s(a) { if (!g.playerglobal) { return null; } for (var b = 0;b < a.namespaces.length;b++) { var c = g.playerglobal.map[a.namespaces[b].uri + ":" + a.name]; if (c) { break; } } return c ? (a = c, a = (b = g.playerglobal.scripts[a]) ? new d(new Uint8Array(g.playerglobal.abcs, b.offset, b.length), a) : null, a) : null; } function m(a, b) { return new Promise(function(c, d) { var e = new XMLHttpRequest; e.open("GET", a); e.responseType = b; e.onload = function() { var l = e.response; l ? ("json" === b && "json" !== e.responseType && (l = JSON.parse(l)), c(l)) : d("Unable to load " + a + ": " + e.statusText); }; e.send(); }); } var d = b.AVM2.ABC.AbcFile, a = b.AVM2.ABC.Multiname, c = b.Callback, n = b.ObjectUtilities.createEmptyObject, p = b.Debug.assert, e = b.IndentingWriter; g.executeScript = f; g.ensureScriptIsExecuted = t; (function(a) { a[a.PUBLIC_PROPERTIES = 1] = "PUBLIC_PROPERTIES"; a[a.PUBLIC_METHODS = 2] = "PUBLIC_METHODS"; a[a.ALL = 3] = "ALL"; })(g.Glue || (g.Glue = {})); g.playerglobalLoadedPromise; g.playerglobal; var q = function() { function a(b, c, d) { this.systemDomain = new l(this, null, b, !0); this.applicationDomain = new l(this, this.systemDomain, c, !1); this.findDefiningAbc = s; this._loadAVM1 = d; this._loadAVM1Promise = null; this.exception = {value:void 0}; this.exceptions = []; this.globals = n(); } a.initialize = function(b, c, d) { "undefined" === typeof d && (d = null); p(!a.instance); a.instance = new a(b, c, d); }; a.currentAbc = function() { for (var a = arguments.callee, b = null, c = 0;20 > c && a;c++) { var d = a.methodInfo; if (d) { b = d.abc; break; } a = a.caller; } return b; }; a.currentDomain = function() { var b = a.currentAbc(); if (null === b) { return a.instance.systemDomain; } p(b && b.applicationDomain, "No domain environment was found on the stack, increase STACK_DEPTH or make sure that a compiled / interpreted function is on the call stack."); return b.applicationDomain; }; a.isPlayerglobalLoaded = function() { return!!g.playerglobal; }; a.prototype.loadAVM1 = function() { var a = this._loadAVM1; p(a); this._loadAVM1Promise || (this._loadAVM1Promise = new Promise(function(b) { a(b); })); return this._loadAVM1Promise; }; a.loadPlayerglobal = function(a, b) { if (g.playerglobalLoadedPromise) { return Promise.reject("Playerglobal is already loaded"); } g.playerglobalLoadedPromise = Promise.all([m(a, "arraybuffer"), m(b, "json")]).then(function(a) { g.playerglobal = {abcs:a[0], map:Object.create(null), scripts:Object.create(null)}; a = a[1]; for (var b = 0;b < a.length;b++) { var c = a[b]; g.playerglobal.scripts[c.name] = c; if ("string" === typeof c.defs) { g.playerglobal.map[c.defs] = c.name; } else { for (var h = 0;h < c.defs.length;h++) { g.playerglobal.map[c.defs[h]] = c.name; } } } }, function(a) { console.error(a); }); return g.playerglobalLoadedPromise; }; a.prototype.notifyConstruct = function(a, b) { }; a.getStackTrace = function() { b.Debug.somewhatImplemented("getStackTrace"); return b.Debug.backtrace(); }; return a; }(); g.AVM2 = q; var l = function() { function d(a, h, e, l) { p(a instanceof q); p(b.isNullOrUndefined(h) || h instanceof d); this.vm = a; this.abcs = []; this.loadedAbcs = {}; this.loadedClasses = []; this.classCache = n(); this.scriptCache = n(); this.classInfoCache = n(); this.base = h; this.allowNatives = l; this.mode = e; this.onMessage = new c; this.system = h ? h.system : this; } d.passthroughCallable = function(a) { return{call:function(b) { Array.prototype.shift.call(arguments); return a.asApply(b, arguments); }, apply:function(b, c) { return a.asApply(b, c); }}; }; d.coerceCallable = function(a) { return{call:function(b, c) { return g.asCoerce(a, c); }, apply:function(b, c) { return g.asCoerce(a, c[0]); }}; }; d.prototype.getType = function(a) { return this.getProperty(a, !0, !0); }; d.prototype.getProperty = function(c, h, d) { if (d = this.findDefiningScript(c, d)) { return d.script.executing ? d.script.global[a.getQualifiedName(d.trait.name)] : void 0; } if (h) { return b.Debug.unexpected("Cannot find property " + c); } }; d.prototype.getClass = function(c, h) { "undefined" === typeof h && (h = !0); var d = this.classCache, e = d[c]; e || (e = d[c] = this.getProperty(a.fromSimpleName(c), h, !0)); e && p(e instanceof b.AVM2.AS.ASClass); return e; }; d.prototype.findDomainProperty = function(a, c, d) { b.AVM2.Runtime.traceDomain.value && log("ApplicationDomain.findDomainProperty: " + a); if (d = this.findDefiningScript(a, d)) { return d.script.global; } if (c) { return b.Debug.unexpected("Cannot find property " + a); } }; d.prototype.findClassInfo = function(b) { var c; if (a.isQName(b)) { c = a.getQualifiedName(b); var d = this.classInfoCache[c]; } else { d = this.classInfoCache[b.runtimeId]; } if (d || this.base && (d = this.base.findClassInfo(b))) { return d; } for (var d = this.abcs, e = 0;e < d.length;e++) { for (var l = d[e], l = l.scripts, n = 0;n < l.length;n++) { for (var f = l[n].traits, p = 0;p < f.length;p++) { var g = f[p]; if (g.isClass()) { var q = a.getQualifiedName(g.name); if (c) { if (q === c) { return this.classInfoCache[c] = g.classInfo; } } else { for (var m = 0, k = b.namespaces.length;m < k;m++) { var u = b.getQName(m); if (q === a.getQualifiedName(u)) { return this.classInfoCache[u] = g.classInfo; } } } } } } } if (!this.base && this.vm.findDefiningAbc && (l = this.vm.findDefiningAbc(b), null !== l && !this.loadedAbcs[l.name])) { return this.loadedAbcs[l.name] = !0, this.loadAbc(l), this.findClassInfo(b); } }; d.prototype.findDefiningScript = function(c, h) { var d = this.scriptCache[c.runtimeId]; if (d && (d.script.executed || !h) || this.base && (d = this.base.findDefiningScript(c, h))) { return d; } k.countTimeline("ApplicationDomain: findDefiningScript"); for (var d = this.abcs, e = 0;e < d.length;e++) { for (var l = d[e], l = l.scripts, n = 0;n < l.length;n++) { var f = l[n], p = f.traits; if (c instanceof a) { for (var g = 0;g < p.length;g++) { var q = p[g]; if (c.hasQName(q.name)) { return h && t(f, String(q.name)), this.scriptCache[c.runtimeId] = {script:f, trait:q}; } } } else { b.Debug.unexpected(); } } } if (!this.base && this.vm.findDefiningAbc && (l = this.vm.findDefiningAbc(c), null !== l && !this.loadedAbcs[l.name])) { return this.loadedAbcs[l.name] = !0, this.loadAbc(l), this.findDefiningScript(c, h); } }; d.prototype.compileAbc = function(a, c) { b.AVM2.Compiler.compileAbc(a, c); }; d.prototype.executeAbc = function(a) { this.loadAbc(a); f(a.lastScript); }; d.prototype.loadAbc = function(a) { b.AVM2.Runtime.traceExecution.value && log("Loading: " + a.name); a.applicationDomain = this; g.GlobalMultinameResolver.loadAbc(a); this.abcs.push(a); this.base || (k.AS.initialize(this), b.AVM2.Verifier.Type.initializeTypes(this)); }; d.prototype.broadcastMessage = function(a, b, c) { try { this.onMessage.notify1(a, {data:b, origin:c, source:this}); } catch (d) { throw q.instance.exceptions.push({source:a, message:d.message, stack:d.stack}), d; } }; d.prototype.traceLoadedClasses = function() { var a = new e; [b.ArrayUtilities.last(this.loadedClasses)].forEach(function(c) { c !== b.AVM2.AS.ASClass && c.trace(a); }); }; return d; }(); g.ApplicationDomain = l; var u = function() { function a(b) { this.compartment = newGlobal("new-compartment"); this.compartment.homePath = homePath; this.compartment.release = !1; this.compartment.eval(snarf(b)); } a.prototype.initializeShell = function(a, b) { var c = this.compartment; c.AVM2.initialize(a, b); c.AVM2.instance.systemDomain.executeAbc(c.grabAbc(homePath + "src/avm2/generated/builtin/builtin.abc")); c.AVM2.instance.systemDomain.executeAbc(c.grabAbc(homePath + "src/avm2/generated/shell/shell.abc")); this.systemDomain = c.AVM2.instance.systemDomain; this.applicationDomain = c.AVM2.instance.applicationDomain; }; return a; }(); g.SecurityDomain = u; })(k.Runtime || (k.Runtime = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var Glue = Shumway.AVM2.Runtime.Glue, ApplicationDomain = Shumway.AVM2.Runtime.ApplicationDomain, AVM2 = Shumway.AVM2.Runtime.AVM2, EXECUTION_MODE = Shumway.AVM2.Runtime.ExecutionMode; (function(b) { (function(k) { (function(g) { function f(a) { return a.holder instanceof m ? "static " + a.holder.instanceInfo.name.getOriginalName() + "::" + a.name.getOriginalName() : a.holder instanceof d ? a.holder.name.getOriginalName() + "::" + a.name.getOriginalName() : a.name.getOriginalName(); } function t(b) { a(b && "function" === typeof b); return b.isTrampoline; } var s = b.AVM2.ABC.Multiname, m = b.AVM2.ABC.ClassInfo, d = b.AVM2.ABC.InstanceInfo, a = b.Debug.assert, c = b.ObjectUtilities.defineReadOnlyProperty, n = b.FunctionUtilities.bindSafely, p = 1, e = 1; g.getMethodOverrideKey = f; g.checkMethodOverrides = function(a) { if (a.name && (a = f(a), a in g.VM_METHOD_OVERRIDES)) { return b.Debug.warning("Overriding Method: " + a), g.VM_METHOD_OVERRIDES[a]; } }; g.makeTrampoline = function(d, e, n, f, r, h) { return function() { function m() { k.countTimeline("Executing Trampoline"); 1 <= b.AVM2.Runtime.traceExecution.value && (callWriter.writeLn("Trampoline: " + h), 3 <= b.AVM2.Runtime.traceExecution.value && log("Trampolining")); s || (s = g.getTraitFunction(d, e, n), g.patch(f, s), d = e = n = f = null, a(s)); return s.asApply(this, arguments); } var s = null; m.trigger = function() { k.countTimeline("Triggering Trampoline"); s || (s = g.getTraitFunction(d, e, n), g.patch(f, s), d = e = n = f = null, a(s)); }; m.isTrampoline = !0; m.debugName = "Trampoline #" + p++; c(m, g.VM_LENGTH, r); return m; }(); }; g.makeMemoizer = function(d, l) { function f() { k.countTimeline("Runtime: Memoizing"); 3 <= b.AVM2.Runtime.traceExecution.value && log("Memoizing: " + d); 1 < b.AVM2.Runtime.traceCallExecution.value && callWriter.writeLn("Memoizing: " + d); if (g.isNativePrototype(this)) { return k.countTimeline("Runtime: Method Closures"), n(l.value, this); } t(l.value) && l.value.trigger(); a(!t(l.value), "We should avoid binding trampolines."); var e = null; if (this instanceof b.AVM2.AS.ASClass) { return k.countTimeline("Runtime: Static Method Closures"), e = n(l.value, this), c(this, d, e), e; } if (Object.prototype.hasOwnProperty.call(this, d)) { if (Object.getOwnPropertyDescriptor(this, d).get) { return k.countTimeline("Runtime: Method Closures"), n(l.value, this); } k.countTimeline("Runtime: Unpatched Memoizer"); return this[d]; } e = n(l.value, this); e.methodInfo = l.value.methodInfo; c(e, s.getPublicQualifiedName("prototype"), null); c(this, d, e); return e; } k.countTimeline("Runtime: Memoizers"); f.isMemoizer = !0; f.debugName = "Memoizer #" + e++; return f; }; g.isMemoizer = function(b) { a(b && "function" === typeof b); return b.isMemoizer; }; })(k.Runtime || (k.Runtime = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { function g(a, b, c) { c.flags = b.flags; c.name = b.isRuntimeName() ? a.pop() : b.name; c.namespaces = b.isRuntimeNamespace() ? [a.pop()] : b.namespaces; } var f = b.AVM2.Runtime.Scope, t = b.AVM2.Runtime.asCoerceByMultiname, s = b.AVM2.Runtime.asGetSlot, m = b.AVM2.Runtime.asSetSlot, d = b.AVM2.Runtime.asCoerce, a = b.AVM2.Runtime.asCoerceString, c = b.AVM2.Runtime.asAsType, n = b.AVM2.Runtime.asTypeOf, p = b.AVM2.Runtime.asIsInstanceOf, e = b.AVM2.Runtime.asIsType, q = b.AVM2.Runtime.applyType, l = b.AVM2.Runtime.createFunction, u = b.AVM2.Runtime.createClass, w = b.AVM2.Runtime.getDescendants, r = b.AVM2.Runtime.checkFilter, h = b.AVM2.Runtime.asAdd, x = b.AVM2.Runtime.translateError, y = b.AVM2.Runtime.asCreateActivation, G = b.AVM2.Runtime.sliceArguments, I = b.ObjectUtilities.boxValue, C = b.ArrayUtilities.popManyInto, E = b.AVM2.Runtime.construct, O = b.AVM2.ABC.Multiname, K = b.Debug.assert, F = b.AVM2.Runtime.HasNext2Info, J = function() { function a(b) { this.parent = b; this.stack = []; this.isWith = []; } a.prototype.push = function(a, b) { this.stack.push(a); this.isWith.push(!!b); }; a.prototype.get = function(a) { return this.stack[a]; }; a.prototype.clear = function() { this.stack.length = 0; this.isWith.length = 0; }; a.prototype.pop = function() { this.isWith.pop(); this.stack.pop(); }; a.prototype.topScope = function() { this.scopes || (this.scopes = []); for (var a = this.parent, b = 0;b < this.stack.length;b++) { var c = this.stack[b], h = this.isWith[b], d = this.scopes[b]; d && d.parent === a && d.object === c && d.isWith === h || (d = this.scopes[b] = new f(a, c, h)); a = d; } return a; }; return a; }(), A = function() { function f() { } f.interpretMethod = function(f, B, A, L) { K(B.analysis); k.countTimeline("Interpret Method"); var M = B.abc, V = M.constantPool.ints, Q = M.constantPool.uints, U = M.constantPool.doubles, S = M.constantPool.strings, aa = M.methods, $ = M.constantPool.multinames, ea = M.applicationDomain, Z = B.exceptions; f = [f]; for (var v = [], X = new J(A), ba = B.parameters.length, R = L.length, H, Y = 0;Y < ba;Y++) { var ga = B.parameters[Y]; H = Y < R ? L[Y] : ga.value; ga.type && !ga.type.isAnyName() && (H = t(B, ga.type, H)); f.push(H); } B.needsRest() ? f.push(G(L, ba)) : B.needsArguments() && f.push(G(L, 0)); L = B.analysis.bytecodes; var ca, ka, W, ha, da, ja, ba = [], R = O.TEMPORARY, ga = [], N = 0, ma = L.length; a: for (;N < ma;) { try { var T = L[N], oa = T.op; switch(oa | 0) { case 3: throw v.pop();; case 4: g(v, $[T.index], R); v.push(v.pop().asGetSuper(A, R.namespaces, R.name, R.flags)); break; case 5: H = v.pop(); g(v, $[T.index], R); v.pop().asSetSuper(A, R.namespaces, R.name, R.flags, H); break; case 8: f[T.index] = void 0; break; case 12: ja = v.pop(); da = v.pop(); N = da < ja ? N + 1 : T.offset; continue; case 24: ja = v.pop(); da = v.pop(); N = da >= ja ? T.offset : N + 1; continue; case 13: ja = v.pop(); da = v.pop(); N = da <= ja ? N + 1 : T.offset; continue; case 23: ja = v.pop(); da = v.pop(); N = da > ja ? T.offset : N + 1; continue; case 14: ja = v.pop(); da = v.pop(); N = da > ja ? N + 1 : T.offset; continue; case 22: ja = v.pop(); da = v.pop(); N = da <= ja ? T.offset : N + 1; continue; case 15: ja = v.pop(); da = v.pop(); N = da >= ja ? N + 1 : T.offset; continue; case 21: ja = v.pop(); da = v.pop(); N = da < ja ? T.offset : N + 1; continue; case 16: N = T.offset; continue; case 17: N = v.pop() ? T.offset : N + 1; continue; case 18: N = v.pop() ? N + 1 : T.offset; continue; case 19: ja = v.pop(); da = v.pop(); N = da == ja ? T.offset : N + 1; continue; case 20: ja = v.pop(); da = v.pop(); N = da != ja ? T.offset : N + 1; continue; case 25: ja = v.pop(); da = v.pop(); N = da === ja ? T.offset : N + 1; continue; case 26: ja = v.pop(); da = v.pop(); N = da !== ja ? T.offset : N + 1; continue; case 27: ka = v.pop(); if (0 > ka || ka >= T.offsets.length) { ka = T.offsets.length - 1; } N = T.offsets[ka]; continue; case 28: X.push(I(v.pop()), !0); break; case 29: X.pop(); break; case 30: ka = v.pop(); v[v.length - 1] = I(v[v.length - 1]).asNextName(ka); break; case 35: ka = v.pop(); v[v.length - 1] = I(v[v.length - 1]).asNextValue(ka); break; case 50: var pa = ga[N] || (ga[N] = new F(null, 0)); ca = f[T.object]; ka = f[T.index]; pa.object = ca; pa.index = ka; Object(ca).asHasNext2(pa); f[T.object] = pa.object; f[T.index] = pa.index; v.push(!!pa.index); break; case 32: v.push(null); break; case 33: v.push(void 0); break; case 36: ; case 37: v.push(T.value); break; case 44: v.push(S[T.index]); break; case 45: v.push(V[T.index]); break; case 46: v.push(Q[T.index]); break; case 47: v.push(U[T.index]); break; case 38: v.push(!0); break; case 39: v.push(!1); break; case 40: v.push(NaN); break; case 41: v.pop(); break; case 42: v.push(v[v.length - 1]); break; case 43: ca = v[v.length - 1]; v[v.length - 1] = v[v.length - 2]; v[v.length - 2] = ca; break; case 48: X.push(I(v.pop()), !1); break; case 64: v.push(l(aa[T.index], X.topScope(), !0, !1)); break; case 65: C(v, T.argCount, ba); ca = v.pop(); v[v.length - 1] = v[v.length - 1].asApply(ca, ba); break; case 66: C(v, T.argCount, ba); v[v.length - 1] = E(v[v.length - 1], ba); break; case 71: return; case 72: return B.returnType ? t(B, B.returnType, v.pop()) : v.pop(); case 73: C(v, T.argCount, ba); ca = v.pop(); A.object.baseClass.instanceConstructorNoInitialize.apply(ca, ba); break; case 74: C(v, T.argCount, ba); g(v, $[T.index], R); ca = I(v[v.length - 1]); ca = ca.asConstructProperty(R.namespaces, R.name, R.flags, ba); v[v.length - 1] = ca; break; case 75: b.Debug.notImplemented("OP.callsuperid"); break; case 76: ; case 70: ; case 79: C(v, T.argCount, ba); g(v, $[T.index], R); ha = I(v.pop()).asCallProperty(R.namespaces, R.name, R.flags, 76 === oa, ba); 79 !== oa && v.push(ha); break; case 69: ; case 78: C(v, T.argCount, ba); g(v, $[T.index], R); ha = v.pop().asCallSuper(A, R.namespaces, R.name, R.flags, ba); 78 !== oa && v.push(ha); break; case 83: C(v, T.argCount, ba); v[v.length - 1] = q(B, v[v.length - 1], ba); break; case 85: ca = {}; for (Y = 0;Y < T.argCount;Y++) { H = v.pop(), ca[O.getPublicQualifiedName(v.pop())] = H; } v.push(ca); break; case 86: ca = []; C(v, T.argCount, ba); ca.push.apply(ca, ba); v.push(ca); break; case 87: K(B.needsActivation()); v.push(y(B)); break; case 88: v[v.length - 1] = u(M.classes[T.index], v[v.length - 1], X.topScope()); break; case 89: g(v, $[T.index], R); v.push(w(v.pop(), R)); break; case 90: K(Z[T.index].scopeObject); v.push(Z[T.index].scopeObject); break; case 94: ; case 93: g(v, $[T.index], R); v.push(X.topScope().findScopeProperty(R.namespaces, R.name, R.flags, B, 93 === oa, !1)); break; case 96: W = $[T.index]; ca = X.topScope().findScopeProperty(W.namespaces, W.name, W.flags, B, !0, !1); v.push(ca.asGetProperty(W.namespaces, W.name, W.flags)); break; case 104: ; case 97: H = v.pop(); g(v, $[T.index], R); I(v.pop()).asSetProperty(R.namespaces, R.name, R.flags, H); break; case 98: v.push(f[T.index]); break; case 99: f[T.index] = v.pop(); break; case 100: v.push(A.global.object); break; case 101: v.push(X.get(T.index)); break; case 102: g(v, $[T.index], R); v[v.length - 1] = I(v[v.length - 1]).asGetProperty(R.namespaces, R.name, R.flags); break; case 106: g(v, $[T.index], R); v[v.length - 1] = I(v[v.length - 1]).asDeleteProperty(R.namespaces, R.name, R.flags); break; case 108: v[v.length - 1] = s(v[v.length - 1], T.index); break; case 109: H = v.pop(); ca = v.pop(); m(ca, T.index, H); break; case 112: v[v.length - 1] += ""; break; case 131: ; case 115: v[v.length - 1] |= 0; break; case 136: ; case 116: v[v.length - 1] >>>= 0; break; case 132: ; case 117: v[v.length - 1] = +v[v.length - 1]; break; case 129: ; case 118: v[v.length - 1] = !!v[v.length - 1]; break; case 120: v[v.length - 1] = r(v[v.length - 1]); break; case 128: v[v.length - 1] = d(ea.getType($[T.index]), v[v.length - 1]); break; case 130: break; case 133: v[v.length - 1] = a(v[v.length - 1]); break; case 134: v[v.length - 2] = c(ea.getType($[T.index]), v[v.length - 1]); break; case 135: v[v.length - 2] = c(v.pop(), v[v.length - 1]); break; case 137: ca = v[v.length - 1]; v[v.length - 1] = void 0 == ca ? null : ca; break; case 144: v[v.length - 1] = -v[v.length - 1]; break; case 145: ++v[v.length - 1]; break; case 146: ++f[T.index]; break; case 147: --v[v.length - 1]; break; case 148: --f[T.index]; break; case 149: v[v.length - 1] = n(v[v.length - 1]); break; case 150: v[v.length - 1] = !v[v.length - 1]; break; case 151: v[v.length - 1] = ~v[v.length - 1]; break; case 160: v[v.length - 2] = h(v[v.length - 2], v.pop()); break; case 161: v[v.length - 2] -= v.pop(); break; case 162: v[v.length - 2] *= v.pop(); break; case 163: v[v.length - 2] /= v.pop(); break; case 164: v[v.length - 2] %= v.pop(); break; case 165: v[v.length - 2] <<= v.pop(); break; case 166: v[v.length - 2] >>= v.pop(); break; case 167: v[v.length - 2] >>>= v.pop(); break; case 168: v[v.length - 2] &= v.pop(); break; case 169: v[v.length - 2] |= v.pop(); break; case 170: v[v.length - 2] ^= v.pop(); break; case 171: v[v.length - 2] = v[v.length - 2] == v.pop(); break; case 172: v[v.length - 2] = v[v.length - 2] === v.pop(); break; case 173: v[v.length - 2] = v[v.length - 2] < v.pop(); break; case 174: v[v.length - 2] = v[v.length - 2] <= v.pop(); break; case 175: v[v.length - 2] = v[v.length - 2] > v.pop(); break; case 176: v[v.length - 2] = v[v.length - 2] >= v.pop(); break; case 177: v[v.length - 2] = p(v.pop(), v[v.length - 1]); break; case 178: v[v.length - 1] = e(ea.getType($[T.index]), v[v.length - 1]); break; case 179: v[v.length - 2] = e(v.pop(), v[v.length - 1]); break; case 180: v[v.length - 2] = I(v.pop()).asHasProperty(null, v[v.length - 1]); break; case 192: v[v.length - 1] = (v[v.length - 1] | 0) + 1; break; case 193: v[v.length - 1] = (v[v.length - 1] | 0) - 1; break; case 194: f[T.index] = (f[T.index] | 0) + 1; break; case 195: f[T.index] = (f[T.index] | 0) - 1; break; case 196: v[v.length - 1] = ~v[v.length - 1]; break; case 197: v[v.length - 2] = v[v.length - 2] + v.pop() | 0; break; case 198: v[v.length - 2] = v[v.length - 2] - v.pop() | 0; break; case 199: v[v.length - 2] = v[v.length - 2] * v.pop() | 0; break; case 208: ; case 209: ; case 210: ; case 211: v.push(f[oa - 208]); break; case 212: ; case 213: ; case 214: ; case 215: f[oa - 212] = v.pop(); break; case 6: b.AVM2.AS.ASXML.defaultNamespace = S[T.index]; break; case 7: b.AVM2.AS.ASXML.defaultNamespace = v.pop(); break; case 239: ; case 240: ; case 241: break; default: b.Debug.notImplemented(b.AVM2.opcodeName(oa)); } N++; } catch (na) { if (1 > Z.length) { throw na; } for (var na = x(ea, na), Y = 0, fa = Z.length;Y < fa;Y++) { var sa = Z[Y]; if (N >= sa.start && N <= sa.end && (!sa.typeName || ea.getType(sa.typeName).isType(na))) { v.length = 0; v.push(na); X.clear(); N = sa.offset; continue a; } } throw na; } } }; return f; }(); k.Interpreter = A; })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { b.VM_METHOD_OVERRIDES["static mochi.as3.MochiServices::connect"] = function() { }; b.VM_METHOD_OVERRIDES["static MochiBot::track"] = function() { }; b.VM_METHOD_OVERRIDES["com.midasplayer.debug.DebugLog::trace"] = function(b) { log(b); }; b.VM_METHOD_OVERRIDES["com.midasplayer.engine.comm.DebugGameComm::getGameData"] = function() { return'\ntrue\ntrue\nfalse\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\nCandy crushed\nbest ever\nscored {0} in one game\nAll Clear Created\ncrushed {0} candy in one game\nScore\nPlease register to play the full game\nLongest chain\nGame ends in {0} seconds\nSuper Stripes Created\nNo more moves!\nMega-Candy Created\nGame starts in {0} seconds\nnow\nLevel reached\nGame Over\nMatch 3 Candy of the same colour to crush them. Matching 4 or 5 in different formations generates special sweets that are extra tasty.\nYou can also combine the special sweets for additional effects by switching them with each other. Try these combinations for a taste you will not forget: \nDouble Colour Bombs Created\nmade {0} combined candy in one game\nPlay like this:\n'; }; b.VM_METHOD_OVERRIDES["com.antkarlov.Preloader::com.antkarlov:Preloader.isUrl"] = function() { return!0; }; b.VM_METHOD_OVERRIDES["static com.demonsters.debugger.MonsterDebugger::initialize"] = function() { }; b.VM_METHOD_OVERRIDES["com.spilgames.api.core.tracking.TrackConfig::getTrackers"] = function() { return[]; }; b.VM_METHOD_OVERRIDES["com.spilgames.api.components.TextFields.AutoFitTextFieldEx::com.spilgames.api.components.TextFields:AutoFitTextFieldEx.updateProperties"] = b.VM_METHOD_OVERRIDES["com.spilgames.api.components.TextFields.AutoFitTextFieldEx::com.spilgames.api.components.TextFields:AutoFitTextFieldEx.updateTextSize"] = function() { }; })(b.Runtime || (b.Runtime = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { function g(a, c) { if (65535 < c.length) { throw "AMF short string exceeded"; } if (c.length) { var d = b.StringUtilities.utf8decode(c); a.writeByte(d.length >> 8 & 255); a.writeByte(d.length & 255); for (var e = 0;e < d.length;e++) { a.writeByte(d[e]); } } else { a.writeByte(0), a.writeByte(0); } } function f(a) { var c = a.readByte() << 8 | a.readByte(); if (!c) { return ""; } for (var d = new Uint8Array(c), e = 0;e < c;e++) { d[e] = a.readByte(); } return b.StringUtilities.utf8encode(d); } function t(a, b) { var c = new ArrayBuffer(8), d = new DataView(c); d.setFloat64(0, b, !1); for (var e = 0;e < c.byteLength;e++) { a.writeByte(d.getUint8(e)); } } function s(a) { for (var b = new ArrayBuffer(8), c = new DataView(b), d = 0;d < b.byteLength;d++) { c.setUint8(d, a.readByte()); } return c.getFloat64(0, !1); } function m(a) { var b = a.readByte(); if (0 === (b & 128)) { return b; } var c = a.readByte(); if (0 === (c & 128)) { return(b & 127) << 7 | c; } var d = a.readByte(); if (0 === (d & 128)) { return(b & 127) << 14 | (c & 127) << 7 | d; } a = a.readByte(); return(b & 127) << 22 | (c & 127) << 15 | (d & 127) << 8 | a; } function d(a, b) { if (0 === (b & 4294967168)) { a.writeByte(b & 127); } else { if (0 === (b & 4294950912)) { a.writeByte(128 | b >> 7 & 127), a.writeByte(b & 127); } else { if (0 === (b & 4292870144)) { a.writeByte(128 | b >> 14 & 127), a.writeByte(128 | b >> 7 & 127), a.writeByte(b & 127); } else { if (0 === (b & 3221225472)) { a.writeByte(128 | b >> 22 & 127), a.writeByte(128 | b >> 15 & 127), a.writeByte(128 | b >> 8 & 127), a.writeByte(b & 255); } else { throw "AMF3 U29 range"; } } } } } function a(a, c) { var d = m(a); if (1 === d) { return ""; } var e = c.stringsCache || (c.stringsCache = []); if (0 === (d & 1)) { return e[d >> 1]; } for (var d = d >> 1, l = new Uint8Array(d), n = 0;n < d;n++) { l[n] = a.readByte(); } d = b.StringUtilities.utf8encode(l); e.push(d); return d; } function c(a, c, e) { if ("" === c) { a.writeByte(1); } else { e = e.stringsCache || (e.stringsCache = []); var l = e.indexOf(c); if (0 <= l) { d(a, l << 1); } else { for (e.push(c), c = b.StringUtilities.utf8decode(c), d(a, 1 | c.length << 1), e = 0;e < c.length;e++) { a.writeByte(c[e]); } } } } function n(b, c) { var d = b.readByte(); switch(d) { case 1: return null; case 0: break; case 2: return!1; case 3: return!0; case 4: return m(b); case 5: return s(b); case 6: return a(b, c); case 8: return new Date(s(b)); case 10: var e = m(b); if (0 === (e & 1)) { return c.objectsCache[e >> 1]; } if (0 !== (e & 4)) { throw "AMF3 Traits-Ext is not supported"; } var l, f; if (0 === (e & 2)) { l = c.traitsCache[e >> 2], f = l.class; } else { l = {}; d = a(b, c); f = (l.className = d) && k.aliasesCache.names[d]; l.class = f; l.isDynamic = 0 !== (e & 8); l.members = []; for (var p = f && f.instanceBindings.slots, d = 0, e = e >> 4;d < e;d++) { for (var g = a(b, c), w = null, e = 1;p && e < p.length;e++) { if (p[e].name.name === g) { w = p[e]; break; } } l.members.push(w ? q.getQualifiedName(w.name) : q.getPublicQualifiedName(g)); } (c.traitsCache || (c.traitsCache = [])).push(l); } p = f ? u(f, []) : {}; (c.objectsCache || (c.objectsCache = [])).push(p); for (d = 0;d < l.members.length;d++) { f = n(b, c), p[l.members[d]] = f; } if (l.isDynamic) { for (;;) { d = a(b, c); if (!d.length) { break; } f = n(b, c); p.asSetPublicProperty(d, f); } } return p; case 9: e = m(b); if (0 === (e & 1)) { return c.objectsCache[e >> 1]; } l = []; (c.objectsCache || (c.objectsCache = [])).push(l); for (p = e >> 1;;) { d = a(b, c); if (!d.length) { break; } f = n(b, c); l.asSetPublicProperty(d, f); } for (d = 0;d < p;d++) { f = n(b, c), l.asSetPublicProperty(d, f); } return l; default: throw "AMF3 Unknown marker " + d;; } } function p(a, b, c) { c = c.objectsCache || (c.objectsCache = []); var e = c.indexOf(b); if (0 > e) { return c.push(b), !1; } d(a, e << 1); return!0; } function e(a, h, n) { switch(typeof h) { case "boolean": a.writeByte(h ? 3 : 2); break; case "number": h === (h | 0) ? (a.writeByte(4), d(a, h)) : (a.writeByte(5), t(a, h)); break; case "undefined": a.writeByte(0); break; case "string": a.writeByte(6); c(a, h, n); break; case "object": if (null === h) { a.writeByte(1); } else { if (Array.isArray(h)) { a.writeByte(9); if (p(a, h, n)) { break; } for (var f = 0;f in h;) { ++f; } d(a, f << 1 | 1); l(h, function(d, h) { b.isNumeric(d) && 0 <= d && d < f || (c(a, d, n), e(a, h, n)); }); c(a, "", n); for (var g = 0;g < f;g++) { e(a, h[g], n); } } else { if (h instanceof Date) { a.writeByte(8); if (p(a, h, n)) { break; } d(a, 1); t(a, h.valueOf()); } else { a.writeByte(10); if (p(a, h, n)) { break; } var g = !0, m = h.class; if (m) { var g = !m.classInfo.instanceInfo.isSealed(), u = k.aliasesCache.classes.get(m) || "", w, s = n.traitsCache || (n.traitsCache = []), K = n.traitsInfos || (n.traitsInfos = []), F = s.indexOf(m); if (0 > F) { var J = m.instanceBindings.slots; w = []; for (var F = [], A = 1;A < J.length;A++) { var B = J[A]; B.name.getNamespace().isPublic() && (w.push(q.getQualifiedName(B.name)), F.push(B.name.name)); } s.push(m); K.push(w); m = F.length; d(a, (g ? 11 : 3) + (m << 4)); c(a, u, n); for (A = 0;A < m;A++) { c(a, F[A], n); } } else { w = K[F], m = w.length, d(a, 1 + (F << 2)); } for (A = 0;A < m;A++) { e(a, h[w[A]], n); } } else { d(a, 11), c(a, "", n); } g && (l(h, function(b, d) { c(a, b, n); e(a, d, n); }), c(a, "", n)); } } } ; } } var q = b.AVM2.ABC.Multiname, l = b.AVM2.Runtime.forEachPublicProperty, u = b.AVM2.Runtime.construct; (function(a) { a[a.NUMBER = 0] = "NUMBER"; a[a.BOOLEAN = 1] = "BOOLEAN"; a[a.STRING = 2] = "STRING"; a[a.OBJECT = 3] = "OBJECT"; a[a.NULL = 5] = "NULL"; a[a.UNDEFINED = 6] = "UNDEFINED"; a[a.REFERENCE = 7] = "REFERENCE"; a[a.ECMA_ARRAY = 8] = "ECMA_ARRAY"; a[a.OBJECT_END = 9] = "OBJECT_END"; a[a.STRICT_ARRAY = 10] = "STRICT_ARRAY"; a[a.DATE = 11] = "DATE"; a[a.LONG_STRING = 12] = "LONG_STRING"; a[a.XML = 15] = "XML"; a[a.TYPED_OBJECT = 16] = "TYPED_OBJECT"; a[a.AVMPLUS = 17] = "AVMPLUS"; })(k.AMF0Marker || (k.AMF0Marker = {})); var w = function() { function a() { } a.write = function(a, b) { switch(typeof b) { case "boolean": a.writeByte(1); a.writeByte(b ? 1 : 0); break; case "number": a.writeByte(0); t(a, b); break; case "undefined": a.writeByte(6); break; case "string": a.writeByte(2); g(a, b); break; case "object": null === b ? a.writeByte(5) : (Array.isArray(b) ? (a.writeByte(8), a.writeByte(b.length >>> 24 & 255), a.writeByte(b.length >> 16 & 255), a.writeByte(b.length >> 8 & 255), a.writeByte(b.length & 255), l(b, function(b, c) { g(a, b); this.write(a, c); }, this)) : (a.writeByte(3), l(b, function(b, c) { g(a, b); this.write(a, c); }, this)), a.writeByte(0), a.writeByte(0), a.writeByte(9)); } }; a.read = function(a) { var b = a.readByte(); switch(b) { case 0: return s(a); case 1: return!!a.readByte(); case 2: return f(a); case 3: for (var c = {};;) { b = f(a); if (!b.length) { break; } var d = this.read(a); c.asSetPublicProperty(b, d); } if (9 !== a.readByte()) { throw "AMF0 End marker is not found"; } return c; case 5: return null; case 6: break; case 8: c = []; for (c.length = a.readByte() << 24 | a.readByte() << 16 | a.readByte() << 8 | a.readByte();;) { b = f(a); if (!b.length) { break; } d = this.read(a); c.asSetPublicProperty(b, d); } if (9 !== a.readByte()) { throw "AMF0 End marker is not found"; } return c; case 10: c = []; c.length = a.readByte() << 24 | a.readByte() << 16 | a.readByte() << 8 | a.readByte(); for (b = 0;b < c.length;b++) { c[b] = this.read(a); } return c; case 17: return n(a, {}); default: throw "AMF0 Unknown marker " + b;; } }; return a; }(); k.AMF0 = w; (function(a) { a[a.UNDEFINED = 0] = "UNDEFINED"; a[a.NULL = 1] = "NULL"; a[a.FALSE = 2] = "FALSE"; a[a.TRUE = 3] = "TRUE"; a[a.INTEGER = 4] = "INTEGER"; a[a.DOUBLE = 5] = "DOUBLE"; a[a.STRING = 6] = "STRING"; a[a.XML_DOC = 7] = "XML_DOC"; a[a.DATE = 8] = "DATE"; a[a.ARRAY = 9] = "ARRAY"; a[a.OBJECT = 10] = "OBJECT"; a[a.XML = 11] = "XML"; a[a.BYTEARRAY = 12] = "BYTEARRAY"; a[a.VECTOR_INT = 13] = "VECTOR_INT"; a[a.VECTOR_UINT = 14] = "VECTOR_UINT"; a[a.VECTOR_DOUBLE = 15] = "VECTOR_DOUBLE"; a[a.VECTOR_OBJECT = 16] = "VECTOR_OBJECT"; a[a.DICTIONARY = 17] = "DICTIONARY"; })(k.AMF3Marker || (k.AMF3Marker = {})); k.aliasesCache = {classes:new WeakMap, names:Object.create(null)}; w = function() { function a() { } a.write = function(a, b) { e(a, b, {}); }; a.read = function(a) { return n(a, {}); }; return a; }(); k.AMF3 = w; })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); console.timeEnd("Load AVM2 Dependencies"); console.time("Load Compiled Code Cache"); console.timeEnd("Load Compiled Code Cache"); console.time("Load Flash TS Dependencies"); (function(b) { function k(a) { var b = {}; a = a.split(","); for (var c = 0;c < a.length;c++) { b[a[c]] = !0; } return b; } var g = /^<([-A-Za-z0-9_]+)((?:\s+[-A-Za-z0-9_]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/, f = /^<\/([-A-Za-z0-9_]+)[^>]*>/, t = /([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g, s = k("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"), m = k("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"), d = k("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"), a = k("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"), c = k("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"), n = k("script,style"); b.HTMLParser = function(b, e) { function q() { return this[this.length - 1]; } function l(b, l, n, f) { l = l.toLowerCase(); if (m[l]) { for (;q() && d[q()];) { k("", q()); } } a[l] && q() == l && k("", l); (f = s[l] || !!f) || h.push(l); if (e.start) { var g = Object.create(null); n.replace(t, function(a, b, d, h, e) { b = b.toLowerCase(); g[b] = d ? d : h ? h : e ? e : c[b] ? b : ""; return a; }); e.start && e.start(l, g, !!f); } } function k(a, b) { if (b) { for (c = h.length - 1;0 <= c && h[c] != b;c--) { } } else { var c = 0 } if (0 <= c) { for (var d = h.length - 1;d >= c;d--) { e.end && e.end(h[d]); } h.length = c; } } for (var w, r, h = [], x = b;b;) { r = !0; if (q() && n[q()]) { b = b.replace(new RegExp("(.*)]*>"), function(a, b) { b = b.replace(/\x3c!--(.*?)--\x3e/g, "$1").replace(/ w ? b : b.substring(0, w), b = 0 > w ? "" : b.substring(w), e.chars && e.chars(r)); } if (b == x) { throw "Parse Error: " + b; } x = b; } k(); }; })(Shumway || (Shumway = {})); (function(b) { var k = b.Debug.notImplemented, g = b.Debug.somewhatImplemented, f = b.Bounds, t = b.ArrayUtilities.DataBuffer, s = b.ColorUtilities, m = b.AVM2.AS.flash; (function(a) { a[a.None = 0] = "None"; a[a.DirtyBounds = 1] = "DirtyBounds"; a[a.DirtyContent = 2] = "DirtyContent"; a[a.DirtyStyle = 4] = "DirtyStyle"; a[a.DirtyFlow = 8] = "DirtyFlow"; a[a.Dirty = a.DirtyBounds | a.DirtyContent | a.DirtyStyle | a.DirtyFlow] = "Dirty"; })(b.TextContentFlags || (b.TextContentFlags = {})); var d = {lt:"<", gt:">", amp:"&", quot:'"', apos:"'"}, a = function() { function a(b) { this._id = m.display.DisplayObject.getNextSyncID(); this._bounds = new f(0, 0, 0, 0); this._plainText = ""; this._autoSize = this._borderColor = this._backgroundColor = 0; this._wordWrap = !1; this.flags = 0; this.defaultTextFormat = b || new m.text.TextFormat; this.textRuns = []; this.textRunData = new t; this.coords = this.matrix = null; } a.prototype.parseHtml = function(a, c) { "undefined" === typeof c && (c = !1); var e = "", f = this.textRuns, l = f.length = 0, u = 0, w = this.defaultTextFormat.clone(), r = null, h = [], x; b.HTMLParser(a, x = {chars:function(a) { for (var c = "", h = 0;h < a.length;h++) { var n = a.charAt(h); if ("&" !== n) { c += n; } else { if (n = b.StringUtilities.indexOfAny(a, ["&", ";"], h + 1), 0 < n) { h = a.substring(h + 1, n); if (1 < h.length && "#" === h.charAt(0)) { var g = 0, g = 2 < h.length && "x" === h.charAt(1) ? parseInt(h.substring(1)) : parseInt(h.substring(2), 16), c = c + String.fromCharCode(g) } else { void 0 !== d[h] ? c += d[h] : b.Debug.unexpected(h); } h = n; } else { for (var p in d) { if (a.indexOf(p, h + 1) === h + 1) { c += d[p]; h += p.length; break; } } } } } a = c; e += a; u += a.length; u - l && (r && r.textFormat.equals(w) ? r.endIndex = u : (r = new m.text.TextRun(l, u, w), f.push(r)), l = u); }, start:function(a, b) { switch(a) { case "a": h.push(w); g(""); var d = b.target || w.target, l = b.url || w.url; if (d !== w.target || l !== w.url) { w = w.clone(), w.target = d, w.url = l; } break; case "b": h.push(w); w.bold || (w = w.clone(), w.bold = !0); break; case "font": h.push(w); var d = s.isValidHexColor(b.color) ? s.hexToRGB(b.color) : w.color, l = b.face || w.font, n = isNaN(b.size) ? w.size : +b.size; if (d !== w.color || l !== w.font || n !== w.size) { w = w.clone(), w.color = d, w.font = l, w.size = n; } break; case "img": k(""); break; case "i": h.push(w); r || (w = w.clone(), w.italic = !0); break; case "li": if (h.push(w), w.bullet || (w = w.clone(), w.bullet = !0), "\r" === e[e.length - 1]) { break; } ; case "br": c && x.chars("\r"); break; case "p": h.push(w); d = b.align; -1 < m.text.TextFormatAlign.toNumber(d) && d !== w.align && (w = w.clone(), w.align = d); break; case "textformat": h.push(w); var d = isNaN(b.blockindent) ? w.blockIndent : +b.blockindent, l = isNaN(b.indent) ? w.indent : +b.indent, n = isNaN(b.leading) ? w.leading : +b.leading, f = isNaN(b.leftmargin) ? w.leftMargin : +b.leftmargin, q = isNaN(b.rightmargin) ? w.rightMargin : +b.rightmargin; if (d !== w.blockIndent || l !== w.indent || n !== w.leading || f !== w.leftMargin || q !== w.rightMargin) { w = w.clone(), w.blockIndent = d, w.indent = l, w.leading = n, w.leftMargin = f, w.rightMargin = q; } break; case "u": h.push(w), w.underline || (w = w.clone(), w.underline = !0); } }, end:function(a) { switch(a) { case "li": ; case "p": c && x.chars("\r"); case "a": ; case "b": ; case "font": ; case "i": ; case "textformat": ; case "u": w = h.pop(); } }}); this._plainText = e; this.textRunData.clear(); for (var y = 0;y < f.length;y++) { this._writeTextRun(f[y]); } this.flags |= 2; }; Object.defineProperty(a.prototype, "plainText", {get:function() { return this._plainText; }, set:function(a) { this._plainText = a; this.textRuns.length = 0; a = new m.text.TextRun(0, a.length, this.defaultTextFormat); this.textRuns[0] = a; this.textRunData.clear(); this._writeTextRun(a); this.flags |= 2; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "bounds", {get:function() { return this._bounds; }, set:function(a) { this._bounds.copyFrom(a); this.flags |= 1; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "autoSize", {get:function() { return this._autoSize; }, set:function(a) { a !== this._autoSize && (this._autoSize = a, this._plainText && (this.flags |= 8)); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "wordWrap", {get:function() { return this._wordWrap; }, set:function(a) { a !== this._wordWrap && (this._wordWrap = a, this._plainText && (this.flags |= 8)); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "backgroundColor", {get:function() { return this._backgroundColor; }, set:function(a) { a !== this._backgroundColor && (this._backgroundColor = a, this.flags |= 4); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "borderColor", {get:function() { return this._borderColor; }, set:function(a) { a !== this._borderColor && (this._borderColor = a, this.flags |= 4); }, enumerable:!0, configurable:!0}); a.prototype._writeTextRun = function(a) { var b = this.textRunData; b.writeInt(a.beginIndex); b.writeInt(a.endIndex); a = a.textFormat; var c = +a.size; b.writeInt(c); var d = m.text.Font.getByName(a.font) || m.text.Font.getDefaultFont(); d.fontType === m.text.FontType.EMBEDDED ? b.writeInt(d._id) : (b.writeInt(0), b.writeUTF(m.text.Font.resolveFontName(d.fontName))); b.writeInt(d.ascent * c); b.writeInt(d.descent * c); b.writeInt(null === a.leading ? d.leading * c : +a.leading); c = null === a.bold ? d.fontStyle === m.text.FontStyle.BOLD || d.fontType === m.text.FontStyle.BOLD_ITALIC : !!a.bold; d = null === a.italic ? d.fontStyle === m.text.FontStyle.ITALIC || d.fontType === m.text.FontStyle.BOLD_ITALIC : !!a.italic; b.writeBoolean(c); b.writeBoolean(d); b.writeInt(+a.color); b.writeInt(m.text.TextFormatAlign.toNumber(a.align)); b.writeBoolean(!!a.bullet); b.writeInt(+a.indent); b.writeInt(+a.kerning); b.writeInt(+a.leftMargin); b.writeInt(+a.letterSpacing); b.writeInt(+a.rightMargin); b.writeBoolean(!!a.underline); }; return a; }(); b.TextContent = a; })(Shumway || (Shumway = {})); var Shumway$$inline_423 = Shumway || (Shumway = {}), AVM2$$inline_424 = Shumway$$inline_423.AVM2 || (Shumway$$inline_423.AVM2 = {}), AS$$inline_425 = AVM2$$inline_424.AS || (AVM2$$inline_424.AS = {}); AS$$inline_425.flashOptions = Shumway$$inline_423.Settings.shumwayOptions.register(new Shumway$$inline_423.Options.OptionSet("Flash Options")); AS$$inline_425.traceLoaderOption = AS$$inline_425.flashOptions.register(new Shumway$$inline_423.Options.Option("tp", "Trace Loader", "boolean", !1, "Trace loader execution.")); AS$$inline_425.disableAudioOption = AS$$inline_425.flashOptions.register(new Shumway$$inline_423.Options.Option("da", "Disable Audio", "boolean", !1, "Disables audio.")); var AS$$inline_426 = AVM2$$inline_424.AS, AVM2$$inline_427 = Shumway$$inline_423.AVM2, __extends = this.__extends || function(b, k) { function g() { this.constructor = b; } for (var f in k) { k.hasOwnProperty(f) && (b[f] = k[f]); } g.prototype = k.prototype; b.prototype = new g; }; (function(b) { (function(b) { (function(b) { (function(f) { (function(k) { var s = function(b) { function d(a, b, d, f, e, g) { "undefined" === typeof a && (a = 1); "undefined" === typeof b && (b = 0); "undefined" === typeof d && (d = 0); "undefined" === typeof f && (f = 1); "undefined" === typeof e && (e = 0); "undefined" === typeof g && (g = 0); var l = this._data = new Float64Array(6); l[0] = a; l[1] = b; l[2] = d; l[3] = f; l[4] = e; l[5] = g; } __extends(d, b); d.FromUntyped = function(a) { return new f.geom.Matrix(a.a, a.b, a.c, a.d, a.tx, a.ty); }; d.FromDataBuffer = function(a) { return new f.geom.Matrix(a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat()); }; Object.defineProperty(d.prototype, "a", {get:function() { return this._data[0]; }, set:function(a) { this._data[0] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "b", {get:function() { return this._data[1]; }, set:function(a) { this._data[1] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "c", {get:function() { return this._data[2]; }, set:function(a) { this._data[2] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "d", {get:function() { return this._data[3]; }, set:function(a) { this._data[3] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "tx", {get:function() { return this._data[4]; }, set:function(a) { this._data[4] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "ty", {get:function() { return this._data[5]; }, set:function(a) { this._data[5] = a; }, enumerable:!0, configurable:!0}); d.prototype.concat = function(a) { var b = this._data; a = a._data; var d = b[0] * a[0], f = 0, e = 0, g = b[3] * a[3], l = b[4] * a[0] + a[4], m = b[5] * a[3] + a[5]; if (0 !== b[1] || 0 !== b[2] || 0 !== a[1] || 0 !== a[2]) { d += b[1] * a[2], g += b[2] * a[1], f += b[0] * a[1] + b[1] * a[3], e += b[2] * a[0] + b[3] * a[2], l += b[5] * a[2], m += b[4] * a[1]; } b[0] = d; b[1] = f; b[2] = e; b[3] = g; b[4] = l; b[5] = m; }; d.prototype.preMultiply = function(a) { this.preMultiplyInto(a, this); }; d.prototype.preMultiplyInto = function(a, b) { var d = this._data, f = a._data, e = b._data, g = f[0] * d[0], l = 0, m = 0, k = f[3] * d[3], r = f[4] * d[0] + d[4], h = f[5] * d[3] + d[5]; if (0 !== f[1] || 0 !== f[2] || 0 !== d[1] || 0 !== d[2]) { g += f[1] * d[2], k += f[2] * d[1], l += f[0] * d[1] + f[1] * d[3], m += f[2] * d[0] + f[3] * d[2], r += f[5] * d[2], h += f[4] * d[1]; } e[0] = g; e[1] = l; e[2] = m; e[3] = k; e[4] = r; e[5] = h; }; d.prototype.invert = function() { this.invertInto(this); }; d.prototype.invertInto = function(a) { var b = this._data, d = a._data, f = b[1], e = b[2], g = b[4], l = b[5]; if (0 === f && 0 === e) { var m = d[0] = 1 / b[0], b = d[3] = 1 / b[3]; d[1] = d[2] = 0; d[4] = -m * g; d[5] = -b * l; } else { var m = b[0], b = b[3], k = m * b - f * e; 0 === k ? a.identity() : (k = 1 / k, a = 0, a = d[0] = b * k, f = d[1] = -f * k, e = d[2] = -e * k, b = d[3] = m * k, d[4] = -(a * g + e * l), d[5] = -(f * g + b * l)); } }; d.prototype.identity = function() { var a = this._data; a[0] = a[3] = 1; a[1] = a[2] = a[4] = a[5] = 0; }; d.prototype.createBox = function(a, b, d, f, e) { "undefined" === typeof d && (d = 0); "undefined" === typeof f && (f = 0); "undefined" === typeof e && (e = 0); var g = this._data; if (0 !== d) { var l = Math.cos(d); d = Math.sin(d); g[0] = l * a; g[1] = d * b; g[2] = -d * a; g[3] = l * b; } else { g[0] = a, g[1] = 0, g[2] = 0, g[3] = b; } g[4] = f; g[5] = e; }; d.prototype.createGradientBox = function(a, b, d, f, e) { "undefined" === typeof d && (d = 0); "undefined" === typeof f && (f = 0); "undefined" === typeof e && (e = 0); this.createBox(a / 1638.4, b / 1638.4, d, f + a / 2, e + b / 2); }; d.prototype.rotate = function(a) { a = +a; if (0 !== a) { var b = this._data, d = Math.cos(a); a = Math.sin(a); var f = b[0], e = b[1], g = b[2], l = b[3], m = b[4], k = b[5]; b[0] = f * d - e * a; b[1] = f * a + e * d; b[2] = g * d - l * a; b[3] = g * a + l * d; b[4] = m * d - k * a; b[5] = m * a + k * d; } }; d.prototype.translate = function(a, b) { var d = this._data; d[4] += a; d[5] += b; }; d.prototype.scale = function(a, b) { var d = this._data; 1 !== a && (d[0] *= a, d[2] *= a, d[4] *= a); 1 !== b && (d[1] *= b, d[3] *= b, d[5] *= b); }; d.prototype.deltaTransformPoint = function(a) { return new k.Point(this._data[0] * a.x + this._data[2] * a.y, this._data[1] * a.x + this._data[3] * a.y); }; d.prototype.transformX = function(a, b) { var d = this._data; return d[0] * a + d[2] * b + d[4]; }; d.prototype.transformY = function(a, b) { var d = this._data; return d[1] * a + d[3] * b + d[5]; }; d.prototype.transformPoint = function(a) { var b = this._data; return new k.Point(b[0] * a.x + b[2] * a.y + b[4], b[1] * a.x + b[3] * a.y + b[5]); }; d.prototype.transformPointInPlace = function(a) { var b = this._data; a.setTo(b[0] * a.x + b[2] * a.y + b[4], b[1] * a.x + b[3] * a.y + b[5]); return a; }; d.prototype.transformBounds = function(a) { var b = this._data, d = b[0], f = b[1], e = b[2], g = b[3], l = b[4], m = b[5], k = a.xMin, r = a.yMin, h = a.width, x = a.height, b = Math.round(d * k + e * r + l), s = Math.round(f * k + g * r + m), t = Math.round(d * (k + h) + e * r + l), I = Math.round(f * (k + h) + g * r + m), C = Math.round(d * (k + h) + e * (r + x) + l), h = Math.round(f * (k + h) + g * (r + x) + m), d = Math.round(d * k + e * (r + x) + l), f = Math.round(f * k + g * (r + x) + m), g = 0; b > t && (g = b, b = t, t = g); C > d && (g = C, C = d, d = g); a.xMin = b < C ? b : C; a.xMax = t > d ? t : d; s > I && (g = s, s = I, I = g); h > f && (g = h, h = f, f = g); a.yMin = s < h ? s : h; a.yMax = I > f ? I : f; }; d.prototype.getDeterminant = function() { var a = this._data; return a[0] * a[3] - a[1] * a[2]; }; d.prototype.getScaleX = function() { var a = this._data; if (1 === a[0] && 0 === a[1]) { return 1; } a = Math.sqrt(a[0] * a[0] + a[1] * a[1]); return 0 > this.getDeterminant() ? -a : a; }; d.prototype.getScaleY = function() { var a = this._data; if (0 === a[2] && 1 === a[3]) { return 1; } a = Math.sqrt(a[2] * a[2] + a[3] * a[3]); return 0 > this.getDeterminant() ? -a : a; }; d.prototype.getAbsoluteScaleX = function() { return Math.abs(this.getScaleX()); }; d.prototype.getAbsoluteScaleY = function() { return Math.abs(this.getScaleY()); }; d.prototype.getRotation = function() { return Math.atan2(this._data[1], this._data[0]); }; d.prototype.copyFrom = function(a) { var b = this._data; a = a._data; b[0] = a[0]; b[1] = a[1]; b[2] = a[2]; b[3] = a[3]; b[4] = a[4]; b[5] = a[5]; }; d.prototype.setTo = function(a, b, d, f, e, g) { var l = this._data; l[0] = a; l[1] = b; l[2] = d; l[3] = f; l[4] = e; l[5] = g; }; d.prototype.toTwipsInPlace = function() { var a = this._data; a[4] = 20 * a[4] | 0; a[5] = 20 * a[5] | 0; return this; }; d.prototype.toPixelsInPlace = function() { var a = this._data; a[4] /= 20; a[5] /= 20; return this; }; d.prototype.copyRowTo = function(a, b) { var d = this._data; a >>>= 0; 0 === a ? (b.x = d[0], b.y = d[2], b.z = d[4]) : 1 === a ? (b.x = d[1], b.y = d[3], b.z = d[5]) : 2 === a && (b.x = 0, b.y = 0, b.z = 1); }; d.prototype.copyColumnTo = function(a, b) { var d = this._data; a >>>= 0; 0 === a ? (b.x = d[0], b.y = d[1], b.z = 0) : 1 === a ? (b.x = d[2], b.y = d[3], b.z = 0) : 2 === a && (b.x = d[4], b.y = d[5], b.z = 1); }; d.prototype.copyRowFrom = function(a, b) { var d = this._data; a >>>= 0; 0 === a ? (d[0] = b.x, d[2] = b.y, d[4] = b.z) : 1 === a && (d[1] = b.x, d[3] = b.y, d[5] = b.z); }; d.prototype.copyColumnFrom = function(a, b) { var d = this._data; a >>>= 0; 0 === a ? (d[0] = b.x, d[2] = b.y, d[4] = b.z) : 1 === a && (d[1] = b.x, d[3] = b.y, d[5] = b.z); }; d.prototype.updateScaleAndRotation = function(a, b, d) { var f = this._data; if (0 === d || 360 === d) { f[0] = a, f[1] = f[2] = 0, f[3] = b; } else { var e = 0, g = 0; switch(d) { case 90: ; case -270: e = 0; g = 1; break; case 180: ; case -180: e = -1; g = 0; break; case 270: ; case -90: e = 0; g = -1; break; default: d = d / 180 * Math.PI, e = Math.cos(d), g = Math.sin(d); } f[0] = e * a; f[1] = g * a; f[2] = -g * b; f[3] = e * b; } }; d.prototype.clone = function() { var a = this._data; return new f.geom.Matrix(a[0], a[1], a[2], a[3], a[4], a[5]); }; d.prototype.equals = function(a) { var b = this._data; a = a._data; return b[0] === a[0] && b[1] === a[1] && b[2] === a[2] && b[3] === a[3] && b[4] === a[4] && b[5] === a[5]; }; d.prototype.toString = function() { var a = this._data; return "(a=" + a[0] + ", b=" + a[1] + ", c=" + a[2] + ", d=" + a[3] + ", tx=" + a[4] + ", ty=" + a[5] + ")"; }; d.prototype.writeExternal = function(a) { var b = this._data; a.writeFloat(b[0]); a.writeFloat(b[1]); a.writeFloat(b[2]); a.writeFloat(b[3]); a.writeFloat(b[4]); a.writeFloat(b[5]); }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.FROZEN_IDENTITY_MATRIX = Object.freeze(new d); d.TEMP_MATRIX = new d; return d; }(b.ASNative); k.Matrix = s; })(f.geom || (f.geom = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(k) { function s(a, b, c, d, l, g, m) { var r = b * b, h = c * c, k = d * d, s = r + h + k, t = Math.sqrt(s); b /= t; c /= t; d /= t; r /= s; h /= s; k /= s; s = Math.cos(a); a = Math.sin(a); return new f.geom.Matrix3D([r + (h + k) * s, b * c * (1 - s) + d * a, b * d * (1 - s) - c * a, 0, b * c * (1 - s) - d * a, h + (r + k) * s, c * d * (1 - s) + b * a, 0, b * d * (1 - s) + c * a, c * d * (1 - s) - b * a, k + (r + h) * s, 0, (l * (h + k) - b * (g * c + m * d)) * (1 - s) + (g * d - m * c) * a, (g * (r + k) - c * (l * b + m * d)) * (1 - s) + (m * b - l * d) * a, (m * (r + h) - d * (l * b + g * c)) * (1 - s) + (l * c - g * b) * a, 1]); } var m = b.Debug.notImplemented, d = b.AVM2.Runtime.asCoerceString, a = new Uint32Array([0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15]), c = function(b) { function c(a) { "undefined" === typeof a && (a = null); this._matrix = new Float32Array(16); a && 16 <= a.length ? this.copyRawDataFrom(a) : this.identity(); } __extends(c, b); c.interpolate = function(a, b, c) { m("public flash.geom.Matrix3D::static interpolate"); }; Object.defineProperty(c.prototype, "rawData", {get:function() { var a = new g.Float64Vector; this.copyRawDataTo(a); return a; }, set:function(a) { this.copyRawDataFrom(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "position", {get:function() { var a = this._matrix; return new f.geom.Vector3D(a[12], a[13], a[14]); }, set:function(a) { var b = this._matrix; b[12] = a.x; b[13] = a.y; b[14] = a.z; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "determinant", {get:function() { var a = this._matrix, b = a[4], c = a[8], d = a[12], f = a[5], n = a[9], h = a[13], g = a[6], p = a[10], m = a[14], k = a[7], s = a[11], t = a[15]; return a[0] * (f * (p * t - s * m) - g * (n * t - s * h) + k * (n * m - p * h)) - a[1] * (b * (p * t - s * m) - g * (c * t - s * d) + k * (c * m - p * d)) + a[2] * (b * (n * t - s * h) - f * (c * t - s * d) + k * (c * h - n * d)) - a[3] * (b * (n * m - p * h) - f * (c * m - p * d) + g * (c * h - n * d)); }, enumerable:!0, configurable:!0}); c.prototype.clone = function() { return new f.geom.Matrix3D(this._matrix); }; c.prototype.copyToMatrix3D = function(a) { a._matrix.set(this._matrix); }; c.prototype.append = function(a) { var b = a._matrix, c = this._matrix; a = this._matrix; var d = b[0], f = b[4], n = b[8], h = b[12], g = b[1], p = b[5], m = b[9], k = b[13], s = b[2], t = b[6], O = b[10], K = b[14], F = b[3], J = b[7], A = b[11], b = b[15], B = c[0], z = c[4], P = c[8], D = c[12], L = c[1], M = c[5], V = c[9], Q = c[13], U = c[2], S = c[6], aa = c[10], $ = c[14], ea = c[3], Z = c[7], v = c[11], c = c[15]; a[0] = d * B + f * L + n * U + h * ea; a[1] = g * B + p * L + m * U + k * ea; a[2] = s * B + t * L + O * U + K * ea; a[3] = F * B + J * L + A * U + b * ea; a[4] = d * z + f * M + n * S + h * Z; a[5] = g * z + p * M + m * S + k * Z; a[6] = s * z + t * M + O * S + K * Z; a[7] = F * z + J * M + A * S + b * Z; a[8] = d * P + f * V + n * aa + h * v; a[9] = g * P + p * V + m * aa + k * v; a[10] = s * P + t * V + O * aa + K * v; a[11] = F * P + J * V + A * aa + b * v; a[12] = d * D + f * Q + n * $ + h * c; a[13] = g * D + p * Q + m * $ + k * c; a[14] = s * D + t * Q + O * $ + K * c; a[15] = F * D + J * Q + A * $ + b * c; }; c.prototype.prepend = function(a) { var b = this._matrix, c = a._matrix; a = this._matrix; var d = b[0], f = b[4], n = b[8], h = b[12], g = b[1], p = b[5], m = b[9], k = b[13], s = b[2], t = b[6], O = b[10], K = b[14], F = b[3], J = b[7], A = b[11], b = b[15], B = c[0], z = c[4], P = c[8], D = c[12], L = c[1], M = c[5], V = c[9], Q = c[13], U = c[2], S = c[6], aa = c[10], $ = c[14], ea = c[3], Z = c[7], v = c[11], c = c[15]; a[0] = d * B + f * L + n * U + h * ea; a[1] = g * B + p * L + m * U + k * ea; a[2] = s * B + t * L + O * U + K * ea; a[3] = F * B + J * L + A * U + b * ea; a[4] = d * z + f * M + n * S + h * Z; a[5] = g * z + p * M + m * S + k * Z; a[6] = s * z + t * M + O * S + K * Z; a[7] = F * z + J * M + A * S + b * Z; a[8] = d * P + f * V + n * aa + h * v; a[9] = g * P + p * V + m * aa + k * v; a[10] = s * P + t * V + O * aa + K * v; a[11] = F * P + J * V + A * aa + b * v; a[12] = d * D + f * Q + n * $ + h * c; a[13] = g * D + p * Q + m * $ + k * c; a[14] = s * D + t * Q + O * $ + K * c; a[15] = F * D + J * Q + A * $ + b * c; }; c.prototype.invert = function() { var a = this.determinant; if (1E-7 > Math.abs(a)) { return!1; } var a = 1 / a, b = this._matrix, c = b[0], d = b[1], f = b[2], n = b[3], h = b[4], g = b[5], p = b[6], m = b[7], k = b[8], s = b[9], t = b[10], O = b[11], K = b[12], F = b[13], J = b[14], A = b[15]; b[0] = a * (g * (t * A - J * O) - s * (p * A - J * m) + F * (p * O - t * m)); b[1] = -a * (d * (t * A - J * O) - s * (f * A - J * n) + F * (f * O - t * n)); b[2] = a * (d * (p * A - J * m) - g * (f * A - J * n) + F * (f * m - p * n)); b[3] = -a * (d * (p * O - t * m) - g * (f * O - t * n) + s * (f * m - p * n)); b[4] = -a * (h * (t * A - J * O) - k * (p * A - J * m) + K * (p * O - t * m)); b[5] = a * (c * (t * A - J * O) - k * (f * A - J * n) + K * (f * O - t * n)); b[6] = -a * (c * (p * A - J * m) - h * (f * A - J * n) + K * (f * m - p * n)); b[7] = a * (c * (p * O - t * m) - h * (f * O - t * n) + k * (f * m - p * n)); b[8] = a * (h * (s * A - F * O) - k * (g * A - F * m) + K * (g * O - s * m)); b[9] = -a * (c * (s * A - F * O) - k * (d * A - F * n) + K * (d * O - s * n)); b[10] = a * (c * (g * A - F * m) - h * (d * A - F * n) + K * (d * m - g * n)); b[11] = -a * (c * (g * O - s * m) - h * (d * O - s * n) + k * (d * m - g * n)); b[12] = -a * (h * (s * J - F * t) - k * (g * J - F * p) + K * (g * t - s * p)); b[13] = a * (c * (s * J - F * t) - k * (d * J - F * f) + K * (d * t - s * f)); b[14] = -a * (c * (g * J - F * p) - h * (d * J - F * f) + K * (d * p - g * f)); b[15] = a * (c * (g * t - s * p) - h * (d * t - s * f) + k * (d * p - g * f)); return!0; }; c.prototype.identity = function() { var a = this._matrix; a[0] = a[5] = a[10] = a[15] = 1; a[1] = a[2] = a[3] = a[4] = a[6] = a[7] = a[8] = a[9] = a[11] = a[12] = a[13] = a[14] = 0; }; c.prototype.decompose = function(a) { "undefined" === typeof a && (a = "eulerAngles"); d(a); m("public flash.geom.Matrix3D::decompose"); }; c.prototype.recompose = function(a, b) { "undefined" === typeof b && (b = "eulerAngles"); d(b); m("public flash.geom.Matrix3D::recompose"); }; c.prototype.appendTranslation = function(a, b, c) { a = +a; b = +b; c = +c; var d = this._matrix, f = d[3], n = d[7], h = d[11], g = d[15]; d[0] += a * f; d[1] += b * f; d[2] += c * f; d[4] += a * n; d[5] += b * n; d[6] += c * n; d[8] += a * h; d[9] += b * h; d[10] += c * h; d[12] += a * g; d[13] += b * g; d[14] += c * g; }; c.prototype.appendRotation = function(a, b, c) { "undefined" === typeof c && (c = null); this.append(s(+a / 180 * Math.PI, b.x, b.y, b.z, c ? c.x : 0, c ? c.y : 0, c ? c.z : 0)); }; c.prototype.appendScale = function(a, b, c) { a = +a; b = +b; c = +c; var d = this._matrix; d[0] *= a; d[1] *= b; d[2] *= c; d[4] *= a; d[5] *= b; d[6] *= c; d[8] *= a; d[9] *= b; d[10] *= c; d[12] *= a; d[13] *= b; d[14] *= c; }; c.prototype.prependTranslation = function(a, b, c) { a = +a; b = +b; c = +c; var d = this._matrix, f = d[1], n = d[5], h = d[9], g = d[2], p = d[6], m = d[10], k = d[3], s = d[7], t = d[11]; d[12] += d[0] * a + d[4] * b + d[8] * c; d[13] += f * a + n * b + h * c; d[14] += g * a + p * b + m * c; d[15] += k * a + s * b + t * c; }; c.prototype.prependRotation = function(a, b, c) { "undefined" === typeof c && (c = null); this.prepend(s(+a / 180 * Math.PI, b.x, b.y, b.z, c ? c.x : 0, c ? c.y : 0, c ? c.z : 0)); }; c.prototype.prependScale = function(a, b, c) { a = +a; b = +b; c = +c; var d = this._matrix; d[0] *= a; d[1] *= a; d[2] *= a; d[3] *= a; d[4] *= b; d[5] *= b; d[6] *= b; d[7] *= b; d[8] *= c; d[9] *= c; d[10] *= c; d[11] *= c; }; c.prototype.transformVector = function(a) { var b = this._matrix, c = a.x, d = a.y; a = a.z; return new f.geom.Vector3D(b[0] * c + b[4] * d + b[8] * a + b[12], b[1] * c + b[5] * d + b[9] * a + b[13], b[2] * c + b[6] * d + b[10] * a + b[14]); }; c.prototype.deltaTransformVector = function(a) { var b = this._matrix, c = a.x, d = a.y; a = a.z; return new f.geom.Vector3D(b[0] * c + b[4] * d + b[8] * a, b[1] * c + b[5] * d + b[9] * a, b[2] * c + b[6] * d + b[10] * a); }; c.prototype.transformVectors = function(a, b) { for (var c = this._matrix, d = c[0], f = c[4], n = c[8], h = c[12], g = c[1], p = c[5], m = c[9], k = c[13], s = c[2], t = c[6], O = c[10], c = c[14], K = 0;K < a.length - 2;K += 3) { var F = a.asGetNumericProperty(K), J = a.asGetNumericProperty(K + 1), A = a.asGetNumericProperty(K + 2); b.push(d * F + f * J + n * A + h); b.push(g * F + p * J + m * A + k); b.push(s * F + t * J + O * A + c); } }; c.prototype.transpose = function() { var a = this._matrix, b; b = a[1]; a[1] = a[4]; a[4] = b; b = a[2]; a[2] = a[8]; a[5] = b; b = a[3]; a[3] = a[12]; a[12] = b; b = a[6]; a[6] = a[9]; a[9] = b; b = a[7]; a[7] = a[13]; a[13] = b; b = a[11]; a[11] = a[14]; a[14] = b; }; c.prototype.pointAt = function(a, b, c) { m("public flash.geom.Matrix3D::pointAt"); }; c.prototype.interpolateTo = function(a, b) { m("public flash.geom.Matrix3D::interpolateTo"); }; c.prototype.copyFrom = function(a) { this._matrix.set(a._matrix); }; c.prototype.copyRawDataTo = function(b) { var c = 0, d = !1; "undefined" === typeof c && (c = 0); "undefined" === typeof d && (d = !1); var c = c >>> 0, f = this._matrix; if (d) { for (d = 0, c |= 0;16 > d;d++, c++) { b.asSetNumericProperty(c, f[a[d]]); } } else { for (d = 0, c |= 0;16 > d;d++, c++) { b.asSetNumericProperty(c, f[d]); } } }; c.prototype.copyRawDataFrom = function(b) { var c = 0, d = !1; "undefined" === typeof c && (c = 0); "undefined" === typeof d && (d = !1); var c = c >>> 0, f = this._matrix; if (d) { for (d = 0, c |= 0;16 > d;d++, c++) { f[a[d]] = b.asGetNumericProperty(c) || 0; } } else { for (d = 0, c |= 0;16 > d;d++, c++) { f[d] = b.asGetNumericProperty(c) || 0; } } }; c.prototype.copyRowTo = function(a, b) { var c = a >>> 0 | 0, d = this._matrix; b.x = d[c]; b.y = d[c + 4]; b.z = d[c + 8]; b.w = d[c + 12]; }; c.prototype.copyColumnTo = function(a, b) { var c = a >>> 0 << 2, d = this._matrix; b.x = d[c]; b.y = d[c + 1]; b.z = d[c + 2]; b.w = d[c + 3]; }; c.prototype.copyRowFrom = function(a, b) { var c = a >>> 0 | 0, d = this._matrix; d[c] = b.x; d[c + 4] = b.y; d[c + 8] = b.z; d[c + 12] = b.w; }; c.prototype.copyColumnFrom = function(a, b) { var c = a >>> 0 << 2, d = this._matrix; d[c] = b.x; d[c + 1] = b.y; d[c + 2] = b.z; d[c + 3] = b.w; }; c.classInitializer = null; c.initializer = null; c.classSymbols = null; c.instanceSymbols = null; return c; }(g.ASNative); k.Matrix3D = c; })(f.geom || (f.geom = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.geom.Orientation3D"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.EULER_ANGLES = "eulerAngles"; a.AXIS_ANGLE = "axisAngle"; a.QUATERNION = "quaternion"; return a; }(g.ASNative); f.Orientation3D = m; })(f.geom || (f.geom = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.geom.PerspectiveProjection"); } __extends(a, b); Object.defineProperty(a.prototype, "fieldOfView", {get:function() { k("public flash.geom.PerspectiveProjection::get fieldOfView"); }, set:function(a) { k("public flash.geom.PerspectiveProjection::set fieldOfView"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "projectionCenter", {get:function() { k("public flash.geom.PerspectiveProjection::get projectionCenter"); }, set:function(a) { k("public flash.geom.PerspectiveProjection::set projectionCenter"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "focalLength", {get:function() { k("public flash.geom.PerspectiveProjection::get focalLength"); }, set:function(a) { k("public flash.geom.PerspectiveProjection::set focalLength"); }, enumerable:!0, configurable:!0}); a.prototype.toMatrix3D = function() { k("public flash.geom.PerspectiveProjection::toMatrix3D"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.PerspectiveProjection = m; })(f.geom || (f.geom = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d(a, b) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = 0); this.x = +a; this.y = +b; } __extends(d, b); Object.defineProperty(d.prototype, "native_x", {get:function() { return this.x; }, set:function(a) { this.x = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "native_y", {get:function() { return this.y; }, set:function(a) { this.y = a; }, enumerable:!0, configurable:!0}); d.prototype.Point = function(a, b) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = 0); this.x = a; this.y = b; }; Object.defineProperty(d.prototype, "length", {get:function() { return Math.sqrt(this.x * this.x + this.y * this.y); }, enumerable:!0, configurable:!0}); d.interpolate = function(a, b, f) { var g = 1 - f; return new d(a.x * f + b.x * g, a.y * f + b.y * g); }; d.distance = function(a, b) { var d = b.x - a.x, f = b.y - a.y; return 0 === d ? Math.abs(f) : 0 === f ? Math.abs(d) : Math.sqrt(d * d + f * f); }; d.polar = function(a, b) { a = +a; b = +b; return new d(a * Math.cos(b), a * Math.sin(b)); }; d.prototype.clone = function() { return new d(this.x, this.y); }; d.prototype.offset = function(a, b) { this.x += +a; this.y += +b; }; d.prototype.equals = function(a) { return this.x === a.x && this.y === a.y; }; d.prototype.subtract = function(a) { return new d(this.x - a.x, this.y - a.y); }; d.prototype.add = function(a) { return new d(this.x + a.x, this.y + a.y); }; d.prototype.normalize = function(a) { if (0 !== this.x || 0 !== this.y) { a = +a / this.length, this.x *= a, this.y *= a; } }; d.prototype.copyFrom = function(a) { this.x = a.x; this.y = a.y; }; d.prototype.setTo = function(a, b) { this.x = +a; this.y = +b; }; d.prototype.toTwips = function() { this.x = 20 * this.x | 0; this.y = 20 * this.y | 0; return this; }; d.prototype.toPixels = function() { this.x /= 20; this.y /= 20; return this; }; d.prototype.round = function() { this.x = Math.round(this.x); this.y = Math.round(this.y); return this; }; d.prototype.toString = function() { return "(x=" + this.x + ", y=" + this.y + ")"; }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; return d; }(b.ASNative); f.Point = k; })(f.geom || (f.geom = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d(a, b, d, f) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = 0); "undefined" === typeof d && (d = 0); "undefined" === typeof f && (f = 0); this.x = +a; this.y = +b; this.width = +d; this.height = +f; } __extends(d, b); d.FromBounds = function(a) { var b = a.xMin, f = a.yMin; return new d(b / 20, f / 20, (a.xMax - b) / 20, (a.yMax - f) / 20); }; Object.defineProperty(d.prototype, "native_x", {get:function() { return this.x; }, set:function(a) { this.x = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "native_y", {get:function() { return this.y; }, set:function(a) { this.y = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "native_width", {get:function() { return this.width; }, set:function(a) { this.width = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "native_height", {get:function() { return this.height; }, set:function(a) { this.height = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "left", {get:function() { return this.x; }, set:function(a) { a = +a; this.width += this.x - a; this.x = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "right", {get:function() { return this.x + this.width; }, set:function(a) { this.width = +a - this.x; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "top", {get:function() { return this.y; }, set:function(a) { a = +a; this.height += this.y - a; this.y = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "bottom", {get:function() { return this.y + this.height; }, set:function(a) { this.height = +a - this.y; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "topLeft", {get:function() { return new f.Point(this.left, this.top); }, set:function(a) { this.top = a.y; this.left = a.x; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "bottomRight", {get:function() { return new f.Point(this.right, this.bottom); }, set:function(a) { this.bottom = a.y; this.right = a.x; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "size", {get:function() { return new f.Point(this.width, this.height); }, set:function(a) { this.width = a.x; this.height = a.y; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "area", {get:function() { return this.width * this.height; }, enumerable:!0, configurable:!0}); d.prototype.clone = function() { return new d(this.x, this.y, this.width, this.height); }; d.prototype.isEmpty = function() { return 0 >= this.width || 0 >= this.height; }; d.prototype.setEmpty = function() { this.height = this.width = this.y = this.x = 0; }; d.prototype.inflate = function(a, b) { a = +a; b = +b; this.x -= a; this.y -= b; this.width += 2 * a; this.height += 2 * b; }; d.prototype.inflatePoint = function(a) { this.inflate(a.x, a.y); }; d.prototype.offset = function(a, b) { this.x += +a; this.y += +b; }; d.prototype.offsetPoint = function(a) { this.offset(a.x, a.y); }; d.prototype.contains = function(a, b) { a = +a; b = +b; return a >= this.x && a < this.right && b >= this.y && b < this.bottom; }; d.prototype.containsPoint = function(a) { return this.contains(a.x, a.y); }; d.prototype.containsRect = function(a) { var b = a.x + a.width, d = a.y + a.height, f = this.x + this.width, e = this.y + this.height; return a.x >= this.x && a.x < f && a.y >= this.y && a.y < e && b > this.x && b <= f && d > this.y && d <= e; }; d.prototype.intersection = function(a) { return this.clone().intersectInPlace(a); }; d.prototype.intersects = function(a) { return Math.max(this.x, a.x) <= Math.min(this.right, a.right) && Math.max(this.y, a.y) <= Math.min(this.bottom, a.bottom); }; d.prototype.intersectInPlace = function(a) { var b = this.x, d = this.y, f = a.x, e = a.y, g = Math.max(b, f), b = Math.min(b + this.width, f + a.width); if (g <= b && (f = Math.max(d, e), a = Math.min(d + this.height, e + a.height), f <= a)) { return this.setTo(g, f, b - g, a - f), this; } this.setEmpty(); return this; }; d.prototype.intersectInPlaceInt32 = function(a) { var b = this.x | 0, d = this.y | 0, f = this.width | 0, e = this.height | 0, g = a.x | 0, l = a.width | 0, m = Math.max(b, g) | 0, b = Math.min(b + f | 0, g + l | 0) | 0; if (m <= b && (f = a.y | 0, g = a.height | 0, a = Math.max(d, f) | 0, d = Math.min(d + e | 0, f + g | 0), a <= d)) { return this.setTo(m, a, b - m, d - a), this; } this.setEmpty(); return this; }; d.prototype.union = function(a) { return this.clone().unionInPlace(a); }; d.prototype.unionInPlace = function(a) { if (!a.isEmpty()) { if (this.isEmpty()) { this.copyFrom(a); } else { var b = Math.min(this.x, a.x), d = Math.min(this.y, a.y); this.setTo(b, d, Math.max(this.right, a.right) - b, Math.max(this.bottom, a.bottom) - d); return this; } } }; d.prototype.equals = function(a) { return this.x === a.x && this.y === a.y && this.width === a.width && this.height === a.height; }; d.prototype.copyFrom = function(a) { this.x = a.x; this.y = a.y; this.width = a.width; this.height = a.height; }; d.prototype.setTo = function(a, b, d, f) { this.x = +a; this.y = +b; this.width = +d; this.height = +f; }; d.prototype.toTwips = function() { this.x = 20 * this.x | 0; this.y = 20 * this.y | 0; this.width = 20 * this.width | 0; this.height = 20 * this.height | 0; return this; }; d.prototype.getBaseWidth = function(a) { return Math.abs(Math.cos(a)) * this.width + Math.abs(Math.sin(a)) * this.height; }; d.prototype.getBaseHeight = function(a) { return Math.abs(Math.sin(a)) * this.width + Math.abs(Math.cos(a)) * this.height; }; d.prototype.toPixels = function() { this.x /= 20; this.y /= 20; this.width /= 20; this.height /= 20; return this; }; d.prototype.snapInPlace = function() { var a = Math.ceil(this.x + this.width), b = Math.ceil(this.y + this.height); this.x = Math.floor(this.x); this.y = Math.floor(this.y); this.width = a - this.x; this.height = b - this.y; return this; }; d.prototype.roundInPlace = function() { var a = Math.round(this.x + this.width), b = Math.round(this.y + this.height); this.x = Math.round(this.x); this.y = Math.round(this.y); this.width = a - this.x; this.height = b - this.y; return this; }; d.prototype.toString = function() { return "(x=" + this.x + ", y=" + this.y + ", w=" + this.width + ", h=" + this.height + ")"; }; d.prototype.writeExternal = function(a) { a.writeFloat(this.x); a.writeFloat(this.y); a.writeFloat(this.width); a.writeFloat(this.height); }; d.prototype.readExternal = function(a) { this.x = a.readFloat(); this.y = a.readFloat(); this.width = a.readFloat(); this.height = a.readFloat(); }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; return d; }(b.ASNative); f.Rectangle = k; })(f.geom || (f.geom = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(k) { var s = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = b.AVM2.Runtime.throwError, a = b.AVM2.Errors, c = function(b) { function c(b) { b || d("ArgumentError", a.NullPointerError, "displayObject"); this._displayObject = b; } __extends(c, b); Object.defineProperty(c.prototype, "matrix", {get:function() { return this._displayObject._getMatrix().clone().toPixelsInPlace(); }, set:function(a) { this._displayObject._setMatrix(a, !0); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "colorTransform", {get:function() { return this._displayObject._colorTransform.clone(); }, set:function(a) { this._displayObject._setColorTransform(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "concatenatedMatrix", {get:function() { var a = this._displayObject._getConcatenatedMatrix().clone().toPixelsInPlace(); this._displayObject._stage || a.scale(5, 5); return a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "concatenatedColorTransform", {get:function() { return this._displayObject._getConcatenatedColorTransform(); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "pixelBounds", {get:function() { s("public flash.geom.Transform::get pixelBounds"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "matrix3D", {get:function() { var a = this._displayObject._matrix3D; return a && a.clone(); }, set:function(b) { k.Matrix3D.isType(b) || d("TypeError", a.CheckTypeFailedError, b, "flash.geom.Matrix3D"); b = b.rawData; this.matrix = new f.geom.Matrix(b.asGetPublicProperty(0), b.asGetPublicProperty(1), b.asGetPublicProperty(4), b.asGetPublicProperty(5), b.asGetPublicProperty(12), b.asGetPublicProperty(13)); m("public flash.geom.Transform::set matrix3D"); }, enumerable:!0, configurable:!0}); c.prototype.getRelativeMatrix3D = function(a) { s("public flash.geom.Transform::getRelativeMatrix3D"); }; Object.defineProperty(c.prototype, "perspectiveProjection", {get:function() { s("public flash.geom.Transform::get perspectiveProjection"); }, set:function(a) { s("public flash.geom.Transform::set perspectiveProjection"); }, enumerable:!0, configurable:!0}); c.classInitializer = null; c.initializer = null; c.classSymbols = null; c.instanceSymbols = null; return c; }(g.ASNative); k.Transform = c; })(f.geom || (f.geom = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.geom.Utils3D"); } __extends(a, b); a.projectVector = function(a, b) { k("public flash.geom.Utils3D::static projectVector"); }; a.projectVectors = function(a, b, d, e) { k("public flash.geom.Utils3D::static projectVectors"); }; a.pointTowards = function(a, b, d, e, f) { k("public flash.geom.Utils3D::static pointTowards"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.Utils3D = m; })(f.geom || (f.geom = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d(a, b, d, f) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = 0); "undefined" === typeof d && (d = 0); "undefined" === typeof f && (f = 0); this.x = +a; this.y = +b; this.z = +d; this.w = +f; } __extends(d, b); Object.defineProperty(d.prototype, "native_x", {get:function() { return this.x; }, set:function(a) { this.x = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "native_y", {get:function() { return this.y; }, set:function(a) { this.y = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "native_z", {get:function() { return this.z; }, set:function(a) { this.z = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "native_w", {get:function() { return this.w; }, set:function(a) { this.w = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "length", {get:function() { return Math.sqrt(this.lengthSquared); }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "lengthSquared", {get:function() { return this.x * this.x + this.y * this.y + this.z * this.z; }, enumerable:!0, configurable:!0}); d.angleBetween = function(a, b) { return Math.acos(a.dotProduct(b) / (a.length * b.length)); }; d.distance = function(a, b) { return a.subtract(b).length; }; d.prototype.dotProduct = function(a) { return this.x * a.x + this.y * a.y + this.z * a.z; }; d.prototype.crossProduct = function(a) { return new d(this.y * a.z - this.z * a.y, this.z * a.x - this.x * a.z, this.x * a.y - this.y * a.x, 1); }; d.prototype.normalize = function() { var a = this.length; 0 !== a ? (this.x /= a, this.y /= a, this.z /= a) : this.x = this.y = this.z = 0; return a; }; d.prototype.scaleBy = function(a) { a = +a; this.x *= a; this.y *= a; this.z *= a; }; d.prototype.incrementBy = function(a) { this.x += a.x; this.y += a.y; this.z += a.z; }; d.prototype.decrementBy = function(a) { this.x -= a.x; this.y -= a.y; this.z -= a.z; }; d.prototype.add = function(a) { return new d(this.x + a.x, this.y + a.y, this.z + a.z); }; d.prototype.subtract = function(a) { return new d(this.x - a.x, this.y - a.y, this.z - a.z); }; d.prototype.negate = function() { this.x = -this.x; this.y = -this.y; this.z = -this.z; }; d.prototype.equals = function(a, b) { return this.x === a.x && this.y === a.y && this.z === a.z && (!b || this.w === a.w); }; d.prototype.nearEquals = function(a, b, d) { return Math.abs(this.x - a.x) < b && Math.abs(this.y - a.y) < b && Math.abs(this.z - a.z) < b && (!d || Math.abs(this.w - a.w) < b); }; d.prototype.project = function() { this.x /= this.w; this.y /= this.w; this.z /= this.w; }; d.prototype.copyFrom = function(a) { this.x = a.x; this.y = a.y; this.z = a.z; }; d.prototype.setTo = function(a, b, d) { this.x = +a; this.y = +b; this.z = +d; }; d.prototype.clone = function() { return new d(this.x, this.y, this.z, this.w); }; d.prototype.toString = function() { return "Vector3D(" + this.x + ", " + this.y + ", " + this.z + ")"; }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.X_AXIS = Object.freeze(new d(1, 0, 0)); d.Y_AXIS = Object.freeze(new d(0, 1, 0)); d.Z_AXIS = Object.freeze(new d(0, 0, 1)); return d; }(b.ASNative); f.Vector3D = k; })(f.geom || (f.geom = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.accessibility.Accessibility"); } __extends(a, b); Object.defineProperty(a, "active", {get:function() { k("public flash.accessibility.Accessibility::get active"); return a._active; }, enumerable:!0, configurable:!0}); a.sendEvent = function(a, b, d, e) { k("public flash.accessibility.Accessibility::static sendEvent"); }; a.updateProperties = function() { k("public flash.accessibility.Accessibility::static updateProperties"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a._active = !1; return a; }(g.ASNative); f.Accessibility = m; })(f.accessibility || (f.accessibility = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.accessibility.AccessibilityImplementation"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.AccessibilityImplementation = m; })(f.accessibility || (f.accessibility = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; return d; }(b.ASNative); f.AccessibilityProperties = k; })(f.accessibility || (f.accessibility = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.assert, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function c(a, b, c) { "undefined" === typeof b && (b = !1); "undefined" === typeof c && (c = !1); this._type = m(a); this._bubbles = !!b; this._cancelable = !!c; this._currentTarget = this._target = null; this._eventPhase = f.EventPhase.AT_TARGET; this._isDefaultPrevented = this._stopImmediatePropagation = this._stopPropagation = !1; } __extends(c, a); c.getInstance = function(a, b) { var d; "undefined" === typeof b && (b = !1); "undefined" === typeof d && (d = !1); var f = c._instances[a]; f || (f = new c(a, b, d), c._instances[a] = f); f._bubbles = b; f._cancelable = d; return f; }; c.getBroadcastInstance = function(a) { var b, d; "undefined" === typeof b && (b = !1); "undefined" === typeof d && (d = !1); var f = c._instances[a]; f || (f = new c(a, b, d), c._instances[a] = f, k(c.isBroadcastEventType(a))); f._isBroadcastEvent = !0; f._bubbles = b; f._cancelable = d; return f; }; c.isBroadcastEventType = function(a) { switch(a) { case c.ENTER_FRAME: ; case c.EXIT_FRAME: ; case c.FRAME_CONSTRUCTED: ; case c.RENDER: ; case c.ACTIVATE: ; case c.DEACTIVATE: ; case c.AVM1_LOAD: return!0; } return!1; }; Object.defineProperty(c.prototype, "type", {get:function() { return this._type; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "bubbles", {get:function() { return this._bubbles; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "cancelable", {get:function() { return this._cancelable; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "target", {get:function() { return this._target; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "currentTarget", {get:function() { return this._currentTarget; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "eventPhase", {get:function() { return this._eventPhase; }, enumerable:!0, configurable:!0}); c.prototype.stopPropagation = function() { this._stopPropagation = !0; }; c.prototype.stopImmediatePropagation = function() { this._stopImmediatePropagation = this._stopPropagation = !0; }; c.prototype.preventDefault = function() { this._cancelable && (this._isDefaultPrevented = !0); }; c.prototype.isDefaultPrevented = function() { return this._isDefaultPrevented; }; c.prototype.isBroadcastEvent = function() { return!!this._isBroadcastEvent; }; c.prototype.clone = function() { return new c(this._type, this._bubbles, this._cancelable); }; c.prototype.toString = function() { return this.formatToString("Event", "type", "bubbles", "cancelable", "eventPhase"); }; c.prototype.formatToString = function(a) { for (var b = [], c = 0;c < arguments.length - 1;c++) { b[c] = arguments[c + 1]; } for (var c = "[" + a, d = 0;d < b.length;d++) { var f = b[d], g = this.asGetPublicProperty(f); "string" === typeof g && (g = '"' + g + '"'); c += " " + f + "=" + g; } return c + "]"; }; c.classInitializer = function() { c._instances = b.ObjectUtilities.createMap(); }; c.initializer = null; c.classSymbols = null; c.instanceSymbols = null; c.ACTIVATE = "activate"; c.ADDED = "added"; c.ADDED_TO_STAGE = "addedToStage"; c.CANCEL = "cancel"; c.CHANGE = "change"; c.CLEAR = "clear"; c.CLOSE = "close"; c.COMPLETE = "complete"; c.CONNECT = "connect"; c.COPY = "copy"; c.CUT = "cut"; c.DEACTIVATE = "deactivate"; c.ENTER_FRAME = "enterFrame"; c.FRAME_CONSTRUCTED = "frameConstructed"; c.EXIT_FRAME = "exitFrame"; c.FRAME_LABEL = "frameLabel"; c.ID3 = "id3"; c.INIT = "init"; c.MOUSE_LEAVE = "mouseLeave"; c.OPEN = "open"; c.PASTE = "paste"; c.REMOVED = "removed"; c.REMOVED_FROM_STAGE = "removedFromStage"; c.RENDER = "render"; c.RESIZE = "resize"; c.SCROLL = "scroll"; c.TEXT_INTERACTION_MODE_CHANGE = "textInteractionModeChange"; c.SELECT = "select"; c.SELECT_ALL = "selectAll"; c.SOUND_COMPLETE = "soundComplete"; c.TAB_CHILDREN_CHANGE = "tabChildrenChange"; c.TAB_ENABLED_CHANGE = "tabEnabledChange"; c.TAB_INDEX_CHANGE = "tabIndexChange"; c.UNLOAD = "unload"; c.FULLSCREEN = "fullScreen"; c.CONTEXT3D_CREATE = "context3DCreate"; c.TEXTURE_READY = "textureReady"; c.VIDEO_FRAME = "videoFrame"; c.SUSPEND = "suspend"; c.AVM1_INIT = "initialize"; c.AVM1_CONSTRUCT = "construct"; c.AVM1_LOAD = "load"; return c; }(g.ASNative); f.Event = d; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(t) { var s = b.AVM2.Runtime.asCoerceString, m = b.ObjectUtilities.createEmptyObject, d = b.isFunction, a = b.isNullOrUndefined, c = b.AVM2.Runtime.throwError, n = b.Debug.assert, p = function() { return function(a, b, c) { this.listener = a; this.useCapture = b; this.priority = c; }; }(), e = function() { function a() { this._aliasCount = 0; this._entries = []; } a.prototype.isEmpty = function() { return 0 === this._entries.length; }; a.prototype.insert = function(a, b, c) { for (var d = this._entries, e = d.length, f = e - 1;0 <= f;f--) { var l = d[f]; if (l.listener === a) { return; } if (c > l.priority) { e = f; } else { break; } } d = this.ensureNonAliasedEntries(); d.splice(e, 0, new p(a, b, c)); }; a.prototype.ensureNonAliasedEntries = function() { var a = this._entries; 0 < this._aliasCount && (a = this._entries = a.slice(), this._aliasCount = 0); return a; }; a.prototype.remove = function(a) { for (var b = this._entries, c = 0;c < b.length;c++) { if (b[c].listener === a) { this.ensureNonAliasedEntries().splice(c, 1); break; } } }; a.prototype.snapshot = function() { this._aliasCount++; return this._entries; }; a.prototype.releaseSnapshot = function(a) { this._entries === a && 0 < this._aliasCount && this._aliasCount--; }; return a; }(), q = function() { function a() { this.reset(); } a.prototype.reset = function() { this._queues = b.ObjectUtilities.createEmptyObject(); }; a.prototype.add = function(a, b) { n(t.Event.isBroadcastEventType(a), "Can only register broadcast events."); var c = this._queues[a] || (this._queues[a] = []); 0 <= c.indexOf(b) || c.push(b); }; a.prototype.remove = function(a, b) { n(t.Event.isBroadcastEventType(a), "Can only unregister broadcast events."); var c = this._queues[a]; n(c, "There should already be a queue for this."); var d = c.indexOf(b); n(0 <= d, "Target should be somewhere in this queue."); c[d] = null; n(0 > c.indexOf(b), "Target shouldn't be in this queue anymore."); }; a.prototype.dispatchEvent = function(a) { n(a.isBroadcastEvent(), "Cannot dispatch non-broadcast events."); var b = this._queues[a.type]; if (b) { for (var c = 0, d = 0;d < b.length;d++) { var e = b[d]; null === e ? c++ : e.dispatchEvent(a); } if (16 < c && c > b.length >> 1) { c = []; for (d = 0;d < b.length;d++) { b[d] && c.push(b[d]); } this._queues[a.type] = c; } } }; a.prototype.getQueueLength = function(a) { return this._queues[a] ? this._queues[a].length : 0; }; return a; }(); t.BroadcastEventDispatchQueue = q; var l = function(b) { function l(a) { "undefined" === typeof a && (a = null); this._target = a || this; } __extends(l, b); l.prototype._getListenersForType = function(a, b) { var c = a ? this._captureListeners : this._targetOrBubblingListeners; return c ? c[b] : null; }; l.prototype._getListeners = function(a) { return a ? this._captureListeners || (this._captureListeners = m()) : this._targetOrBubblingListeners || (this._targetOrBubblingListeners = m()); }; l.prototype.addEventListener = function(b, h, f, n, g) { "undefined" === typeof f && (f = !1); "undefined" === typeof n && (n = 0); "undefined" === typeof g && (g = !1); (2 > arguments.length || 5 < arguments.length) && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/addEventListener()", 2, arguments.length); d(h) || c("TypeError", k.Errors.CheckTypeFailedError, h, "Function"); a(b) && c("TypeError", k.Errors.NullPointerError, "type"); b = s(b); f = !!f; n |= 0; g = !!g; var m = this._getListeners(f); (m[b] || (m[b] = new e)).insert(h, f, n); !f && t.Event.isBroadcastEventType(b) && l.broadcastEventDispatchQueue.add(b, this); }; l.prototype.removeEventListener = function(b, h, e) { "undefined" === typeof e && (e = !1); (2 > arguments.length || 3 < arguments.length) && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/removeEventListener()", 2, arguments.length); d(h) || c("TypeError", k.Errors.CheckTypeFailedError, h, "Function"); a(b) && c("TypeError", k.Errors.NullPointerError, "type"); b = s(b); var f = this._getListeners(!!e), n = f[b]; n && (n.remove(h), n.isEmpty() && (!e && t.Event.isBroadcastEventType(b) && l.broadcastEventDispatchQueue.remove(b, this), f[b] = null)); }; l.prototype._hasTargetOrBubblingEventListener = function(a) { return!(!this._targetOrBubblingListeners || !this._targetOrBubblingListeners[a]); }; l.prototype._hasCaptureEventListener = function(a) { return!(!this._captureListeners || !this._captureListeners[a]); }; l.prototype._hasEventListener = function(a) { return this._hasTargetOrBubblingEventListener(a) || this._hasCaptureEventListener(a); }; l.prototype.hasEventListener = function(b) { 1 !== arguments.length && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/hasEventListener()", 1, arguments.length); a(b) && c("TypeError", k.Errors.NullPointerError, "type"); b = s(b); return this._hasEventListener(b); }; l.prototype.willTrigger = function(b) { 1 !== arguments.length && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/hasEventListener()", 1, arguments.length); a(b) && c("TypeError", k.Errors.NullPointerError, "type"); b = s(b); if (this._hasEventListener(b)) { return!0; } if (f.display.DisplayObject.isType(this)) { var d = this._parent; do { if (d._hasEventListener(b)) { return!0; } } while (d = d._parent); } return!1; }; l.prototype._skipDispatchEvent = function(a) { if (!a.isBroadcastEvent() && f.display.DisplayObject.isType(this)) { for (var b = this;b;) { if (b._hasEventListener(a.type)) { return!1; } b = b._parent; } return!0; } return!this._hasEventListener(a.type); }; l.prototype.dispatchEvent = function(a) { if (this._skipDispatchEvent(a)) { return!0; } 1 !== arguments.length && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/dispatchEvent()", 1, arguments.length); k.counter.count("EventDispatcher::dispatchEvent"); var b = a._type, d = this._target; k.counter.count("EventDispatcher::dispatchEvent(" + b + ")"); var e = !0, g = []; if (!a.isBroadcastEvent() && f.display.DisplayObject.isType(this)) { for (var m = this._parent;m;) { m._hasEventListener(b) && g.push(m), m = m._parent; } for (m = g.length - 1;0 <= m && e;m--) { var p = g[m]; if (p._hasCaptureEventListener(b)) { var q = p._getListenersForType(!0, b); n(q); e = l.callListeners(q, a, d, p, t.EventPhase.CAPTURING_PHASE); } } } e && (q = this._getListenersForType(!1, b)) && (e = l.callListeners(this._getListeners(!1)[b], a, d, d, t.EventPhase.AT_TARGET)); if (!a.isBroadcastEvent() && e && a.bubbles) { for (m = 0;m < g.length && e;m++) { p = g[m], p._hasTargetOrBubblingEventListener(b) && (q = p._getListenersForType(!1, b), e = l.callListeners(q, a, d, p, t.EventPhase.BUBBLING_PHASE)); } } return!a._isDefaultPrevented; }; l.callListeners = function(a, b, c, d, e) { if (a.isEmpty()) { return!0; } b._target && (b = b.clone()); for (var f = a.snapshot(), l = 0;l < f.length;l++) { var n = f[l]; b._target = c; b._currentTarget = d; b._eventPhase = e; n.listener(b); if (b._stopImmediatePropagation) { break; } } a.releaseSnapshot(f); return!b._stopPropagation; }; l.classInitializer = function() { l.broadcastEventDispatchQueue = new q; }; l.initializer = function() { this._target = this; this._targetOrBubblingListeners = this._captureListeners = null; }; l.classSymbols = null; l.instanceSymbols = null; return l; }(g.ASNative); t.EventDispatcher = l; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { b.call(this); k("Dummy Constructor: public flash.events.EventPhase"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.CAPTURING_PHASE = 1; a.AT_TARGET = 2; a.BUBBLING_PHASE = 3; return a; }(g.ASNative); f.EventPhase = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g, e) { b.call(this, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.TextEvent"); } __extends(a, b); a.prototype.copyNativeData = function(a) { k("public flash.events.TextEvent::copyNativeData"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.LINK = "link"; a.TEXT_INPUT = "textInput"; return a; }(f.events.Event); g.TextEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g, e, m) { b.call(this, void 0, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.ErrorEvent"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.ERROR = "error"; return a; }(f.events.TextEvent); g.ErrorEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g, e) { b.call(this, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.GameInputEvent"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.DEVICE_ADDED = "deviceAdded"; a.DEVICE_REMOVED = "deviceRemoved"; return a; }(f.events.Event); g.GameInputEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.AVM2.Runtime.asCoerceString, m = b.Debug.notImplemented, d = b.Debug.somewhatImplemented, a = function(a) { function b(d, e, f, l, n, g, r, h, k) { a.call(this, void 0, void 0, void 0); m("Dummy Constructor: public flash.events.GestureEvent"); } __extends(b, a); Object.defineProperty(b.prototype, "localX", {get:function() { return this._localX; }, set:function(a) { this._localX = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "localY", {get:function() { return this._localY; }, set:function(a) { this._localY = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "stageX", {get:function() { d("public flash.events.GestureEvent::stageX"); return 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "stageY", {get:function() { d("public flash.events.GestureEvent::stageY"); return 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "ctrlKey", {get:function() { return this._ctrlKey; }, set:function(a) { this._ctrlKey = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "altKey", {get:function() { return this._altKey; }, set:function(a) { this._altKey = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "shiftKey", {get:function() { return this._shiftKey; }, set:function(a) { this._shiftKey = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "phase", {get:function() { return this._phase; }, set:function(a) { this._phase = k(a); }, enumerable:!0, configurable:!0}); b.prototype.updateAfterEvent = function() { d("public flash.events.GestureEvent::updateAfterEvent"); }; b.prototype.NativeCtor = function(a, b, c, d, f, n) { this._phase = k(a); this._localX = +b; this._localY = +c; this._ctrlKey = !!d; this._altKey = !!f; this._shiftKey = !!n; }; b.prototype.clone = function() { return new f.events.GestureEvent(this.type, this.bubbles, this.cancelable, this.phase, this.localX, this.localY, this.ctrlKey, this.altKey, this.shiftKey); }; b.prototype.toString = function() { return this.formatToString("GestureEvent", "type", "bubbles", "cancelable", "eventPhase", "localX", "localY", "ctrlKey", "altKey", "shiftKey"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; b.GESTURE_TWO_FINGER_TAP = "gestureTwoFingerTap"; return b; }(f.events.Event); g.GestureEvent = a; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g, e) { b.call(this, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.HTTPStatusEvent"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.HTTP_STATUS = "httpStatus"; a.HTTP_RESPONSE_STATUS = "httpResponseStatus"; return a; }(f.events.Event); g.HTTPStatusEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g, e, m) { b.call(this, void 0, void 0, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.IOErrorEvent"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.IO_ERROR = "ioError"; a.NETWORK_ERROR = "networkError"; a.DISK_ERROR = "diskError"; a.VERIFY_ERROR = "verifyError"; return a; }(f.events.ErrorEvent); g.IOErrorEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.somewhatImplemented, m = b.Debug.notImplemented, d = function(a) { function b(c, d, e, f, l, g, k, r, h) { a.call(this, void 0, void 0, void 0); m("Dummy Constructor: public flash.events.KeyboardEvent"); } __extends(b, a); b.prototype.updateAfterEvent = function() { k("public flash.events.KeyboardEvent::updateAfterEvent"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; b.KEY_DOWN = "keyDown"; b.KEY_UP = "keyUp"; return b; }(f.events.Event); g.KeyboardEvent = d; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = function(a) { function c(b, c, d, f, l, g, m, r, h, x, y) { a.call(this, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.MouseEvent"); } __extends(c, a); c.typeFromDOMType = function(a) { switch(a) { case "click": return c.CLICK; case "dblclick": return c.DOUBLE_CLICK; case "mousedown": return c.MOUSE_DOWN; case "mousemove": return c.MOUSE_MOVE; case "mouseup": return c.MOUSE_UP; default: k(a); } }; Object.defineProperty(c.prototype, "localX", {get:function() { return this._localX / 20 | 0; }, set:function(a) { this._localX = 20 * a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "localY", {get:function() { return this._localY / 20 | 0; }, set:function(a) { this._localY = 20 * a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "stageX", {get:function() { return isNaN(this.localX + this.localY) ? Number.NaN : this._getGlobalPoint().x / 20 | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "stageY", {get:function() { return isNaN(this.localX + this.localY) ? Number.NaN : this._getGlobalPoint().y / 20 | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "movementX", {get:function() { m("public flash.events.MouseEvent::set movementX"); return this._movementX || 0; }, set:function(a) { this._movementX = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "movementY", {get:function() { m("public flash.events.MouseEvent::set movementY"); return this._movementY || 0; }, set:function(a) { this._movementY = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "delta", {get:function() { return this._delta; }, set:function(a) { this._delta = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "ctrlKey", {get:function() { return this._ctrlKey; }, set:function(a) { this._ctrlKey = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "altKey", {get:function() { return this._altKey; }, set:function(a) { this._altKey = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "shiftKey", {get:function() { return this._shiftKey; }, set:function(a) { this._shiftKey = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "buttonDown", {get:function() { return this._buttonDown; }, set:function(a) { this._buttonDown = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "relatedObject", {get:function() { return this._relatedObject; }, set:function(a) { this._relatedObject = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "isRelatedObjectInaccessible", {get:function() { return this._isRelatedObjectInaccessible; }, set:function(a) { this._isRelatedObjectInaccessible = a; }, enumerable:!0, configurable:!0}); c.prototype.updateAfterEvent = function() { b.AVM2.Runtime.AVM2.instance.globals["Shumway.Player.Utils"].requestRendering(); }; c.prototype._getGlobalPoint = function() { var a = this._position; a || (a = this._position = new f.geom.Point); this.target ? (a.setTo(this._localX, this._localY), this._target._getConcatenatedMatrix().transformPointInPlace(a)) : a.setTo(0, 0); return a; }; c.prototype.clone = function() { return new f.events.MouseEvent(this.type, this.bubbles, this.cancelable, this.localX, this.localY, this.relatedObject, this.ctrlKey, this.altKey, this.shiftKey, this.buttonDown, this.delta); }; c.prototype.toString = function() { return this.formatToString("MouseEvent", "type", "bubbles", "cancelable", "eventPhase", "localX", "localY", "relatedObject", "ctrlKey", "altKey", "shiftKey", "buttonDown", "delta"); }; c.classInitializer = null; c.initializer = null; c.classSymbols = null; c.instanceSymbols = null; c.CLICK = "click"; c.DOUBLE_CLICK = "doubleClick"; c.MOUSE_DOWN = "mouseDown"; c.MOUSE_MOVE = "mouseMove"; c.MOUSE_OUT = "mouseOut"; c.MOUSE_OVER = "mouseOver"; c.MOUSE_UP = "mouseUp"; c.RELEASE_OUTSIDE = "releaseOutside"; c.MOUSE_WHEEL = "mouseWheel"; c.ROLL_OUT = "rollOut"; c.ROLL_OVER = "rollOver"; c.MIDDLE_CLICK = "middleClick"; c.MIDDLE_MOUSE_DOWN = "middleMouseDown"; c.MIDDLE_MOUSE_UP = "middleMouseUp"; c.RIGHT_CLICK = "rightClick"; c.RIGHT_MOUSE_DOWN = "rightMouseDown"; c.RIGHT_MOUSE_UP = "rightMouseUp"; c.CONTEXT_MENU = "contextMenu"; return c; }(f.events.Event); g.MouseEvent = d; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(b) { (function(g) { var k = function(b) { function d(a, b, d, f) { } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.NET_STATUS = "netStatus"; return d; }(b.events.Event); g.NetStatusEvent = k; })(b.events || (b.events = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g, e, m) { b.call(this, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.ProgressEvent"); } __extends(a, b); Object.defineProperty(a.prototype, "bytesLoaded", {get:function() { return this._bytesLoaded; }, set:function(a) { this._bytesLoaded = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "bytesTotal", {get:function() { return this._bytesTotal; }, set:function(a) { this._bytesTotal = a; }, enumerable:!0, configurable:!0}); a.prototype.clone = function() { return new f.events.ProgressEvent(this._type, this._bubbles, this._cancelable, this._bytesLoaded, this._bytesTotal); }; a.prototype.toString = function() { return this.formatToString("ProgressEvent", "bubbles", "cancelable", "eventPhase", "bytesLoaded", "bytesTotal"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.PROGRESS = "progress"; a.SOCKET_DATA = "socketData"; return a; }(f.events.Event); g.ProgressEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g, e, m) { b.call(this, void 0, void 0, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.SecurityErrorEvent"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.SECURITY_ERROR = "securityError"; return a; }(f.events.ErrorEvent); g.SecurityErrorEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g) { b.call(this, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.TimerEvent"); } __extends(a, b); a.prototype.updateAfterEvent = function() { k("public flash.events.TimerEvent::updateAfterEvent"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.TIMER = "timer"; a.TIMER_COMPLETE = "timerComplete"; return a; }(f.events.Event); g.TimerEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g, e, m, l, u, w, r, h, x, y, t, I) { b.call(this, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.TouchEvent"); } __extends(a, b); a.prototype.updateAfterEvent = function() { k("public flash.events.TouchEvent::updateAfterEvent"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.TOUCH_BEGIN = "touchBegin"; a.TOUCH_END = "touchEnd"; a.TOUCH_MOVE = "touchMove"; a.TOUCH_OVER = "touchOver"; a.TOUCH_OUT = "touchOut"; a.TOUCH_ROLL_OVER = "touchRollOver"; a.TOUCH_ROLL_OUT = "touchRollOut"; a.TOUCH_TAP = "touchTap"; a.PROXIMITY_BEGIN = "proximityBegin"; a.PROXIMITY_END = "proximityEnd"; a.PROXIMITY_MOVE = "proximityMove"; a.PROXIMITY_OUT = "proximityOut"; a.PROXIMITY_OVER = "proximityOver"; a.PROXIMITY_ROLL_OUT = "proximityRollOut"; a.PROXIMITY_ROLL_OVER = "proximityRollOver"; return a; }(f.events.Event); g.TouchEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, f, g, e) { b.call(this, void 0, void 0, void 0, void 0, void 0); k("Dummy Constructor: public flash.events.UncaughtErrorEvent"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.UNCAUGHT_ERROR = "uncaughtError"; return a; }(f.events.ErrorEvent); g.UncaughtErrorEvent = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a() { b.call(this, void 0); k("Dummy Constructor: public flash.events.UncaughtErrorEvents"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.UncaughtErrorEvents = m; })(f.events || (f.events = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = b.isNullOrUndefined, a = b.AVM2.Runtime.asCoerceString, c = b.AVM2.Runtime.throwError, n = b.AVM2.Runtime.checkNullParameter, p = b.Debug.assert, e = b.Bounds, q = f.geom, l = f.events; (function(a) { a[a.None = 0] = "None"; a[a.Visible = 1] = "Visible"; a[a.InvalidLineBounds = 2] = "InvalidLineBounds"; a[a.InvalidFillBounds = 4] = "InvalidFillBounds"; a[a.InvalidMatrix = 8] = "InvalidMatrix"; a[a.InvalidInvertedMatrix = 16] = "InvalidInvertedMatrix"; a[a.InvalidConcatenatedMatrix = 32] = "InvalidConcatenatedMatrix"; a[a.InvalidInvertedConcatenatedMatrix = 64] = "InvalidInvertedConcatenatedMatrix"; a[a.InvalidConcatenatedColorTransform = 128] = "InvalidConcatenatedColorTransform"; a[a.Constructed = 256] = "Constructed"; a[a.Destroyed = 512] = "Destroyed"; a[a.OwnedByTimeline = 1024] = "OwnedByTimeline"; a[a.AnimatedByTimeline = 2048] = "AnimatedByTimeline"; a[a.HasFrameScriptPending = 4096] = "HasFrameScriptPending"; a[a.ContainsFrameScriptPendingChildren = 8192] = "ContainsFrameScriptPendingChildren"; a[a.CacheAsBitmap = 16384] = "CacheAsBitmap"; a[a.DirtyMatrix = 1048576] = "DirtyMatrix"; a[a.DirtyChildren = 2097152] = "DirtyChildren"; a[a.DirtyGraphics = 4194304] = "DirtyGraphics"; a[a.DirtyTextContent = 8388608] = "DirtyTextContent"; a[a.DirtyBitmapData = 16777216] = "DirtyBitmapData"; a[a.DirtyNetStream = 33554432] = "DirtyNetStream"; a[a.DirtyColorTransform = 67108864] = "DirtyColorTransform"; a[a.DirtyMask = 134217728] = "DirtyMask"; a[a.DirtyClipDepth = 268435456] = "DirtyClipDepth"; a[a.DirtyMiscellaneousProperties = 536870912] = "DirtyMiscellaneousProperties"; a[a.Dirty = a.DirtyMatrix | a.DirtyChildren | a.DirtyGraphics | a.DirtyTextContent | a.DirtyBitmapData | a.DirtyNetStream | a.DirtyColorTransform | a.DirtyMask | a.DirtyClipDepth | a.DirtyMiscellaneousProperties] = "Dirty"; })(g.DisplayObjectFlags || (g.DisplayObjectFlags = {})); (function(a) { a[a.None = 0] = "None"; a[a.Continue = 0] = "Continue"; a[a.Stop = 1] = "Stop"; a[a.Skip = 2] = "Skip"; a[a.FrontToBack = 8] = "FrontToBack"; a[a.Filter = 16] = "Filter"; })(g.VisitorFlags || (g.VisitorFlags = {})); (function(a) { a[a.HitTestBounds = 0] = "HitTestBounds"; a[a.HitTestBoundsAndMask = 1] = "HitTestBoundsAndMask"; a[a.HitTestShape = 2] = "HitTestShape"; a[a.Mouse = 3] = "Mouse"; a[a.ObjectsUnderPoint = 4] = "ObjectsUnderPoint"; })(g.HitTestingType || (g.HitTestingType = {})); (function(a) { a[a.None = 0] = "None"; a[a.Bounds = 1] = "Bounds"; a[a.Shape = 2] = "Shape"; })(g.HitTestingResult || (g.HitTestingResult = {})); var u = function(u) { function r() { l.EventDispatcher.instanceConstructorNoInitialize.call(this); this._addReference(); this._setFlags(256); } __extends(r, u); r.getNextSyncID = function() { return this._syncID++; }; r.reset = function() { r._advancableInstances = new b.WeakList; }; r.createAnimatedDisplayObject = function(a, b) { var c = a.symbol, d = c.symbolClass, c = d.isSubtypeOf(f.display.BitmapData) ? f.display.Bitmap.initializeFrom(c) : d.initializeFrom(c); c._setFlags(2048); c._setFlags(1024); c._animate(a); b && d.instanceConstructorNoInitialize.call(c); return c; }; r.performFrameNavigation = function(a, b) { a ? (r._runScripts = b, k.enterTimeline("DisplayObject.performFrameNavigation", {instances:0})) : b = r._runScripts; p(16384 > r._advancableInstances.length, "Too many advancable instances."); r._advancableInstances.forEach(function(b) { b._initFrame(a); }); a && b && r._broadcastFrameEvent(l.Event.ENTER_FRAME); r._advancableInstances.forEach(function(a) { a._constructFrame(); }); b ? (r._broadcastFrameEvent(l.Event.FRAME_CONSTRUCTED), r._advancableInstances.forEach(function(a) { g.MovieClip.isInstanceOf(a) && !a.parent && a._enqueueFrameScripts(); }), f.display.DisplayObject._stage._enqueueFrameScripts(), g.MovieClip.runFrameScripts(), r._broadcastFrameEvent(l.Event.EXIT_FRAME)) : g.MovieClip.reset(); a && (k.leaveTimeline(), r._runScripts = !0); }; r._broadcastFrameEvent = function(a) { var b; switch(a) { case l.Event.ENTER_FRAME: ; case l.Event.FRAME_CONSTRUCTED: ; case l.Event.EXIT_FRAME: ; case l.Event.RENDER: b = l.Event.getBroadcastInstance(a); } p(b, "Invalid frame event."); l.EventDispatcher.broadcastEventDispatchQueue.dispatchEvent(b); }; r.prototype._setInitialName = function() { this._name = "instance" + f.display.DisplayObject._instanceID++; }; r.prototype._setParent = function(a, b) { var c = this._parent; p(a !== this); this._parent = a; this._depth = b; a && (this._addReference(), a && this._hasAnyFlags(12288) && a._propagateFlagsUp(8192)); c && this._removeReference(); }; r.prototype._setFillAndLineBoundsFromWidthAndHeight = function(a, b) { this._fillBounds.width = a; this._fillBounds.height = b; this._lineBounds.width = a; this._lineBounds.height = b; this._removeFlags(6); this._invalidateParentFillAndLineBounds(!0, !0); }; r.prototype._setFillAndLineBoundsFromSymbol = function(a) { p(a.fillBounds || a.lineBounds, "Fill or Line bounds are not defined in the symbol."); a.fillBounds && (this._fillBounds.copyFrom(a.fillBounds), this._removeFlags(4)); a.lineBounds && (this._lineBounds.copyFrom(a.lineBounds), this._removeFlags(2)); this._invalidateParentFillAndLineBounds(!!a.fillBounds, !!a.lineBounds); }; r.prototype._setFlags = function(a) { this._displayObjectFlags |= a; }; r.prototype._setDirtyFlags = function(a) { this._displayObjectFlags |= a; this._parent && this._parent._propagateFlagsUp(2097152); }; r.prototype._toggleFlags = function(a, b) { this._displayObjectFlags = b ? this._displayObjectFlags | a : this._displayObjectFlags & ~a; }; r.prototype._removeFlags = function(a) { this._displayObjectFlags &= ~a; }; r.prototype._hasFlags = function(a) { return(this._displayObjectFlags & a) === a; }; r.prototype._hasAnyFlags = function(a) { return!!(this._displayObjectFlags & a); }; r.prototype._propagateFlagsUp = function(a) { if (!this._hasFlags(a)) { this._setFlags(a); var b = this._parent; b && b._propagateFlagsUp(a); } }; r.prototype._propagateFlagsDown = function(a) { this._setFlags(a); }; r.prototype._findNearestAncestor = function() { for (var a = this;a;) { if (!1 === a._hasFlags(128)) { return a; } a = a._parent; } return null; }; r.prototype._findFurthestAncestorOrSelf = function() { for (var a = this;a;) { if (!a._parent) { return a; } a = a._parent; } }; r.prototype._isAncestor = function(a) { for (;a;) { if (a === this) { return!0; } a = a._parent; } return!1; }; r._clampRotation = function(a) { a %= 360; 180 < a ? a -= 360 : -180 > a && (a += 360); return a; }; r._getAncestors = function(a, b) { var c = r._path; for (c.length = 0;a && a !== b;) { c.push(a), a = a._parent; } p(a === b, "Last ancestor is not an ancestor."); return c; }; r.prototype._getConcatenatedMatrix = function() { this._hasFlags(32) && (this._parent ? this._parent._getConcatenatedMatrix().preMultiplyInto(this._getMatrix(), this._concatenatedMatrix) : this._concatenatedMatrix.copyFrom(this._getMatrix()), this._removeFlags(32)); return this._concatenatedMatrix; }; r.prototype._getInvertedConcatenatedMatrix = function() { this._hasFlags(64) && (this._getConcatenatedMatrix().invertInto(this._invertedConcatenatedMatrix), this._removeFlags(64)); return this._invertedConcatenatedMatrix; }; r.prototype._setMatrix = function(a, b) { if (b || !this._matrix.equals(a)) { var c = this._matrix; c.copyFrom(a); b && c.toTwipsInPlace(); this._scaleX = c.getScaleX(); this._scaleY = c.getScaleY(); this._rotation = r._clampRotation(180 * a.getRotation() / Math.PI); this._removeFlags(8); this._setFlags(16); this._setDirtyFlags(1048576); this._invalidatePosition(); } }; r.prototype._getMatrix = function() { this._hasFlags(8) && (this._matrix.updateScaleAndRotation(this._scaleX, this._scaleY, this._rotation), this._removeFlags(8)); return this._matrix; }; r.prototype._getInvertedMatrix = function() { this._hasFlags(16) && (this._getMatrix().invertInto(this._invertedMatrix), this._removeFlags(16)); return this._invertedMatrix; }; r.prototype._getConcatenatedColorTransform = function() { if (!this.stage) { return this._colorTransform.clone(); } if (this._hasFlags(128)) { var a = this._findNearestAncestor(), b = r._getAncestors(this, a), c = b.length - 1; f.display.Stage.isType(b[c]) && c--; for (var d = a && !f.display.Stage.isType(a) ? a._concatenatedColorTransform.clone() : new q.ColorTransform;0 <= c;) { a = b[c--], p(a._hasFlags(128)), d.preMultiply(a._colorTransform), d.convertToFixedPoint(), a._concatenatedColorTransform.copyFrom(d), a._removeFlags(128); } } return this._concatenatedColorTransform; }; r.prototype._setColorTransform = function(a) { this._colorTransform.copyFrom(a); this._colorTransform.convertToFixedPoint(); this._propagateFlagsDown(128); this._setDirtyFlags(67108864); }; r.prototype._invalidateFillAndLineBounds = function(a, b) { this._propagateFlagsUp((b ? 2 : 0) | (a ? 4 : 0)); }; r.prototype._invalidateParentFillAndLineBounds = function(a, b) { this._parent && this._parent._invalidateFillAndLineBounds(a, b); }; r.prototype._getContentBounds = function(a) { "undefined" === typeof a && (a = !0); var b, c; a ? (b = 2, c = this._lineBounds) : (b = 4, c = this._fillBounds); if (this._hasFlags(b)) { var d = this._getGraphics(); d ? c.copyFrom(d._getContentBounds(a)) : c.setEmpty(); this._getChildBounds(c, a); this._removeFlags(b); } return c; }; r.prototype._getChildBounds = function(a, b) { }; r.prototype._getTransformedBounds = function(a, b) { var c = this._getContentBounds(b).clone(); if (a === this || c.isEmpty()) { return c; } var d; a ? (d = q.Matrix.TEMP_MATRIX, a._getInvertedConcatenatedMatrix().preMultiplyInto(this._getConcatenatedMatrix(), d)) : d = this._getConcatenatedMatrix(); d.transformBounds(c); return c; }; r.prototype._stopTimelineAnimation = function() { this._removeFlags(2048); }; r.prototype._invalidateMatrix = function() { this._setDirtyFlags(1048576); this._setFlags(24); this._invalidatePosition(); }; r.prototype._invalidatePosition = function() { this._propagateFlagsDown(96); this._invalidateParentFillAndLineBounds(!0, !0); }; r.prototype._animate = function(a) { a.matrix && this._setMatrix(a.matrix, !1); a.colorTransform && this._setColorTransform(a.colorTransform); this._ratio = a.ratio; a.name && (this._name = a.name); this._clipDepth !== a.clipDepth && 0 <= a.clipDepth && (this._clipDepth = a.clipDepth, this._setDirtyFlags(268435456)); this._filters = a.filters; a.blendMode && a.blendMode !== this._blendMode && (this._blendMode = a.blendMode, this._setDirtyFlags(536870912)); a.cacheAsBitmap && (this._setFlags(16384), this._setDirtyFlags(536870912)); a.visible !== this._hasFlags(1) && (this._toggleFlags(1, a.visible), this._setDirtyFlags(536870912)); }; r.prototype._propagateEvent = function(a) { this.visit(function(b) { b.dispatchEvent(a); return 0; }, 0); }; Object.defineProperty(r.prototype, "x", {get:function() { var a = this._matrix.tx; if (this._canHaveTextContent()) { var b = this._getContentBounds(), a = a + b.xMin } return a / 20; }, set:function(a) { a = 20 * a | 0; this._stopTimelineAnimation(); if (this._canHaveTextContent()) { var b = this._getContentBounds(); a -= b.xMin; } a !== this._matrix.tx && (this._matrix.tx = a, this._invertedMatrix.tx = -a, this._invalidatePosition(), this._setDirtyFlags(1048576)); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "y", {get:function() { var a = this._matrix.ty; if (this._canHaveTextContent()) { var b = this._getContentBounds(), a = a + b.yMin } return a / 20; }, set:function(a) { a = 20 * a | 0; this._stopTimelineAnimation(); if (this._canHaveTextContent()) { var b = this._getContentBounds(); a -= b.yMin; } a !== this._matrix.ty && (this._matrix.ty = a, this._invertedMatrix.ty = -a, this._invalidatePosition(), this._setDirtyFlags(1048576)); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "scaleX", {get:function() { return Math.abs(this._scaleX); }, set:function(a) { a = +a; this._stopTimelineAnimation(); a !== this._scaleX && (this._scaleX = a, this._invalidateMatrix()); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "scaleY", {get:function() { return this._scaleY; }, set:function(a) { a = +a; this._stopTimelineAnimation(); a !== this._scaleY && (this._scaleY = a, this._invalidateMatrix()); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "scaleZ", {get:function() { return this._scaleZ; }, set:function(a) { s("public DisplayObject::set scaleZ"); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "rotation", {get:function() { return this._rotation; }, set:function(a) { a = +a; this._stopTimelineAnimation(); a = r._clampRotation(a); a !== this._rotation && (this._rotation = a, this._invalidateMatrix()); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "rotationX", {get:function() { return this._rotationX; }, set:function(a) { s("public DisplayObject::set rotationX"); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "rotationY", {get:function() { return this._rotationY; }, set:function(a) { s("public DisplayObject::set rotationY"); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "rotationZ", {get:function() { return this._rotationZ; }, set:function(a) { s("public DisplayObject::set rotationZ"); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "width", {get:function() { return this._getTransformedBounds(this._parent, !0).width / 20; }, set:function(a) { a = 20 * a | 0; this._stopTimelineAnimation(); if (!(0 > a)) { var b = this._getContentBounds(!0); if (this._canHaveTextContent()) { var c = this._getContentBounds(); this._setFillAndLineBoundsFromWidthAndHeight(a, b.height); } else { var c = this._getTransformedBounds(this._parent, !0), d = this._rotation / 180 * Math.PI, e = b.getBaseWidth(d); e && (this._scaleY = c.height / b.getBaseHeight(d), this._scaleX = a / e, this._invalidateMatrix()); } } }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "height", {get:function() { return this._getTransformedBounds(this._parent, !0).height / 20; }, set:function(a) { a = 20 * a | 0; this._stopTimelineAnimation(); if (!(0 > a)) { var b = this._getContentBounds(!0); if (this._canHaveTextContent()) { var c = this._getContentBounds(); this._setFillAndLineBoundsFromWidthAndHeight(b.width, a); } else { var c = this._getTransformedBounds(this._parent, !0), d = this._rotation / 180 * Math.PI, e = b.getBaseHeight(d); e && (b = b.getBaseWidth(d), this._scaleY = a / e, this._scaleX = c.width / b, this._invalidateMatrix()); } } }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "mask", {get:function() { return this._mask; }, set:function(a) { this._stopTimelineAnimation(); if (this._mask !== a && a !== this) { a && a._maskedObject && (a._maskedObject.mask = null); if (this._mask = a) { a._maskedObject = this; } this._setDirtyFlags(134217728); } }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "transform", {get:function() { return new f.geom.Transform(this); }, set:function(a) { this._stopTimelineAnimation(); a.matrix3D ? this._matrix3D = a.matrix3D : this._setMatrix(a.matrix, !0); this._setColorTransform(a.colorTransform); }, enumerable:!0, configurable:!0}); r.prototype.destroy = function() { this._setFlags(512); }; Object.defineProperty(r.prototype, "root", {get:function() { var a = this; do { if (a._root === a) { return a; } a = a._parent; } while (a); return null; }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "stage", {get:function() { var a = this; do { if (a._stage === a) { return p(f.display.Stage.isType(a)), a; } a = a._parent; } while (a); return null; }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "name", {get:function() { return this._name; }, set:function(b) { n(b, "name"); this._name = a(b); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "parent", {get:function() { return this._parent; }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "visible", {get:function() { return this._hasFlags(1); }, set:function(a) { this._stopTimelineAnimation(); a = !!a; a !== this._hasFlags(1) && (this._toggleFlags(1, a), this._setDirtyFlags(536870912)); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "alpha", {get:function() { return this._colorTransform.alphaMultiplier; }, set:function(a) { this._stopTimelineAnimation(); a = +a; a !== this._colorTransform.alphaMultiplier && (this._colorTransform.alphaMultiplier = a, this._colorTransform.convertToFixedPoint(), this._propagateFlagsDown(128), this._setDirtyFlags(67108864)); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "blendMode", {get:function() { return this._blendMode; }, set:function(b) { this._stopTimelineAnimation(); b = a(b); b !== this._blendMode && (0 > g.BlendMode.toNumber(b) && c("ArgumentError", k.Errors.InvalidEnumError, "blendMode"), this._blendMode = b, this._setDirtyFlags(536870912)); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "scale9Grid", {get:function() { return this._scale9Grid ? f.geom.Rectangle.FromBounds(this._scale9Grid) : null; }, set:function(a) { this._stopTimelineAnimation(); this._scale9Grid = e.FromRectangle(a); this._setDirtyFlags(536870912); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "cacheAsBitmap", {get:function() { return 0 < this._filters.length || this._hasFlags(16384); }, set:function(a) { this._hasFlags(16384) || (this._toggleFlags(16384, !!a), this._setDirtyFlags(536870912)); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "filters", {get:function() { return this._filters ? this._filters.map(function(a) { return a.clone(); }) : []; }, set:function(a) { var b = !1; d(a) ? (b = 0 < this.filters.length, this._filters.length = 0) : (this._filters = a.map(function(a) { p(f.filters.BitmapFilter.isType(a)); return a.clone(); }), b = !0); b && this._setDirtyFlags(536870912); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "z", {get:function() { return this._z; }, set:function(a) { this._z = +a; s("public DisplayObject::set z"); }, enumerable:!0, configurable:!0}); r.prototype.getBounds = function(a) { return q.Rectangle.FromBounds(this._getTransformedBounds(a || this, !0)); }; r.prototype.getRect = function(a) { return q.Rectangle.FromBounds(this._getTransformedBounds(a || this, !1)); }; r.prototype.globalToLocal = function(a) { return this._getInvertedConcatenatedMatrix().transformPointInPlace(a.clone().toTwips()).round().toPixels(); }; r.prototype.localToGlobal = function(a) { return this._getConcatenatedMatrix().transformPointInPlace(a.clone().toTwips()).round().toPixels(); }; r.prototype.visit = function(a, b, c) { "undefined" === typeof c && (c = 0); var d, e, f = b & 8; for (d = [this];0 < d.length;) { e = d.pop(); var l = 0, l = b & 16 && !e._hasAnyFlags(c) ? 2 : a(e); if (0 === l) { if (e = e._children) { for (var l = e.length, n = 0;n < l;n++) { d.push(e[f ? n : l - 1 - n]); } } } else { if (1 === l) { break; } } } }; Object.defineProperty(r.prototype, "loaderInfo", {get:function() { var a = this.root; return a ? (p(a._loaderInfo, "No LoaderInfo object found on root."), a._loaderInfo) : null; }, enumerable:!0, configurable:!0}); r.prototype._canHaveGraphics = function() { return!1; }; r.prototype._getGraphics = function() { return null; }; r.prototype._canHaveTextContent = function() { return!1; }; r.prototype._getTextContent = function() { return null; }; r.prototype._ensureGraphics = function() { p(this._canHaveGraphics()); if (this._graphics) { return this._graphics; } this._graphics = new f.display.Graphics; this._graphics._setParent(this); this._invalidateFillAndLineBounds(!0, !0); this._setDirtyFlags(4194304); return this._graphics; }; r.prototype._setStaticContentFromSymbol = function(a) { p(!a.dynamic); this._canHaveGraphics() ? (p(a instanceof b.Timeline.ShapeSymbol), this._graphics = a.graphics, this._setDirtyFlags(4194304)) : f.text.StaticText.isType(this) && (p(a instanceof b.Timeline.TextSymbol), this._textContent = a.textContent, this._setDirtyFlags(8388608)); this._setFillAndLineBoundsFromSymbol(a); }; r.prototype.hitTestObject = function(a) { p(a && r.isType(a)); var b = this._getContentBounds(!1).clone(), c = a._getContentBounds(!1).clone(); this._getConcatenatedMatrix().transformBounds(b); a._getConcatenatedMatrix().transformBounds(c); return b.intersects(c); }; r.prototype.hitTestPoint = function(a, b, c) { return!!this._containsGlobalPoint(20 * +a | 0, 20 * +b | 0, c ? 2 : 0, null); }; r.prototype._containsPoint = function(a, b, c, d, e, f) { a = this._boundsAndMaskContainPoint(a, b, c, d, e); if (0 === a || 2 > e) { return a; } (c = this._containsPointDirectly(c, d)) && f && (4 === e || g.InteractiveObject.isType(this) && this._mouseEnabled) && f.push(this); return c ? 2 : a; }; r.prototype._containsGlobalPoint = function(a, b, c, d) { var e = this._getInvertedConcatenatedMatrix(); return this._containsPoint(a, b, e.transformX(a, b), e.transformY(a, b), c, d); }; r.prototype._boundsAndMaskContainPoint = function(a, b, c, d, e) { return this._hasFlags(1) && this._getContentBounds().contains(c, d) ? 0 !== e && this._mask ? this._mask._containsGlobalPoint(a, b, 1, null) : 1 : 0; }; r.prototype._containsPointDirectly = function(a, b) { var c = this._getGraphics(); return!!c && c._containsPoint(a, b, !0); }; Object.defineProperty(r.prototype, "scrollRect", {get:function() { return this._scrollRect ? this._scrollRect.clone() : null; }, set:function(a) { this._scrollRect = a ? a.clone() : null; m("public DisplayObject::set scrollRect"); }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "opaqueBackground", {get:function() { return this._opaqueBackground; }, set:function(a) { p(null === a || b.isInteger(a)); this._opaqueBackground = a; }, enumerable:!0, configurable:!0}); r.prototype._getDistance = function(a) { for (var b = 0, c = this;c !== a;) { b++, c = c._parent; } return b; }; r.prototype.findNearestCommonAncestor = function(a) { if (!a) { return null; } for (var b = this, c = b._getDistance(null), d = a._getDistance(null);c > d;) { b = b._parent, c--; } for (;d > c;) { a = a._parent, d--; } for (;b !== a;) { b = b._parent, a = a._parent; } return b; }; Object.defineProperty(r.prototype, "mouseX", {get:function() { return this.globalToLocal(f.ui.Mouse._currentPosition).x; }, enumerable:!0, configurable:!0}); Object.defineProperty(r.prototype, "mouseY", {get:function() { return this.globalToLocal(f.ui.Mouse._currentPosition).y; }, enumerable:!0, configurable:!0}); r.prototype.debugName = function() { return this._id + " [" + this._depth + "]: (" + this._referenceCount + ") " + this; }; r.prototype.debugTrace = function(a, c) { "undefined" === typeof a && (a = 1024); "undefined" === typeof c && (c = ""); var d = this, e = new b.IndentingWriter; this.visit(function(f) { var l = f._getDistance(d); if (l > a) { return 2; } l = c + b.StringUtilities.multiple(" ", l); e.writeLn(l + f.debugName()); return 0; }, 0); }; r.prototype._addReference = function() { this._referenceCount++; }; r.prototype._removeReference = function() { this._referenceCount--; if (0 === this._referenceCount && this._children) { for (var a = this._children, b = 0;b < a.length;b++) { a[b]._removeReference(); } } }; Object.defineProperty(r.prototype, "accessibilityProperties", {get:function() { return this._accessibilityProperties; }, set:function(a) { this._accessibilityProperties = a; }, enumerable:!0, configurable:!0}); r._syncID = 0; r._instanceID = 1; r.classInitializer = function() { r.reset(); }; r.initializer = function(a) { k.counter.count("DisplayObject::initializer"); this._id = f.display.DisplayObject.getNextSyncID(); this._displayObjectFlags = 1011875943; this._stage = this._root = null; this._setInitialName(); this._mask = this._parent = null; this._z = 0; this._scaleZ = this._scaleY = this._scaleX = 1; this._height = this._width = this._rotationZ = this._rotationY = this._rotationX = this._rotation = 0; this._scrollRect = this._opaqueBackground = null; this._filters = []; this._blendMode = g.BlendMode.NORMAL; p(this._blendMode); this._accessibilityProperties = this._loaderInfo = this._scale9Grid = null; this._fillBounds = new e(0, 0, 0, 0); this._lineBounds = new e(0, 0, 0, 0); this._clipDepth = -1; this._concatenatedMatrix = new q.Matrix; this._invertedConcatenatedMatrix = new q.Matrix; this._matrix = new q.Matrix; this._invertedMatrix = new q.Matrix; this._matrix3D = null; this._colorTransform = new q.ColorTransform; this._concatenatedColorTransform = new q.ColorTransform; this._depth = -1; this._ratio = 0; this._index = -1; this._maskedObject = null; this._mouseDown = this._mouseOver = !1; this._children = this._graphics = this._symbol = null; this._referenceCount = 0; a && (a.scale9Grid && (this._scale9Grid = a.scale9Grid), this._symbol = a); }; r.classSymbols = null; r.instanceSymbols = null; r._runScripts = !0; r._path = []; return r; }(f.events.EventDispatcher); g.DisplayObject = u; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = b.AVM2.Runtime.asCoerceString, m = b.Debug.assert, d = b.AVM2.Runtime.throwError, a = function(a) { function n(a, b, c) { "undefined" === typeof a && (a = null); "undefined" === typeof b && (b = "auto"); "undefined" === typeof c && (c = !1); g.DisplayObject.instanceConstructorNoInitialize.call(this); this._symbol ? this._bitmapData.class.instanceConstructorNoInitialize.call(this._bitmapData) : this.bitmapData = a; this._pixelSnapping = s(b); this._smoothing = !!c; } __extends(n, a); Object.defineProperty(n.prototype, "pixelSnapping", {get:function() { return this._pixelSnapping; }, set:function(a) { 0 > g.PixelSnapping.toNumber(a) && d("ArgumentError", k.Errors.InvalidEnumError, "pixelSnapping"); this._pixelSnapping = s(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(n.prototype, "smoothing", {get:function() { return this._smoothing; }, set:function(a) { this._smoothing = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(n.prototype, "bitmapData", {get:function() { return this._bitmapData; }, set:function(a) { this._bitmapData !== a && (this._bitmapData && this._bitmapData._removeBitmapReferrer(this), a && a._addBitmapReferrer(this)); (this._bitmapData = a) && this._setFillAndLineBoundsFromWidthAndHeight(20 * a.width | 0, 20 * a.height | 0); this._invalidateParentFillAndLineBounds(!0, !0); this._setDirtyFlags(16777216); }, enumerable:!0, configurable:!0}); n.prototype._getContentBounds = function(a) { return this._bitmapData ? this._bitmapData._getContentBounds() : new b.Bounds(0, 0, 0, 0); }; n.prototype._containsPointDirectly = function(a, b) { m(this._getContentBounds().contains(a, b)); return!0; }; n.classInitializer = null; n.initializer = function(a) { this._smoothing = this._pixelSnapping = this._bitmapData = null; if (a) { var b = a.symbolClass; b.isSubtypeOf(f.display.Bitmap) && (b = f.display.BitmapData); this._bitmapData = b.initializeFrom(a); this._setFillAndLineBoundsFromWidthAndHeight(20 * a.width | 0, 20 * a.height | 0); } }; n.classSymbols = null; n.instanceSymbols = null; return n; }(f.display.DisplayObject); g.Bitmap = a; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(b) { (function(g) { var k = function(b) { function d() { g.DisplayObject.instanceConstructorNoInitialize.call(this); } __extends(d, b); d.prototype._canHaveGraphics = function() { return!0; }; d.prototype._getGraphics = function() { return this._graphics; }; Object.defineProperty(d.prototype, "graphics", {get:function() { return this._ensureGraphics(); }, enumerable:!0, configurable:!0}); d.prototype._containsPointDirectly = function(a, b) { var d = this._getGraphics(); return!!d && d._containsPoint(a, b, !0); }; d.classSymbols = null; d.instanceSymbols = null; d.classInitializer = null; d.initializer = function(a) { this._graphics = null; a && this._setStaticContentFromSymbol(a); }; return d; }(b.display.DisplayObject); g.Shape = k; })(b.display || (b.display = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = f.display.DisplayObject, a = f.events, c = function(b) { function c() { d.instanceConstructorNoInitialize.call(this); } __extends(c, b); Object.defineProperty(c.prototype, "tabEnabled", {get:function() { return this._tabEnabled; }, set:function(b) { b = !!b; var c = this._tabEnabled; this._tabEnabled = b; c !== b && this.dispatchEvent(a.Event.getInstance(a.Event.TAB_ENABLED_CHANGE, !0)); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "tabIndex", {get:function() { return this._tabIndex; }, set:function(b) { b |= 0; var c = this._tabIndex; this._tabIndex = b; c !== b && this.dispatchEvent(a.Event.getInstance(a.Event.TAB_INDEX_CHANGE, !0)); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "focusRect", {get:function() { return this._focusRect; }, set:function(a) { m("public flash.display.InteractiveObject::set focusRect"); this._focusRect = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "mouseEnabled", {get:function() { return this._mouseEnabled; }, set:function(a) { this._mouseEnabled = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "doubleClickEnabled", {get:function() { return this._doubleClickEnabled; }, set:function(a) { this._doubleClickEnabled = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "accessibilityImplementation", {get:function() { return this._accessibilityImplementation; }, set:function(a) { k("public flash.display.InteractiveObject::set accessibilityImplementation"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "softKeyboardInputAreaOfInterest", {get:function() { return this._softKeyboardInputAreaOfInterest; }, set:function(a) { k("public flash.display.InteractiveObject::set softKeyboardInputAreaOfInterest"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "needsSoftKeyboard", {get:function() { return this._needsSoftKeyboard; }, set:function(a) { k("public flash.display.InteractiveObject::set needsSoftKeyboard"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "contextMenu", {get:function() { return this._contextMenu; }, set:function(a) { m("public flash.display.InteractiveObject::set contextMenu"); this._contextMenu = a; }, enumerable:!0, configurable:!0}); c.prototype.requestSoftKeyboard = function() { k("public flash.display.InteractiveObject::requestSoftKeyboard"); }; c.classInitializer = null; c.initializer = function() { this._tabEnabled = !1; this._tabIndex = -1; this._focusRect = null; this._mouseEnabled = !0; this._doubleClickEnabled = !1; this._softKeyboardInputAreaOfInterest = this._accessibilityImplementation = null; this._needsSoftKeyboard = !1; this._contextMenu = null; }; c.classSymbols = null; c.instanceSymbols = null; return c; }(f.display.DisplayObject); g.InteractiveObject = c; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.Debug.assert, d = function(a) { function b(a, c, d, f) { k("Dummy Constructor: public flash.display.SimpleButton"); } __extends(b, a); b.prototype._initFrame = function(a) { a && this._updateButton(); }; b.prototype._constructFrame = function() { }; Object.defineProperty(b.prototype, "useHandCursor", {get:function() { return this._useHandCursor; }, set:function(a) { this._useHandCursor = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "enabled", {get:function() { return this._enabled; }, set:function(a) { this._enabled = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "trackAsMenu", {get:function() { return this._trackAsMenu; }, set:function(a) { k("public flash.display.SimpleButton::set trackAsMenu"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "upState", {get:function() { return this._upState; }, set:function(a) { var b = this._upState; a._parent && a._parent.removeChild(a); this._upState = a; this._currentState === b && this._updateButton(); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "overState", {get:function() { return this._overState; }, set:function(a) { var b = this._overState; a._parent && a._parent.removeChild(a); this._overState = a; this._currentState === b && this._updateButton(); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "downState", {get:function() { return this._downState; }, set:function(a) { var b = this._downState; a._parent && a._parent.removeChild(a); this._downState = a; this._currentState === b && this._updateButton(); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "hitTestState", {get:function() { return this._hitTestState; }, set:function(a) { this._hitTestState = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "soundTransform", {get:function() { k("public flash.display.SimpleButton::get soundTransform"); }, set:function(a) { k("public flash.display.SimpleButton::set soundTransform"); }, enumerable:!0, configurable:!0}); b.prototype._containsPoint = function(a, b, c, d, f, g) { var k = this.hitTestState; if (!k) { return 0; } if (!this._symbol) { var r = k._getInvertedMatrix(), h = r.transformX(c, d); d = r.transformY(c, d); c = h; } a = k._containsPoint(a, b, c, d, f, g); 0 !== a && 3 === f && g && this._mouseEnabled && (g[0] = this, m(1 === g.length)); return a; }; b.prototype._getChildBounds = function(a, b) { var c = this.hitTestState; if (c) { var d = c._getContentBounds(b).clone(); this._getConcatenatedMatrix().transformBounds(d); this._symbol || c._getMatrix().transformBounds(a); a.unionInPlace(d); } }; b.prototype._updateButton = function() { var a; a = this._mouseOver ? this._mouseDown ? this._downState : this._overState : this._upState; a !== this._currentState && ((this._currentState = a) ? this._children[0] = a : this._children.length = 0, this._setDirtyFlags(2097152), this._invalidateFillAndLineBounds(!0, !0)); }; b.classInitializer = null; b.initializer = function(a) { g.DisplayObject._advancableInstances.push(this); this._enabled = this._useHandCursor = !0; this._trackAsMenu = !1; this._currentState = this._hitTestState = this._downState = this._overState = this._upState = null; this._children = []; if (this._symbol = a) { a.upState && (this._upState = g.DisplayObject.createAnimatedDisplayObject(a.upState, !0)), a.overState && (this._overState = g.DisplayObject.createAnimatedDisplayObject(a.overState, !0)), a.downState && (this._downState = g.DisplayObject.createAnimatedDisplayObject(a.downState, !0)), a.hitTestState && (this._hitTestState = g.DisplayObject.createAnimatedDisplayObject(a.hitTestState, !0)); } }; b.classSymbols = null; b.instanceSymbols = null; return b; }(f.display.InteractiveObject); g.SimpleButton = d; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = b.Debug.assert, m = b.Debug.notImplemented, d = b.AVM2.Runtime.asCoerceString, a = b.AVM2.Runtime.throwError, c = b.AVM2.Runtime.checkParameterType, n = b.NumberUtilities.clamp, p = b.AVM2.ABC.Multiname, e = f.events, q = function(b) { function q() { g.InteractiveObject.instanceConstructorNoInitialize.call(this); this._setDirtyFlags(2097152); } __extends(q, b); q.prototype._invalidateChildren = function() { this._setDirtyFlags(2097152); this._invalidateFillAndLineBounds(!0, !0); }; q.prototype._propagateFlagsDown = function(a) { if (!this._hasFlags(a)) { this._setFlags(a); for (var b = this._children, c = 0;c < b.length;c++) { b[c]._propagateFlagsDown(a); } } }; q.prototype._constructChildren = function() { k.counter.count("DisplayObjectContainer::_constructChildren"); for (var a = this._children, b = 0;b < a.length;b++) { var c = a[b]; c._hasFlags(256) || (c.class.instanceConstructorNoInitialize.call(c), c._removeReference(), c._name && (this[p.getPublicQualifiedName(c._name)] = c), c._setFlags(256), c._symbol && c._symbol.isAVM1Object && (c.dispatchEvent(e.Event.getInstance(e.Event.AVM1_INIT)), c.dispatchEvent(e.Event.getInstance(e.Event.AVM1_CONSTRUCT))), c.dispatchEvent(e.Event.getInstance(e.Event.ADDED, !0)), c.stage && c.dispatchEvent(e.Event.getInstance(e.Event.ADDED_TO_STAGE))); } }; q.prototype._enqueueFrameScripts = function() { if (this._hasFlags(8192)) { this._removeFlags(8192); for (var a = this._children, b = 0;b < a.length;b++) { var c = a[b]; (q.isType(c) || g.AVM1Movie.isType(c)) && c._enqueueFrameScripts(); } } }; Object.defineProperty(q.prototype, "numChildren", {get:function() { return this._children.length; }, enumerable:!0, configurable:!0}); Object.defineProperty(q.prototype, "textSnapshot", {get:function() { m("public DisplayObjectContainer::get textSnapshot"); }, enumerable:!0, configurable:!0}); Object.defineProperty(q.prototype, "tabChildren", {get:function() { return this._tabChildren; }, set:function(a) { a = !!a; var b = this._tabChildren; this._tabChildren = a; b !== a && this.dispatchEvent(e.Event.getInstance(e.Event.TAB_CHILDREN_CHANGE, !0)); }, enumerable:!0, configurable:!0}); Object.defineProperty(q.prototype, "mouseChildren", {get:function() { return this._mouseChildren; }, set:function(a) { this._mouseChildren = !!a; }, enumerable:!0, configurable:!0}); q.prototype.addChild = function(a) { c(a, "child", f.display.DisplayObject); return this.addChildAt(a, this._children.length); }; q.prototype.addChildAt = function(b, d) { c(b, "child", f.display.DisplayObject); k.counter.count("DisplayObjectContainer::addChildAt"); d |= 0; s(b._hasFlags(256), "Child is not fully constructed."); b === this && a("ArgumentError", k.Errors.CantAddSelfError); q.isType(b) && b.contains(this) && a("ArgumentError", k.Errors.CantAddParentError); var h = this._children; (0 > d || d > h.length) && a("RangeError", k.Errors.ParamRangeError); if (b._parent === this) { return this.setChildIndex(b, n(d, 0, h.length - 1)), b; } b._parent && (b._parent.removeChild(b), d = n(d, 0, h.length)); for (var l = h.length - 1;l >= d;l--) { h[l]._index++; } h.splice(d, 0, b); b._setParent(this, -1); b._index = d; b._invalidatePosition(); b.dispatchEvent(e.Event.getInstance(e.Event.ADDED, !0)); b.stage && b._propagateEvent(e.Event.getInstance(e.Event.ADDED_TO_STAGE)); this._invalidateChildren(); b._addReference(); return b; }; q.prototype.addTimelineObjectAtDepth = function(a, b) { k.counter.count("DisplayObjectContainer::addTimelineObjectAtDepth"); b |= 0; for (var c = this._children, d = c.length - 1, e = d + 1, f = d;0 <= f;f--) { var l = c[f]; if (l._depth) { if (l._depth < b) { e = f + 1; break; } e = f; } } if (e > d) { c.push(a), a._index = e; } else { for (c.splice(e, 0, a), f = e;f < c.length;f++) { c[f]._index = f; } } a._setParent(this, b); a._invalidatePosition(); this._invalidateChildren(); }; q.prototype.removeChild = function(a) { c(a, "child", f.display.DisplayObject); return this.removeChildAt(this.getChildIndex(a)); }; q.prototype.removeChildAt = function(b) { k.counter.count("DisplayObjectContainer::removeChildAt"); b |= 0; var c = this._children; (0 > b || b >= c.length) && a("RangeError", k.Errors.ParamRangeError); var d = c[b]; d._hasFlags(256) && (d.dispatchEvent(e.Event.getInstance(e.Event.REMOVED, !0)), this.stage && d._propagateEvent(e.Event.getInstance(e.Event.REMOVED_FROM_STAGE)), b = this.getChildIndex(d)); c.splice(b, 1); for (var f = c.length - 1;f >= b;f--) { c[f]._index--; } d._setParent(null, -1); d._index = -1; d._invalidatePosition(); this._invalidateChildren(); return d; }; q.prototype.getChildIndex = function(b) { c(b, "child", f.display.DisplayObject); b._parent !== this && a("ArgumentError", k.Errors.NotAChildError); return b._index; }; q.prototype.setChildIndex = function(b, d) { d |= 0; c(b, "child", f.display.DisplayObject); var h = this._children; (0 > d || d >= h.length) && a("RangeError", k.Errors.ParamRangeError); b._parent !== this && a("ArgumentError", k.Errors.NotAChildError); b._depth = -1; var e = this.getChildIndex(b); if (1 !== h.length && e !== d) { if (d === e + 1 || d === e - 1) { this._swapChildrenAt(e, d); } else { for (h.splice(e, 1), h.splice(d, 0, b), e = e < d ? e : d;e < h.length;) { h[e]._index = e++; } } this._invalidateChildren(); } }; q.prototype.getChildAt = function(b) { b |= 0; var c = this._children; (0 > b || b >= c.length) && a("RangeError", k.Errors.ParamRangeError); b = c[b]; if (!b._hasFlags(256)) { return null; } b._addReference(); return b; }; q.prototype.getTimelineObjectAtDepth = function(a) { a |= 0; for (var b = this._children, c = 0;c < b.length;c++) { var d = b[c]; if (d._depth > a) { break; } if (d._depth === a) { return d; } } return null; }; q.prototype.getClipDepthIndex = function(a) { a |= 0; for (var b = this._children, c = this._children.length - 1, d = !0, e = c;0 <= e;e--) { var f = b[e]; if (!(0 > f._depth)) { if (f._depth <= a) { return d ? c : e; } d = !1; } } return 0; }; q.prototype.getChildByName = function(a) { a = d(a); for (var b = this._children, c = 0;c < b.length;c++) { var e = b[c]; if (e._hasFlags(256) && e.name === a) { return e._addReference(), e; } } return null; }; q.prototype._containsPoint = function(a, b, c, d, e, f) { var l = Math.min(e, 1), n = this._boundsAndMaskContainPoint(a, b, c, d, l); if (0 === n || 2 > e) { return n; } for (var l = !1, m = this._getUnclippedChildren(e, a, b), p = m ? m.length : 0;p--;) { if (n = m[p]._containsGlobalPoint(a, b, e, f), 2 === n) { if (3 > e) { return n; } l = !0; if (4 !== e) { s(3 === e); s(1 >= f.length); if (!this._mouseEnabled) { return f.length = 0, n; } this._mouseChildren || (f[0] = this); if (0 !== f.length) { return s(g.InteractiveObject.isType(f[0])), 2; } } } } if (l && 4 !== e) { return 3 === e && 0 === f.length && (f[0] = this), 2; } (a = this._containsPointDirectly(c, d)) && (4 === e || f && this._mouseEnabled) && f.push(this); return l || a ? 2 : 0; }; q.prototype._getUnclippedChildren = function(a, b, c) { var d = this._children; if (!d) { return null; } for (var e, f = 0;d && f < d.length;f++) { var l = d[f]; -1 !== l._clipDepth ? (e || (e = []), 2 !== a && (s(3 <= a), l._containsGlobalPoint(b, c, a, null) || (f = this.getClipDepthIndex(l._clipDepth)))) : e && e.push(l); } return e || d; }; q.prototype._getChildBounds = function(a, b) { for (var c = this._children, d = 0;d < c.length;d++) { a.unionInPlace(c[d]._getTransformedBounds(this, b)); } }; q.prototype.getObjectsUnderPoint = function(a) { k.counter.count("DisplayObjectContainer::getObjectsUnderPoint"); var b = []; this._containsGlobalPoint(20 * a.x | 0, 20 * a.y | 0, 4, b); return b.reverse(); }; q.prototype.areInaccessibleObjectsUnderPoint = function(a) { m("public DisplayObjectContainer::areInaccessibleObjectsUnderPoint"); }; q.prototype.contains = function(a) { c(a, "child", f.display.DisplayObject); return this._isAncestor(a); }; q.prototype.swapChildrenAt = function(b, c) { b |= 0; c |= 0; var d = this._children; (0 > b || b >= d.length || 0 > c || c >= d.length) && a("RangeError", k.Errors.ParamRangeError); b !== c && (this._swapChildrenAt(b, c), this._invalidateChildren()); }; q.prototype._swapChildrenAt = function(a, b) { var c = this._children, d = c[a], e = c[b]; c[b] = d; d._depth = -1; d._index = b; c[a] = e; e._depth = -1; e._index = a; }; q.prototype.swapChildren = function(a, b) { c(a, "child", f.display.DisplayObject); c(b, "child", f.display.DisplayObject); this.swapChildrenAt(this.getChildIndex(a), this.getChildIndex(b)); }; q.prototype.removeChildren = function(b, c) { "undefined" === typeof b && (b = 0); "undefined" === typeof c && (c = 2147483647); b |= 0; c |= 0; (0 > b || 0 > c || c < b || c >= this._children.length) && a("RangeError", k.Errors.ParamRangeError); var d = c - b + 1; if (0 < d) { for (;d--;) { this.removeChildAt(b); } } }; q.bindings = null; q.classSymbols = null; q.classInitializer = null; q.initializer = function() { this._mouseChildren = this._tabChildren = !0; this._children = []; }; return q; }(f.display.InteractiveObject); g.DisplayObjectContainer = q; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.JointStyle"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.ROUND; case 1: return a.BEVEL; case 2: return a.MITER; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.ROUND: return 0; case a.BEVEL: return 1; case a.MITER: return 2; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.ROUND = "round"; a.BEVEL = "bevel"; a.MITER = "miter"; return a; }(g.ASNative); f.JointStyle = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.CapsStyle"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.ROUND; case 1: return a.NONE; case 2: return a.SQUARE; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.ROUND: return 0; case a.NONE: return 1; case a.SQUARE: return 2; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.ROUND = "round"; a.NONE = "none"; a.SQUARE = "square"; return a; }(g.ASNative); f.CapsStyle = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.LineScaleMode"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.NONE; case 1: return a.NORMAL; case 2: return a.VERTICAL; case 3: return a.HORIZONTAL; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.NONE: return 0; case a.NORMAL: return 1; case a.VERTICAL: return 2; case a.HORIZONTAL: return 3; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.NORMAL = "normal"; a.VERTICAL = "vertical"; a.HORIZONTAL = "horizontal"; a.NONE = "none"; return a; }(g.ASNative); f.LineScaleMode = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.GradientType"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 16: return a.LINEAR; case 18: return a.RADIAL; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.LINEAR: return 16; case a.RADIAL: return 18; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.LINEAR = "linear"; a.RADIAL = "radial"; return a; }(g.ASNative); f.GradientType = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.SpreadMethod"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.PAD; case 1: return a.REFLECT; case 2: return a.REPEAT; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.PAD: return 0; case a.REFLECT: return 1; case a.REPEAT: return 2; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.PAD = "pad"; a.REFLECT = "reflect"; a.REPEAT = "repeat"; return a; }(g.ASNative); f.SpreadMethod = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.InterpolationMethod"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.RGB; case 1: return a.LINEAR_RGB; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.RGB: return 0; case a.LINEAR_RGB: return 1; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.RGB = "rgb"; a.LINEAR_RGB = "linearRGB"; return a; }(g.ASNative); f.InterpolationMethod = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d(a, b, d, f) { "undefined" === typeof a && (a = null); "undefined" === typeof b && (b = null); "undefined" === typeof d && (d = !0); "undefined" === typeof f && (f = !1); this.bitmapData = a; this.matrix = b; this.repeat = !!d; this.smooth = !!f; } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; return d; }(b.ASNative); f.GraphicsBitmapFill = k; })(f.display || (f.display = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.GraphicsEndFill"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.GraphicsEndFill = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.AVM2.Runtime.asCoerceString, m = function(b) { function a(a, b, d, e, f, l, g, m) { "undefined" === typeof a && (a = "linear"); "undefined" === typeof b && (b = null); "undefined" === typeof d && (d = null); "undefined" === typeof e && (e = null); "undefined" === typeof f && (f = null); "undefined" === typeof l && (l = "pad"); "undefined" === typeof g && (g = "rgb"); "undefined" === typeof m && (m = 0); this.type = k(a); this.colors = b; this.alphas = d; this.ratios = e; this.matrix = f; this.spreadMethod = l; this.interpolationMethod = k(g); this.focalPointRatio = +m; } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.GraphicsGradientFill = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.AVM2.Runtime.asCoerceString, m = function(b) { function a(a, b, d) { "undefined" === typeof a && (a = null); "undefined" === typeof b && (b = null); "undefined" === typeof d && (d = "evenOdd"); this.commands = a; this.data = b; this.winding = k(d); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.GraphicsPath = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.GraphicsPathCommand"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.NO_OP = void 0; a.MOVE_TO = 1; a.LINE_TO = 2; a.CURVE_TO = 3; a.WIDE_MOVE_TO = 4; a.WIDE_LINE_TO = 5; a.CUBIC_CURVE_TO = 6; return a; }(g.ASNative); f.GraphicsPathCommand = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.GraphicsPathWinding"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.EVEN_ODD = "evenOdd"; a.NON_ZERO = "nonZero"; return a; }(g.ASNative); f.GraphicsPathWinding = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d(a, b) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = 1); this.color = a >>> 0; this.alpha = +b; } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; return d; }(b.ASNative); f.GraphicsSolidFill = k; })(f.display || (f.display = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.AVM2.Runtime.asCoerceString, m = function(b) { function a(a, b, d, e, f, l, g) { "undefined" === typeof a && (a = NaN); "undefined" === typeof b && (b = !1); "undefined" === typeof d && (d = "normal"); "undefined" === typeof e && (e = "none"); "undefined" === typeof f && (f = "round"); "undefined" === typeof l && (l = 3); "undefined" === typeof g && (g = null); this.thickness = +a; this.pixelHinting = !!b; this.scaleMode = k(d); this.caps = k(e); this.joints = k(f); this.miterLimit = +l; this.fill = g; } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.GraphicsStroke = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b(a, c, d, f) { "undefined" === typeof f && (f = "none"); m(f); k("Dummy Constructor: public flash.display.GraphicsTrianglePath"); } __extends(b, a); b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); f.GraphicsTrianglePath = d; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var Shumway$$inline_555 = Shumway || (Shumway = {}), AVM2$$inline_556 = Shumway$$inline_555.AVM2 || (Shumway$$inline_555.AVM2 = {}), AS$$inline_557 = AVM2$$inline_556.AS || (AVM2$$inline_556.AS = {}), flash$$inline_558 = AS$$inline_557.flash || (AS$$inline_557.flash = {}), display$$inline_559 = flash$$inline_558.display || (flash$$inline_558.display = {}), display$$inline_560 = flash$$inline_558.display, flash$$inline_561 = AS$$inline_557.flash, AS$$inline_562 = AVM2$$inline_556.AS, AVM2$$inline_563 = Shumway$$inline_555.AVM2, Shumway$$inline_565 = Shumway || (Shumway = {}), AVM2$$inline_566 = Shumway$$inline_565.AVM2 || (Shumway$$inline_565.AVM2 = {}), AS$$inline_567 = AVM2$$inline_566.AS || (AVM2$$inline_566.AS = {}), flash$$inline_568 = AS$$inline_567.flash || (AS$$inline_567.flash = {}), display$$inline_569 = flash$$inline_568.display || (flash$$inline_568.display = {}), display$$inline_570 = flash$$inline_568.display, flash$$inline_571 = AS$$inline_567.flash, AS$$inline_572 = AVM2$$inline_566.AS, AVM2$$inline_573 = Shumway$$inline_565.AVM2, Shumway$$inline_575 = Shumway || (Shumway = {}), AVM2$$inline_576 = Shumway$$inline_575.AVM2 || (Shumway$$inline_575.AVM2 = {}), AS$$inline_577 = AVM2$$inline_576.AS || (AVM2$$inline_576.AS = {}), flash$$inline_578 = AS$$inline_577.flash || (AS$$inline_577.flash = {}), display$$inline_579 = flash$$inline_578.display || (flash$$inline_578.display = {}), display$$inline_580 = flash$$inline_578.display, flash$$inline_581 = AS$$inline_577.flash, AS$$inline_582 = AVM2$$inline_576.AS, AVM2$$inline_583 = Shumway$$inline_575.AVM2, Shumway$$inline_585 = Shumway || (Shumway = {}), AVM2$$inline_586 = Shumway$$inline_585.AVM2 || (Shumway$$inline_585.AVM2 = {}), AS$$inline_587 = AVM2$$inline_586.AS || (AVM2$$inline_586.AS = {}), flash$$inline_588 = AS$$inline_587.flash || (AS$$inline_587.flash = {}), display$$inline_589 = flash$$inline_588.display || (flash$$inline_588.display = {}), display$$inline_590 = flash$$inline_588.display, flash$$inline_591 = AS$$inline_587.flash, AS$$inline_592 = AVM2$$inline_586.AS, AVM2$$inline_593 = Shumway$$inline_585.AVM2, Shumway$$inline_595 = Shumway || (Shumway = {}), AVM2$$inline_596 = Shumway$$inline_595.AVM2 || (Shumway$$inline_595.AVM2 = {}), AS$$inline_597 = AVM2$$inline_596.AS || (AVM2$$inline_596.AS = {}), flash$$inline_598 = AS$$inline_597.flash || (AS$$inline_597.flash = {}), display$$inline_599 = flash$$inline_598.display || (flash$$inline_598.display = {}), display$$inline_600 = flash$$inline_598.display, flash$$inline_601 = AS$$inline_597.flash, AS$$inline_602 = AVM2$$inline_596.AS, AVM2$$inline_603 = Shumway$$inline_595.AVM2; (function(b) { (function(k) { (function(g) { (function(f) { (function(t) { function s(a, b, c, d) { a = c - a; b = d - b; return a * a + b * b; } function m(a, b, c, d) { var h = 1 - d; return a * h * h + 2 * b * h * d + c * d * d; } function d(a, b, c) { var d = (a - b) / (a - 2 * b + c); return 0 > d ? a : 1 < d ? c : m(a, b, c, d); } function a(a, b, c, d, h) { var e = h * h, f = 1 - h, l = f * f; return a * f * l + 3 * b * h * l + 3 * c * f * e + d * h * e; } function c(b, c, d, h) { var e = c - b, f; f = 2 * (d - c); var l = h - d; e + l === f && (l *= 1.0001); var g = 2 * e - f, n = f - 2 * e, n = Math.sqrt(n * n - 4 * e * (e - f + l)); f = 2 * (e - f + l); e = (g + n) / f; g = (g - n) / f; n = []; 0 <= e && 1 >= e && n.push(Math.round(a(b, c, d, h, e))); 0 <= g && 1 >= g && n.push(Math.round(a(b, c, d, h, g))); return n; } function n(a, b, c, d, h, e, f, l, g) { function n(a) { return a * (q + a * (u + a * w)) + b - g; } function m(b) { 0 > b ? b = 0 : 1 < b && (b = 1); return a + b * (r + b * (s + b * x)); } function k(a, b, c, d) { if (!(Math.abs(c - b) <= d)) { var h = .5 * (b + c); 0 >= a(b) * a(c) ? (t = b, y = c) : (k(a, b, h, d), k(a, h, c, d)); } } var r = 3 * (c - a), q = 3 * (d - b), s = 3 * (h - c) - r, u = 3 * (e - d) - q, x = f - a - r - s, w = l - b - q - u, t = 0, y = 1; k(n, 0, 1, .05); e = p(t, y, n); if (1E-5 < Math.abs(n(e))) { return[]; } c = []; 1 >= e && c.push(m(e)); d = w; h = e * d + u; f = h * h - 4 * d * (e * h + q); if (0 > f) { return c; } f = Math.sqrt(f); d = 1 / (d + d); e = (f - h) * d; d *= -h - f; 0 <= e && 1 >= e && c.push(m(e)); 0 <= d && 1 >= d && c.push(m(d)); return c; } function p(a, b, c) { var d, h, e, f, l, g, n = a; h = c(a); if (0 === h) { return a; } f = c(b); if (0 === f) { return b; } if (0 < f * h) { return a; } for (var m = 0, p = 0;50 > p;++p) { m++; d = .5 * (b + a); e = c(d); if (0 === e) { break; } if (1E-6 > Math.abs(d - a)) { break; } 0 < e * h && (a = b, b = h, h = f, f = b); b = e - h; g = f - e; l = f - h; if (f * l < 2 * e * b) { b = d, f = e; } else { f = (d - a) / b; b = (b - g) / (g * l); b = a - f * h * (1 - b * e); f = c(b); if (0 === f || 1E-6 > Math.abs(b - n)) { return b; } n = b; 0 > f * h || (a = b, h = f, b = d, f = e); } } return d; } function e(a, b, c, d, h, e) { return e > b !== d > b && a < (c - h) * (b - e) / (d - e) + h; } var q = b.Debug.notImplemented, l = b.AVM2.Runtime.asCoerceString, u = b.AVM2.Runtime.throwError, w = b.NumberUtilities.clamp, r = b.Bounds, h = b.Debug.assert, x = b.Debug.assertUnreachable, y = f.display.GradientType, G = f.display.SpreadMethod, I = f.display.InterpolationMethod, C = f.display.LineScaleMode, E = f.display.CapsStyle, O = f.display.JointStyle, K = b.ShapeData, F = function(g) { function p() { this._id = f.display.DisplayObject.getNextSyncID(); this._graphicsData = new K; this._textures = []; this._fillBounds = new r(134217728, 134217728, 134217728, 134217728); this._lineBounds = new r(134217728, 134217728, 134217728, 134217728); this._lastX = this._lastY = 0; this._boundsIncludeLastCoordinates = !1; this._parent = null; this._topLeftStrokeWidth = this._bottomRightStrokeWidth = 0; this._isDirty = !0; } __extends(p, g); p.FromData = function(a) { var b = new f.display.Graphics; b._graphicsData = K.FromPlainObject(a.shape); a.lineBounds && (b._lineBounds.copyFrom(a.lineBounds), b._fillBounds.copyFrom(a.fillBounds || a.lineBounds)); return b; }; p.prototype.getGraphicsData = function() { return this._graphicsData; }; p.prototype.getUsedTextures = function() { return this._textures; }; p.prototype._setStrokeWidth = function(a) { switch(a) { case 1: this._topLeftStrokeWidth = 0; this._bottomRightStrokeWidth = 1; break; case 3: this._topLeftStrokeWidth = 1; this._bottomRightStrokeWidth = 2; break; default: this._bottomRightStrokeWidth = this._topLeftStrokeWidth = a = Math.ceil(.5 * a) | 0; } }; p.prototype._setParent = function(a) { h(!this._parent); this._parent = a; }; p.prototype._invalidateParent = function() { h(this._parent, "Graphics instances must have a parent."); this._parent._invalidateFillAndLineBounds(!0, !0); this._parent._setDirtyFlags(4194304); }; p.prototype._invalidate = function() { this._invalidateParent(); this._isDirty = !0; }; p.prototype._getContentBounds = function(a) { "undefined" === typeof a && (a = !0); return a ? this._lineBounds : this._fillBounds; }; p.prototype.clear = function() { this._graphicsData.isEmpty() || (this._graphicsData.clear(), this._textures.length = 0, this._fillBounds.setToSentinels(), this._lineBounds.setToSentinels(), this._lastX = this._lastY = 0, this._boundsIncludeLastCoordinates = !1, this._invalidate()); }; p.prototype.beginFill = function(a, b) { "undefined" === typeof b && (b = 1); a = a >>> 0 & 16777215; b = Math.round(255 * w(+b, -1, 1)) | 0; this._graphicsData.beginFill(a << 8 | b); }; p.prototype.beginGradientFill = function(a, b, c, d, h, e, f, l) { "undefined" === typeof h && (h = null); "undefined" === typeof e && (e = "pad"); "undefined" === typeof f && (f = "rgb"); "undefined" === typeof l && (l = 0); this._writeGradientStyle(2, a, b, c, d, h, e, f, l, !1); }; p.prototype.beginBitmapFill = function(a, b, c, d) { "undefined" === typeof b && (b = null); "undefined" === typeof c && (c = !0); "undefined" === typeof d && (d = !1); this._writeBitmapStyle(3, a, b, c, d, !1); }; p.prototype.endFill = function() { this._graphicsData.endFill(); }; p.prototype.lineStyle = function(a, b, c, d, h, e, f, g) { "undefined" === typeof b && (b = 0); "undefined" === typeof c && (c = 1); "undefined" === typeof d && (d = !1); "undefined" === typeof h && (h = "normal"); "undefined" === typeof e && (e = null); "undefined" === typeof f && (f = null); "undefined" === typeof g && (g = 3); a = +a; b = b >>> 0 & 16777215; c = Math.round(255 * w(+c, -1, 1)); d = !!d; h = l(h); e = l(e); f = l(f); g = w(+g | 0, 0, 255); isNaN(a) ? (this._setStrokeWidth(0), this._graphicsData.endLine()) : (a = 20 * w(+a, 0, 255) | 0, this._setStrokeWidth(a), h = C.toNumber(l(h)), 0 > h && (h = C.toNumber(C.NORMAL)), e = E.toNumber(l(e)), 0 > e && (e = E.toNumber(E.ROUND)), f = O.toNumber(l(f)), 0 > f && (f = O.toNumber(O.ROUND)), this._graphicsData.lineStyle(a, b << 8 | c, d, h, e, f, g)); }; p.prototype.lineGradientStyle = function(a, b, c, d, h, e, f, l) { "undefined" === typeof h && (h = null); "undefined" === typeof e && (e = "pad"); "undefined" === typeof f && (f = "rgb"); "undefined" === typeof l && (l = 0); this._writeGradientStyle(6, a, b, c, d, h, e, f, l, !this._graphicsData.hasLines); }; p.prototype.lineBitmapStyle = function(a, b, c, d) { "undefined" === typeof b && (b = null); "undefined" === typeof c && (c = !0); "undefined" === typeof d && (d = !1); this._writeBitmapStyle(7, a, b, c, d, !this._graphicsData.hasLines); }; p.prototype.drawRect = function(a, b, c, d) { a = 20 * a | 0; b = 20 * b | 0; c = a + (20 * c | 0); d = b + (20 * d | 0); a === this._lastX && b === this._lastY || this._graphicsData.moveTo(a, b); this._graphicsData.lineTo(c, b); this._graphicsData.lineTo(c, d); this._graphicsData.lineTo(a, d); this._graphicsData.lineTo(a, b); this._extendBoundsByPoint(c, d); this._applyLastCoordinates(a, b); this._invalidate(); }; p.prototype.drawRoundRect = function(a, b, c, d, h, e) { a = +a; b = +b; c = +c; d = +d; h = +h; if ((e = +e) && h) { h = h / 2 | 0; e = e / 2 | 0; var f = c / 2, l = d / 2; h > f && (h = f); e > l && (e = l); f === h && l === e ? h === e ? this.drawCircle(a + h, b + e, h) : this.drawEllipse(a, b, 2 * h, 2 * e) : (c = a + c, d = b + d, f = a + h, h = c - h, l = b + e, e = d - e, this.moveTo(c, e), this.curveTo(c, d, h, d), this.lineTo(f, d), this.curveTo(a, d, a, e), this.lineTo(a, l), this.curveTo(a, b, f, b), this.lineTo(h, b), this.curveTo(c, b, c, l), this.lineTo(c, e)); } else { this.drawRect(a, b, c, d); } }; p.prototype.drawRoundRectComplex = function(a, b, c, d, h, e, f, l) { a = +a; b = +b; c = +c; d = +d; h = +h; e = +e; f = +f; l = +l; if (h | e | f | l) { c = a + c; d = b + d; var g = a + h; this.moveTo(c, d - l); this.curveTo(c, d, c - l, d); this.lineTo(a + f, d); this.curveTo(a, d, a, d - f); this.lineTo(a, b + h); this.curveTo(a, b, g, b); this.lineTo(c - e, b); this.curveTo(c, b, c, b + e); this.lineTo(c, d - l); } else { this.drawRect(a, b, c, d); } }; p.prototype.drawCircle = function(a, b, c) { c = +c; this.drawEllipse(+a - c, +b - c, 2 * c, 2 * c); }; p.prototype.drawEllipse = function(a, b, c, d) { c = +c / 2; d = +d / 2; a = +a + c; b = +b + d; var h = a + c, e = b; this.moveTo(h, e); for (var f = 0, l = 1, g = 0, n = 0;4 > n;n++) { var m = f + Math.PI / 2, f = 4 / 3 * Math.tan((m - f) / 4), p = h - g * f * c, k = e + l * f * d, l = Math.cos(m), g = Math.sin(m), h = a + l * c, e = b + g * d; this.cubicCurveTo(p, k, h + g * f * c, e - l * f * d, h, e); f = m; } }; p.prototype.moveTo = function(a, b) { a = 20 * a | 0; b = 20 * b | 0; this._graphicsData.moveTo(a, b); this._lastX = a; this._lastY = b; this._boundsIncludeLastCoordinates = !1; }; p.prototype.lineTo = function(a, b) { a = 20 * a | 0; b = 20 * b | 0; this._graphicsData.lineTo(a, b); this._applyLastCoordinates(a, b); this._invalidate(); }; p.prototype.curveTo = function(a, b, c, h) { a = 20 * a | 0; b = 20 * b | 0; c = 20 * c | 0; h = 20 * h | 0; this._graphicsData.curveTo(a, b, c, h); (a < this._lastX || a > c) && this._extendBoundsByX(d(this._lastX, a, c) | 0); (b < this._lastY || b > h) && this._extendBoundsByY(d(this._lastY, b, h) | 0); this._applyLastCoordinates(c, h); this._invalidate(); }; p.prototype.cubicCurveTo = function(a, b, d, h, e, f) { a = 20 * a | 0; b = 20 * b | 0; d = 20 * d | 0; h = 20 * h | 0; e = 20 * e | 0; f = 20 * f | 0; this._graphicsData.cubicCurveTo(a, b, d, h, e, f); var l = this._lastX, g = this._lastY; if (a < l || d < l || a > e || d > e) { for (a = c(l, a, d, e), d = a.length;d--;) { this._extendBoundsByX(a[d] | 0); } } if (b < g || h < g || b > f || h > f) { for (a = c(g, b, h, f), d = a.length;d--;) { this._extendBoundsByY(a[d] | 0); } } this._applyLastCoordinates(e, f); this._invalidate(); }; p.prototype.copyFrom = function(a) { this._graphicsData = a._graphicsData.clone(); this._fillBounds = a._fillBounds.clone(); this._lineBounds = a._lineBounds.clone(); this._textures = a._textures.concat(); this._lastX = a._lastX; this._lastY = a._lastY; this._boundsIncludeLastCoordinates = a._boundsIncludeLastCoordinates; this._invalidate(); }; p.prototype.drawPath = function(a, b, c) { "undefined" === typeof c && (c = "evenOdd"); l(c); q("public flash.display.Graphics::drawPath"); }; p.prototype.drawTriangles = function(a, b, c, d) { "undefined" === typeof d && (d = "none"); l(d); q("public flash.display.Graphics::drawTriangles"); }; p.prototype.drawGraphicsData = function(a) { q("public flash.display.Graphics::drawGraphicsData"); }; p.prototype._containsPoint = function(a, b, c) { var d = this._graphicsData.hasLines; if (!(c && d ? this._lineBounds : this._fillBounds).contains(a, b)) { return!1; } var e = !1; this._graphicsData.hasFills ? e = this._fillContainsPoint(a, b) : h(d, "Can't have non-empty bounds without line or fill set."); !e && c && (e = this._linesContainsPoint(a, b)); return e; }; p.prototype._fillContainsPoint = function(a, b) { for (var c = this._graphicsData, d = c.commands, f = c.commandsPosition, l = c.coordinates, g = 0, p = 0, k = 0, r = 0, q = 0, s, u, w = !1, t = !1, y = 0, G = 0, C = !1, I = 0;I < f;I++) { s = d[I]; switch(s) { case 9: h(g <= c.coordinatesPosition - 2); w && t && e(a, b, p, k, y, G) && (C = !C); w = !0; p = y = l[g++]; k = G = l[g++]; continue; case 10: h(g <= c.coordinatesPosition - 2); r = l[g++]; q = l[g++]; t && e(a, b, p, k, r, q) && (C = !C); break; case 11: h(g <= c.coordinatesPosition - 4); s = l[g++]; u = l[g++]; var r = l[g++], q = l[g++], E; if (E = t) { if (u > b === k > b && q > b === k > b) { E = !1; } else { if (p >= a && s >= a && r >= a) { E = !0; } else { E = k - 2 * u + q; u = 2 * (u - k); var O = u * u - 4 * E * (k - b); 0 > O ? E = !1 : (O = Math.sqrt(O), E = 1 / (E + E), k = (O - u) * E, u = (-u - O) * E, E = !1, 0 <= k && 1 >= k && m(p, s, r, k) > a && (E = !E), 0 <= u && 1 >= u && m(p, s, r, u) > a && (E = !E)); } } } E && (C = !C); break; case 12: h(g <= c.coordinatesPosition - 6); s = l[g++]; u = l[g++]; var O = l[g++], K = l[g++], r = l[g++], q = l[g++]; if (E = t) { E = a; var F = k > b; if (u > b === F && K > b === F && q > b === F) { E = !1; } else { if (p < E && s < E && O < E && r < E) { E = !1; } else { F = !1; p = n(p, k, s, u, O, K, r, q, b); for (s = p.length;s;s--) { p[s] >= E && (F = !F); } E = F; } } } E && (C = !C); break; case 1: ; case 2: ; case 3: ; case 4: w && t && e(a, b, p, k, y, G) && (C = !C); if (C) { return!0; } w = !1; t = 4 !== s; break; case 5: g++; break; case 6: ; case 7: ; case 8: break; default: x("Invalid command " + s + " encountered at index" + (I - 1) + " of " + f); } p = r; k = q; } h(I === f); h(g === c.coordinatesPosition); w && t && e(a, b, p, k, y, G) && (C = !C); return C; }; p.prototype._linesContainsPoint = function(b, e) { for (var f = this._graphicsData, l = f.commands, g = f.commandsPosition, n = f.coordinates, p = 0, k = 0, r = 0, q = 0, u = 0, w, t, y, G, C, I = 0, E = 0, O = 0, K = 0, F = 0, J = 0, A = E = 0;A < g;A++) { w = l[A]; switch(w) { case 9: h(p <= f.coordinatesPosition - 2); k = n[p++]; r = n[p++]; continue; case 10: h(p <= f.coordinatesPosition - 2); if (0 === I) { p++; k = n[p++]; continue; } q = n[p++]; u = n[p++]; if (k === q && r === u) { break; } if (F < k && F < q || K > k && K > q || E < r && E < u || J > r && J > u) { break; } if (q === k || u === r) { return!0; } C = ((b - k) * (q - k) + (e - r) * (u - r)) / s(k, r, q, u); if (0 > C) { if (s(b, e, k, r) <= O) { return!0; } break; } if (1 < C) { if (s(b, e, q, u) <= O) { return!0; } break; } if (s(b, e, k + C * (q - k), r + C * (u - r)) <= O) { return!0; } break; case 11: h(p <= f.coordinatesPosition - 4); if (0 === I) { p += 2; p++; k = n[p++]; continue; } w = n[p++]; t = n[p++]; var q = n[p++], u = n[p++], W = d(k, w, q); if (F < k && F < W && F < q || K > k && K > W && K > q) { break; } W = d(r, t, u); if (E < r && E < W && E < u || J > r && J > W && J > u) { break; } for (C = 0;1 > C;C += .02) { if (y = m(k, w, q, C), !(y < K || y > F) && (G = m(r, t, u, C), !(G < J || G > E) && (b - y) * (b - y) + (e - G) * (e - G) < O)) { return!0; } } break; case 12: h(p <= f.coordinatesPosition - 6); if (0 === I) { p += 4; p++; k = n[p++]; continue; } w = n[p++]; t = n[p++]; var W = n[p++], ha = n[p++], q = n[p++], u = n[p++]; for (y = c(k, w, W, q);2 > y.length;) { y.push(q); } if (F < k && F < q && F < y[0] && F < y[1] || K > k && K > q && K > y[0] && K > y[1]) { break; } for (y = c(r, t, ha, u);2 > y.length;) { y.push(u); } if (E < r && E < u && E < y[0] && E < y[1] || J > r && J > u && J > y[0] && J > y[1]) { break; } for (C = 0;1 > C;C += .02) { if (y = a(k, w, W, q, C), !(y < K || y > F) && (G = a(r, t, ha, u, C), !(G < J || G > E) && (b - y) * (b - y) + (e - G) * (e - G) < O)) { return!0; } } break; case 5: I = n[p++]; E = I >> 2; O = E * E; K = b - E; F = b + E; J = e - E; E = e + E; break; case 1: ; case 2: ; case 3: ; case 4: ; case 6: ; case 7: ; case 8: break; default: x("Invalid command " + w + " encountered at index" + (A - 1) + " of " + g); } k = q; r = u; } h(A === g); h(p === f.coordinatesPosition); return!1; }; p.prototype._writeBitmapStyle = function(a, c, d, h, e, l) { b.isNullOrUndefined(c) ? u("TypeError", k.Errors.NullPointerError, "bitmap") : f.display.BitmapData.isType(c) || u("TypeError", k.Errors.CheckTypeFailedError, "bitmap", "flash.display.BitmapData"); b.isNullOrUndefined(d) ? d = f.geom.Matrix.FROZEN_IDENTITY_MATRIX : f.geom.Matrix.isType(d) || u("TypeError", k.Errors.CheckTypeFailedError, "matrix", "flash.geom.Matrix"); h = !!h; e = !!e; l || (l = this._textures.length, this._textures.push(c), this._graphicsData.beginBitmap(a, l, d, h, e)); }; p.prototype._writeGradientStyle = function(a, c, d, h, e, g, n, m, p, r) { b.isNullOrUndefined(c) && u("TypeError", k.Errors.NullPointerError, "type"); c = y.toNumber(l(c)); 0 > c && u("ArgumentError", k.Errors.InvalidEnumError, "type"); b.isNullOrUndefined(d) && u("TypeError", k.Errors.NullPointerError, "colors"); d instanceof Array || u("TypeError", k.Errors.CheckTypeFailedError, "colors", "Array"); h instanceof Array || u("TypeError", k.Errors.CheckTypeFailedError, "alphas", "Array"); b.isNullOrUndefined(h) && u("TypeError", k.Errors.NullPointerError, "alphas"); e instanceof Array || u("TypeError", k.Errors.CheckTypeFailedError, "ratios", "Array"); b.isNullOrUndefined(e) && u("TypeError", k.Errors.NullPointerError, "ratios"); var q = [], s = [], x = d.length, t = x === h.length && x === e.length; if (t) { for (var C = 0;C < x;C++) { var E = +e[C]; if (255 < E || 0 > E) { t = !1; break; } q[C] = d[C] << 8 & 4294967040 | 255 * w(+h[C], 0, 1); s[C] = E; } } t && (b.isNullOrUndefined(g) ? g = f.geom.Matrix.FROZEN_IDENTITY_MATRIX : f.geom.Matrix.isType(g) || u("TypeError", k.Errors.CheckTypeFailedError, "matrix", "flash.geom.Matrix"), r || (d = G.toNumber(l(n)), 0 > d && (d = G.toNumber(G.PAD)), m = I.toNumber(l(m)), 0 > m && (m = I.toNumber(I.RGB)), p = w(+p, -1, 1) / 2 * 255 | 0, this._graphicsData.beginGradient(a, q, s, c, g, d, m, p))); }; p.prototype._extendBoundsByPoint = function(a, b) { this._extendBoundsByX(a); this._extendBoundsByY(b); }; p.prototype._extendBoundsByX = function(a) { this._fillBounds.extendByX(a); var b = this._lineBounds; 134217728 === b.xMin ? (b.xMin = a - this._topLeftStrokeWidth, b.xMax = a + this._bottomRightStrokeWidth) : (b.xMin = Math.min(a - this._topLeftStrokeWidth, b.xMin), b.xMax = Math.max(a + this._bottomRightStrokeWidth, b.xMax)); }; p.prototype._extendBoundsByY = function(a) { this._fillBounds.extendByY(a); var b = this._lineBounds; 134217728 === b.yMin ? (b.yMin = a - this._topLeftStrokeWidth, b.yMax = a + this._bottomRightStrokeWidth) : (b.yMin = Math.min(a - this._topLeftStrokeWidth, b.yMin), b.yMax = Math.max(a + this._bottomRightStrokeWidth, b.yMax)); }; p.prototype._applyLastCoordinates = function(a, b) { this._boundsIncludeLastCoordinates || this._extendBoundsByPoint(this._lastX, this._lastY); this._boundsIncludeLastCoordinates = !0; this._lastX = a; this._lastY = b; this._extendBoundsByPoint(a, b); }; p.classInitializer = null; p.initializer = null; p.classSymbols = null; p.instanceSymbols = null; return p; }(g.ASNative); t.Graphics = F; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(k) { var s = b.Debug.assert, m = b.Debug.notImplemented, d = function(a) { function b() { k.DisplayObjectContainer.instanceConstructorNoInitialize.call(this); this._constructChildren(); } __extends(b, a); b.prototype._initializeChildren = function(a) { for (var b in a.stateAtDepth) { var c = a.stateAtDepth[b]; if (c) { var d = k.DisplayObject.createAnimatedDisplayObject(c, !1); this.addTimelineObjectAtDepth(d, c.depth); c.symbol.isAVM1Object && this._initAvm1Bindings(d, c); } } }; b.prototype._initAvm1Bindings = function(a, b) { var c = g.avm1lib.getAVM1Object(a); s(c); b.variableName && c.asSetPublicProperty("variable", b.variableName); var d = b.events; if (d) { for (var f = [], m = 0;m < d.length;m++) { for (var k = d[m], r = k.eventNames, k = k.handler.bind(a), h = 0;h < r.length;h++) { var x = r[h], t = a; if ("mouseDown" === x || "mouseUp" === x || "mouseMove" === x) { t = a.stage; } t.addEventListener(x, k, !1); f.push({eventName:x, fn:k, target:t}); } } 0 < f.length && a.addEventListener("removed", function(a) { for (var b = 0;b < a.length;b++) { a[b].target.removeEventListener(a[b].eventName, a[b].fn, !1); } }.bind(a, f), !1); } b.name && (d = g.avm1lib.getAVM1Object(this), void 0 === d.asGetPublicProperty(b.name) && d.asSetPublicProperty(b.name, c)); }; b.prototype._canHaveGraphics = function() { return!0; }; b.prototype._getGraphics = function() { return this._graphics; }; Object.defineProperty(b.prototype, "graphics", {get:function() { return this._ensureGraphics(); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "buttonMode", {get:function() { return this._buttonMode; }, set:function(a) { this._buttonMode = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "dropTarget", {get:function() { m("public flash.display.Sprite::get dropTarget"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "hitArea", {get:function() { return this._hitArea; }, set:function(a) { this._hitArea !== a && (a && a._hitTarget && (a._hitTarget._hitArea = null), this._hitArea = a) && (a._hitTarget = this); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "useHandCursor", {get:function() { return this._useHandCursor; }, set:function(a) { this._useHandCursor = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "soundTransform", {get:function() { m("public flash.display.Sprite::get soundTransform"); }, set:function(a) { m("public flash.display.Sprite::set soundTransform"); }, enumerable:!0, configurable:!0}); b.prototype.startDrag = function(a, b) { m("public flash.display.Sprite::startDrag"); }; b.prototype.stopDrag = function() { m("public flash.display.Sprite::stopDrag"); }; b.prototype.startTouchDrag = function(a, b, c) { m("public flash.display.Sprite::startTouchDrag"); }; b.prototype.stopTouchDrag = function(a) { m("public flash.display.Sprite::stopTouchDrag"); }; b.prototype._containsPoint = function(b, c, d, f, l, g) { return 3 === l && this._hitArea && this._mouseEnabled ? (b = this._hitArea._containsGlobalPoint(b, c, 2, g), 2 === b && (s(0 === g.length), g.push(this)), b) : a.prototype._containsPoint.call(this, b, c, d, f, l, g); }; b.prototype._containsPointDirectly = function(a, b) { var c = this._getGraphics(); return!!c && c._containsPoint(a, b, !0); }; b.classInitializer = null; b.initializer = function(a) { this._graphics = null; this._buttonMode = !1; this._hitArea = this._dropTarget = null; this._useHandCursor = !0; this._hitTarget = null; a && (a.isRoot && (this._root = this), a.numFrames && (s(1 <= a.frames.length, "Sprites have at least one frame."), a = a.frames[0], s(a, "Initial frame is not defined."), this._initializeChildren(a))); }; b.classSymbols = null; b.instanceSymbols = null; return b; }(f.display.DisplayObjectContainer); k.Sprite = d; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(t) { var s = b.Debug.assert, m = b.Debug.assertUnreachable, d = b.AVM2.Runtime.asCoerceString, a = b.AVM2.Runtime.throwError, c = b.Telemetry, n = b.AVM2.ABC.Multiname; (function(a) { a[a.SWF1 = 1] = "SWF1"; a[a.SWF9 = 2] = "SWF9"; a[a.SWF10 = 3] = "SWF10"; })(t.FrameNavigationModel || (t.FrameNavigationModel = {})); var p = function() { function a(b) { this._mc = b; this._soundStream = this._startSoundRegistrations = null; } a.prototype.registerStartSounds = function(a, b) { null === this._startSoundRegistrations && (this._startSoundRegistrations = {}); this._startSoundRegistrations[a] = b; }; a.prototype.initSoundStream = function(a) { this._soundStream = new t.MovieClipSoundStream(a, this._mc); }; a.prototype.addSoundStreamBlock = function(a, b) { this._soundStream.appendBlock(a, b); }; a.prototype._startSounds = function(a) { if (a = this._startSoundRegistrations[a]) { for (var b = this._soundClips || (this._soundClips = {}), c = this._mc.loaderInfo, d = 0;d < a.length;d++) { var h = a[d], e = h.soundId, h = h.soundInfo, f = b[e]; if (!f) { var g = c.getSymbolById(e); if (!g) { continue; } f = g.symbolClass; g = f.initializeFrom(g); f.instanceConstructorNoInitialize.call(g); b[e] = f = {object:g}; } f.channel && (f.channel.stop(), f.channel = null); h.stop || (f.channel = f.object.play(0, h.hasLoops ? h.loopCount : 0)); } } }; a.prototype.syncSounds = function(a) { null !== this._startSoundRegistrations && this._startSounds(a); this._soundStream && this._soundStream.playFrame(a); }; return a; }(), e = function(b) { function e() { t.Sprite.instanceConstructorNoInitialize.call(this); } __extends(e, b); e.reset = function() { e.frameNavigationModel = 3; e._callQueue = []; }; e.runFrameScripts = function() { k.enterTimeline("MovieClip.executeFrame"); var a = e._callQueue; e._callQueue = []; for (var b = 0;b < a.length;b++) { var c = a[b]; c._allowFrameNavigation = 1 === e.frameNavigationModel; c.callFrame(c._currentFrame); c._allowFrameNavigation = !0; c._nextFrame !== c._currentFrame && (2 === e.frameNavigationModel ? (c._advanceFrame(), c._constructFrame(), c._removeFlags(4096), c.callFrame(c._currentFrame)) : t.DisplayObject.performFrameNavigation(!1, !0)); } k.leaveTimeline(); }; e.prototype._initFrame = function(a) { if (a) { if (this.buttonMode && (a = null, this._mouseOver ? a = this._mouseDown ? "_down" : "_over" : null !== this._currentButtonState && (a = "_up"), a !== this._currentButtonState && this._buttonFrames[a])) { this.stop(); this._gotoFrame(a, null); this._currentButtonState = a; this._advanceFrame(); return; } 1 < this._totalFrames && !this._stopped && this._hasFlags(256) && this._nextFrame++; } this._advanceFrame(); }; e.prototype._constructFrame = function() { this._constructChildren(); }; e.prototype._enqueueFrameScripts = function() { this._hasFlags(4096) && (this._removeFlags(4096), e._callQueue.push(this)); b.prototype._enqueueFrameScripts.call(this); }; Object.defineProperty(e.prototype, "currentFrame", {get:function() { return this._currentFrame - this._sceneForFrameIndex(this._currentFrame).offset; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "framesLoaded", {get:function() { return this._frames.length; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "totalFrames", {get:function() { return this._totalFrames; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "trackAsMenu", {get:function() { return this._trackAsMenu; }, set:function(a) { this._trackAsMenu = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "scenes", {get:function() { return this._scenes.map(function(a) { return a.clone(); }); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "currentScene", {get:function() { return this._sceneForFrameIndex(this._currentFrame).clone(); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "currentLabel", {get:function() { var a = this._labelForFrame(this._currentFrame); return a ? a.name : null; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "currentFrameLabel", {get:function() { var a = this._sceneForFrameIndex(this._currentFrame); return(a = a.getLabelByFrame(this._currentFrame - a.offset)) && a.name; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "enabled", {get:function() { return this._enabled; }, set:function(a) { this._enabled = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "isPlaying", {get:function() { return this._isPlaying; }, enumerable:!0, configurable:!0}); e.prototype.play = function() { 1 < this._totalFrames && (this._isPlaying = !0); this._stopped = !1; }; e.prototype.stop = function() { this._isPlaying = !1; this._stopped = !0; }; e.prototype._gotoFrame = function(b, c) { var e; if (null !== c) { c = d(c); var h = this._scenes; s(h.length, "There should be at least one scene defined."); for (var f = 0;f < h.length && (e = h[f], e.name !== c);f++) { } f === h.length && a("ArgumentError", k.Errors.SceneNotFoundError, c); } else { e = this._sceneForFrameIndex(this._currentFrame); } h = parseInt(b, 10); h != b && ((h = e.getLabelByName(b)) || a("ArgumentError", k.Errors.FrameLabelNotFoundError, b, c), h = h.frame); this._gotoFrameAbs(e.offset + h); }; e.prototype._gotoFrameAbs = function(a) { 1 > a ? a = 1 : a > this._totalFrames && (a = this._totalFrames); a !== this._nextFrame && (this._nextFrame = a, this._allowFrameNavigation && (2 === e.frameNavigationModel ? (this._advanceFrame(), this._constructFrame()) : t.DisplayObject.performFrameNavigation(!1, !0))); }; e.prototype._advanceFrame = function() { var a = this._currentFrame, b = this._nextFrame; b > this._totalFrames && (b = 1); if (a === b) { this._nextFrame = b; } else { if (b > this.framesLoaded) { this._nextFrame = b; } else { var c = this._frames, d = a, e = c[a - 1]; if (b < a) { var f = c[0]; s(f, "FrameDelta is not defined."); if (f !== e) { for (d = f.stateAtDepth, f = this._children.slice(), a = 0;a < f.length;a++) { var l = f[a]; if (l._depth) { var g = d[l._depth]; g && g.canBeAnimated(l) || this._removeAnimatedChild(l); } } } d = 0; } for (a = d;a < b;a++) { if (f = c[a], s(f, "FrameDelta is not defined."), f !== e) { var e = f, d = f.stateAtDepth, n; for (n in d) { l = this.getTimelineObjectAtDepth(n | 0); g = d[n]; if (l) { if (g && g.canBeAnimated(l)) { g.symbol && !g.symbol.dynamic && l._setStaticContentFromSymbol(g.symbol); l._animate(g); continue; } this._removeAnimatedChild(l); } g && g.symbol && (l = t.DisplayObject.createAnimatedDisplayObject(g, !1), this.addTimelineObjectAtDepth(l, g.depth), g.symbol.isAVM1Object && this._initAvm1Bindings(l, g)); } (d = f.soundStarts) && this._registerStartSounds(a + 1, d); } } this._frameScripts[b] && (this._setFlags(4096), this._parent && this._propagateFlagsUp(8192)); this._currentFrame = this._nextFrame = b; this._syncSounds(b); } } }; e.prototype._sceneForFrameIndex = function(a) { var b = this._scenes; if (0 === a) { return b[0]; } for (var c = 0;c < b.length;c++) { var d = b[c]; if (d.offset < a && d.offset + d.numFrames >= a) { return d; } } m("Must have at least one scene covering all frames."); }; e.prototype._labelForFrame = function(a) { for (var b = this._scenes, c = null, d = 0;d < b.length;d++) { var e = b[d]; if (e.offset > a) { break; } for (var f = e.labels, l = 0;l < f.length;l++) { var g = f[l]; if (g.frame > a - e.offset) { return c; } c = g; } } return c; }; e.prototype._removeAnimatedChild = function(a) { this.removeChild(a); if (a._name) { var b = n.getPublicQualifiedName(a._name); this[b] === a && (this[b] = null); } }; e.prototype.callFrame = function(a) { if (a = this._frameScripts[a | 0]) { try { a.call(this); } catch (b) { throw c.instance.reportTelemetry({topic:"error", error:2}), this.stop(), b; } } }; e.prototype.nextFrame = function() { this.gotoAndStop(this._currentFrame + 1); }; e.prototype.prevFrame = function() { this.gotoAndStop(this._currentFrame - 1); }; e.prototype.gotoAndPlay = function(b, c) { "undefined" === typeof c && (c = null); (0 === arguments.length || 2 < arguments.length) && a("ArgumentError", k.Errors.WrongArgumentCountError, "flash.display::MovieClip/gotoAndPlay()", 1, arguments.length); c = d(c); b = d(b) + ""; this.play(); this._gotoFrame(b, c); }; e.prototype.gotoAndStop = function(b, c) { "undefined" === typeof c && (c = null); (0 === arguments.length || 2 < arguments.length) && a("ArgumentError", k.Errors.WrongArgumentCountError, "flash.display::MovieClip/gotoAndPlay()", 1, arguments.length); c = d(c); b = d(b) + ""; this.stop(); this._gotoFrame(b, c); }; e.prototype.addFrameScript = function(b, c) { if (this._currentFrame) { var d = arguments.length; d & 1 && a("ArgumentError", k.Errors.TooFewArgumentsError, d, d + 1); for (var h = this._frameScripts, e = this._totalFrames, f = 0;f < d;f += 2) { var l = (arguments[f] | 0) + 1; 1 > l || l > e || (h[l] = arguments[f + 1], l === this._currentFrame && (this._setFlags(4096), this._parent && this._propagateFlagsUp(8192))); } } }; Object.defineProperty(e.prototype, "_avm1SymbolClass", {get:function() { return this._symbol && this._symbol.avm1SymbolClass || null; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "_isFullyLoaded", {get:function() { return this.framesLoaded >= this.totalFrames; }, enumerable:!0, configurable:!0}); e.prototype._registerStartSounds = function(a, b) { null === this._sounds && (this._sounds = new p(this)); this._sounds.registerStartSounds(a, b); }; e.prototype._initSoundStream = function(a) { null === this._sounds && (this._sounds = new p(this)); this._sounds.initSoundStream(a); }; e.prototype._addSoundStreamBlock = function(a, b) { this._sounds.addSoundStreamBlock(a, b); }; e.prototype._syncSounds = function(a) { null !== this._sounds && this._sounds.syncSounds(a); }; e.prototype.addScene = function(a, b, c, d) { this._scenes.push(new t.Scene(a, b, c, d)); }; e.prototype.addFrameLabel = function(a, b) { var c = this._sceneForFrameIndex(b); c.getLabelByName(a) || c.labels.push(new f.display.FrameLabel(a, b - c.offset)); }; e.prototype.prevScene = function() { var a = this._sceneForFrameIndex(this._currentFrame); 0 !== a.offset && this._gotoFrameAbs(this._sceneForFrameIndex(a.offset).offset + 1); }; e.prototype.nextScene = function() { var a = this._sceneForFrameIndex(this._currentFrame); a.offset + a.numFrames !== this._totalFrames && this._gotoFrameAbs(a.offset + a.numFrames + 1); }; e.classInitializer = function() { e.reset(); }; e.initializer = function(a) { t.DisplayObject._advancableInstances.push(this); this._currentFrame = 0; this._totalFrames = 1; this._trackAsMenu = !1; this._scenes = []; this._enabled = !0; this._isPlaying = !1; this._frames = []; this._frameScripts = []; this._nextFrame = 1; this._stopped = !1; this._allowFrameNavigation = !0; this._sounds = null; this._buttonFrames = Object.create(null); this._currentButtonState = null; if (a) { if (this._totalFrames = a.numFrames, this._currentFrame = 1, a.isRoot || this.addScene("", a.labels, 0, a.numFrames), this._frames = a.frames, a.isAVM1Object) { this._mouseEnabled = !1; if (a.frameScripts) { var b = g.avm1lib.getAVM1Object(this); b.context = a.avm1Context; for (var c = a.frameScripts, d = 0;d < c.length;d += 2) { b.addFrameScript(c[d], c[d + 1]); } } a.avm1Name && (this.name = a.avm1Name); } } else { this.addScene("", [], 0, this._totalFrames); } }; e.classSymbols = null; e.instanceSymbols = null; return e; }(f.display.Sprite); t.MovieClip = e; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(b) { (function(g) { function k(a, b) { var d; try { d = b.addSourceBuffer("audio/mpeg"); a.mediaSource = b; a.sourceBuffer = d; var f = 0; a.rawFrames.forEach(function(a) { f += a.length; }); if (0 !== f) { var e = new Uint8Array(f), g = 0; a.rawFrames.forEach(function(a) { e.set(a, g); g += a.length; }); d.appendBuffer(e); } a.rawFrames = null; } catch (l) { console.error("MediaSource mp3 playback is not supported: " + l); } } function m(a, b) { var d = !1, f; a.addEventListener("timeupdate", function(a) { d ? performance.now() : (f = performance.now(), d = !0); }); a.addEventListener("pause", function(a) { d = !1; }); a.addEventListener("seeking", function(a) { d = !1; }); } var d = function() { function a(a, b) { this.movieClip = b; this.data = {sampleRate:a.sampleRate, channels:a.channels}; this.seekIndex = []; this.position = 0; var d = "mp3" === a.format; if (d) { var e = document.createElement("audio"); e.preload = "metadata"; e.loop = !1; m(e, b); if (e.canPlayType("audio/mpeg")) { this.element = e; "undefined" !== typeof MediaSource ? (d = new MediaSource, d.addEventListener("sourceopen", k.bind(null, this, d)), e.src = URL.createObjectURL(d)) : console.warn("MediaSource is not supported"); this.rawFrames = []; return; } } this.data.pcm = new Float32Array(a.samplesCount * a.channels); if (d) { var f = this; f.decoderPosition = 0; f.decoderSession = new MP3DecoderSession; f.decoderSession.onframedata = function(a) { var b = f.decoderPosition; f.data.pcm.set(a, b); f.decoderPosition = b + a.length; }.bind(this); f.decoderSession.onerror = function(a) { console.error("ERROR: MP3DecoderSession: " + a); }; } } a.prototype.appendBlock = function(a, b) { var d = this.position; this.seekIndex[a] = d + b.seek * this.data.channels; this.position = d + b.samplesCount * this.data.channels; if (this.sourceBuffer) { this.sourceBuffer.appendBuffer(b.data); } else { if (this.rawFrames) { this.rawFrames.push(b.data); } else { var e = this.decoderSession; e ? e.pushAsync(b.data) : this.data.pcm.set(b.pcm, d); } } }; a.prototype.playFrame = function(a) { if (!isNaN(this.seekIndex[a])) { var d = this.element; if (d) { var g = this.data, e = this.seekIndex[a] / g.sampleRate / g.channels; if (!this.channel && (this.movieClip._isFullyLoaded || this.sourceBuffer)) { this.sourceBuffer || (d.src = URL.createObjectURL(new Blob(this.rawFrames))), this.channel = a = b.media.SoundChannel.initializeFrom({element:d}), this.waitFor = this.expectedFrame = 0; } else { if (this.sourceBuffer || !isNaN(d.duration)) { this.mediaSource && this.movieClip._isFullyLoaded && (this.mediaSource.endOfStream(), this.mediaSource = null), g = d.currentTime, this.expectedFrame !== a ? d.paused ? (d.play(), d.addEventListener("playing", function l(a) { d.removeEventListener("playing", l); d.currentTime = e; })) : d.currentTime = e : 0 < this.waitFor ? this.waitFor <= e && (d.paused && d.play(), this.waitFor = 0) : 1 < g - e ? (console.warn("Sound is faster than frames by " + (g - e)), this.waitFor = g - .25, d.pause()) : 1 < e - g && (console.warn("Sound is slower than frames by " + (e - g)), d.currentTime = e + .25), this.expectedFrame = a + 1; } } } else { this.sound || (g = b.media.Sound.initializeFrom(this.data), a = g.play(), this.sound = g, this.channel = a); } } }; return a; }(); g.MovieClipSoundStream = d; })(b.display || (b.display = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(t) { var s = b.Debug.notImplemented, m = b.Debug.assert, d = b.Debug.somewhatImplemented, a = b.AVM2.Runtime.asCoerceString, c = b.AVM2.Runtime.throwError, n = function(b) { function e() { t.DisplayObjectContainer.instanceConstructorNoInitialize.call(this); this._root = this; this._stage = this; this._frameRate = 24; this._scaleMode = t.StageScaleMode.SHOW_ALL; this._align = ""; this._stageHeight = this._stageWidth = 0; this._showDefaultContextMenu = !0; this._focus = null; this._colorCorrection = t.ColorCorrection.DEFAULT; this._colorCorrectionSupport = t.ColorCorrectionSupport.DEFAULT_OFF; this._stageFocusRect = !0; this._quality = t.StageQuality.HIGH; this._fullScreenSourceRect = this._displayState = null; this._mouseLock = !1; this._stageVideos = new g.GenericVector(0, !0, g.ASObject); this._stage3Ds = null; this._colorARGB = 4294967295; this._fullScreenHeight = this._fullScreenWidth = 0; this._wmodeGPU = !1; this._softKeyboardRect = new f.geom.Rectangle; this._allowsFullScreenInteractive = this._allowsFullScreen = !1; this._contentsScaleFactor = 1; this._displayContextInfo = null; this._timeout = -1; this._invalidated = !1; } __extends(e, b); Object.defineProperty(e.prototype, "frameRate", {get:function() { return this._frameRate; }, set:function(a) { this._frameRate = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "scaleMode", {get:function() { return this._scaleMode; }, set:function(b) { b = a(b); 0 > f.display.StageScaleMode.toNumber(b) && c("ArgumentError", k.Errors.InvalidEnumError, "scaleMode"); this._scaleMode = b; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "align", {get:function() { return this._align; }, set:function(b) { b = a(b); b = f.display.StageAlign.toNumber(b); m(0 <= b); this._align = f.display.StageAlign.fromNumber(b); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "stageWidth", {get:function() { return this._stageWidth / 20 | 0; }, set:function(a) { }, enumerable:!0, configurable:!0}); e.prototype._setInitialName = function() { this._name = null; }; e.prototype.setStageWidth = function(a) { m((a | 0) === a); this._stageWidth = 20 * a | 0; }; Object.defineProperty(e.prototype, "stageHeight", {get:function() { return this._stageHeight / 20 | 0; }, set:function(a) { }, enumerable:!0, configurable:!0}); e.prototype.setStageHeight = function(a) { m((a | 0) === a); this._stageHeight = 20 * a | 0; }; e.prototype.setStageColor = function(a) { this._colorARGB = a; }; Object.defineProperty(e.prototype, "showDefaultContextMenu", {get:function() { return this._showDefaultContextMenu; }, set:function(a) { this._showDefaultContextMenu = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "focus", {get:function() { return this._focus; }, set:function(a) { this._focus = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "colorCorrection", {get:function() { return this._colorCorrection; }, set:function(a) { s("public flash.display.Stage::set colorCorrection"); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "colorCorrectionSupport", {get:function() { return this._colorCorrectionSupport; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "stageFocusRect", {get:function() { return this._stageFocusRect; }, set:function(a) { this._stageFocusRect = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "quality", {get:function() { return this._quality.toUpperCase(); }, set:function(b) { b = (a(b) || "").toLowerCase(); 0 > f.display.StageQuality.toNumber(b) && (b = f.display.StageQuality.HIGH); this._quality = b; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "displayState", {get:function() { return this._displayState; }, set:function(b) { d("public flash.display.Stage::set displayState"); this._displayState = a(b); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "fullScreenSourceRect", {get:function() { return this._fullScreenSourceRect; }, set:function(a) { s("public flash.display.Stage::set fullScreenSourceRect"); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "mouseLock", {get:function() { return this._mouseLock; }, set:function(a) { d("public flash.display.Stage::set mouseLock"); this._mouseLock = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "stageVideos", {get:function() { d("public flash.display.Stage::get stageVideos"); return this._stageVideos; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "stage3Ds", {get:function() { s("public flash.display.Stage::get stage3Ds"); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "color", {get:function() { return this._colorARGB; }, set:function(a) { this._colorARGB = a | 4278190080; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "alpha", {get:function() { return this._colorTransform.alphaMultiplier; }, set:function(a) { c("Error", k.Errors.InvalidStageMethodError); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "fullScreenWidth", {get:function() { return this._fullScreenWidth; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "fullScreenHeight", {get:function() { return this._fullScreenHeight; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "wmodeGPU", {get:function() { return this._wmodeGPU; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "softKeyboardRect", {get:function() { return this._softKeyboardRect; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "allowsFullScreen", {get:function() { return this._allowsFullScreen; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "allowsFullScreenInteractive", {get:function() { return this._allowsFullScreenInteractive; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "contentsScaleFactor", {get:function() { return this._contentsScaleFactor; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "displayContextInfo", {get:function() { return this._displayContextInfo; }, enumerable:!0, configurable:!0}); e.prototype.swapChildrenAt = function(a, b) { s("public flash.display.Stage::swapChildrenAt"); }; e.prototype.invalidate = function() { this._invalidated = !0; }; e.prototype.isInvalidated = function() { return this._invalidated; }; e.prototype.isFocusInaccessible = function() { s("public flash.display.Stage::isFocusInaccessible"); }; e.prototype.requireOwnerPermissions = function() { d("public flash.display.Stage::requireOwnerPermissions"); }; e.prototype.render = function() { this._invalidated && (t.DisplayObject._broadcastFrameEvent(f.events.Event.RENDER), this._invalidated = !1); }; e.classInitializer = null; e.classSymbols = null; e.instanceSymbols = null; e.initializer = null; return e; }(f.display.DisplayObjectContainer); t.Stage = n; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.ActionScriptVersion"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.ACTIONSCRIPT2 = 2; a.ACTIONSCRIPT3 = 3; return a; }(g.ASNative); f.ActionScriptVersion = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.BlendMode"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: ; case 1: return a.NORMAL; case 2: return a.LAYER; case 3: return a.MULTIPLY; case 4: return a.SCREEN; case 5: return a.LIGHTEN; case 6: return a.DARKEN; case 7: return a.DIFFERENCE; case 8: return a.ADD; case 9: return a.SUBTRACT; case 10: return a.INVERT; case 11: return a.ALPHA; case 12: return a.ERASE; case 13: return a.OVERLAY; case 14: return a.HARDLIGHT; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.NORMAL: return 1; case a.LAYER: return 2; case a.MULTIPLY: return 3; case a.SCREEN: return 4; case a.LIGHTEN: return 5; case a.DARKEN: return 6; case a.DIFFERENCE: return 7; case a.ADD: return 8; case a.SUBTRACT: return 9; case a.INVERT: return 10; case a.ALPHA: return 11; case a.ERASE: return 12; case a.OVERLAY: return 13; case a.HARDLIGHT: return 14; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.NORMAL = "normal"; a.LAYER = "layer"; a.MULTIPLY = "multiply"; a.SCREEN = "screen"; a.LIGHTEN = "lighten"; a.DARKEN = "darken"; a.ADD = "add"; a.SUBTRACT = "subtract"; a.DIFFERENCE = "difference"; a.INVERT = "invert"; a.OVERLAY = "overlay"; a.HARDLIGHT = "hardlight"; a.ALPHA = "alpha"; a.ERASE = "erase"; a.SHADER = "shader"; return a; }(g.ASNative); f.BlendMode = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.ColorCorrection"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.DEFAULT; case 1: return a.ON; case 2: return a.OFF; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.DEFAULT: return 0; case a.ON: return 1; case a.OFF: return 2; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.DEFAULT = "default"; a.ON = "on"; a.OFF = "off"; return a; }(g.ASNative); f.ColorCorrection = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.ColorCorrectionSupport"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.UNSUPPORTED; case 1: return a.DEFAULT_ON; case 2: return a.DEFAULT_OFF; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.UNSUPPORTED: return 0; case a.DEFAULT_ON: return 1; case a.DEFAULT_OFF: return 2; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.UNSUPPORTED = "unsupported"; a.DEFAULT_ON = "defaultOn"; a.DEFAULT_OFF = "defaultOff"; return a; }(g.ASNative); f.ColorCorrectionSupport = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.FocusDirection"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.TOP = "top"; a.BOTTOM = "bottom"; a.NONE = "none"; return a; }(g.ASNative); f.FocusDirection = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.AVM2.Runtime.asCoerceString, m = function(b) { function a(a, b) { this._name = k(a); this._frame = b | 0; } __extends(a, b); Object.defineProperty(a.prototype, "name", {get:function() { return this._name; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "frame", {get:function() { return this._frame; }, enumerable:!0, configurable:!0}); a.prototype.clone = function() { return new a(this._name, this._frame); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.FrameLabel = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(t) { var s = b.Debug.notImplemented, m = b.Debug.assert, d = b.Debug.somewhatImplemented, a = b.ArrayUtilities.DataBuffer, c = b.AVM2.Runtime.asCoerceString, n = b.AVM2.Runtime.throwError, p = b.AVM2.Runtime.AVM2, e = b.IntegerUtilities.swap32, q = b.ColorUtilities.premultiplyARGB, l = b.ColorUtilities.unpremultiplyARGB, u = b.ColorUtilities.RGBAToARGB, w = b.ArrayUtilities.indexOf, r = f.geom.Rectangle, h = function(h) { function t(b, c, d, h) { "undefined" === typeof d && (d = !0); "undefined" === typeof h && (h = 4294967295); b |= 0; c |= 0; h |= 0; this._id = f.display.DisplayObject.getNextSyncID(); this._symbol && (b = this._symbol.width, c = this._symbol.height); (b > t.MAXIMUM_WIDTH || 0 >= b || c > t.MAXIMUM_HEIGHT || 0 >= c || b * c > t.MAXIMUM_DIMENSION) && n("ArgumentError", k.Errors.InvalidBitmapData); this._bitmapReferrers = []; this._transparent = !!d; this._rect = new r(0, 0, b, c); if (this._symbol) { this._data = new Uint8Array(this._symbol.data); this._type = this._symbol.type; if (1 === this._type || 2 === this._type || 3 === this._type) { this._view = new Int32Array(this._data.buffer); } this._solidFillColorPBGRA = null; } else { this._data = new Uint8Array(b * c * 4), this._view = new Int32Array(this._data.buffer), this._type = 1, 0 === h >> 24 && d ? this._solidFillColorPBGRA = 0 : this.fillRect(this._rect, h); } this._dataBuffer = a.FromArrayBuffer(this._data.buffer); this._invalidate(); } __extends(t, h); t.prototype._addBitmapReferrer = function(a) { w(this._bitmapReferrers, a); this._bitmapReferrers.push(a); }; t.prototype._removeBitmapReferrer = function(a) { a = w(this._bitmapReferrers, a); this._bitmapReferrers[a] = null; }; t.prototype._invalidate = function() { if (!this._isDirty) { this._isDirty = !0; this._isRemoteDirty = !1; for (var a = 0;a < this._bitmapReferrers.length;a++) { var b = this._bitmapReferrers[a]; b && b._setDirtyFlags(16777216); } } }; t.prototype._getTemporaryRectangleFrom = function(a, b) { "undefined" === typeof b && (b = 0); m(0 <= b && b < t._temporaryRectangles.length); var c = t._temporaryRectangles[b]; a && c.copyFrom(a); return c; }; t.prototype.getDataBuffer = function() { return this._dataBuffer; }; t.prototype._getContentBounds = function() { return b.Bounds.FromRectangle(this._rect); }; t.prototype._getPixelData = function(a) { var b = this._getTemporaryRectangleFrom(this._rect).intersectInPlace(a); if (!b.isEmpty()) { a = b.x; for (var c = b.x + b.width, d = b.y, h = b.y + b.height, e = this._view, f = this._rect.width, b = new Int32Array(b.area), l = 0;d < h;d++) { for (var g = d * f, n = a;n < c;n++) { var m = e[g + n], p = m & 255, m = 255 * (m >>> 8) / p << 8 | p; b[l++] = m; } } return b; } }; t.prototype._putPixelData = function(a, b) { var c = this._getTemporaryRectangleFrom(this._rect).intersectInPlace(a); if (!c.isEmpty()) { for (var d = c.x, h = c.x + c.width, e = c.y + c.height, f = this._view, l = this._rect.width, g = a.width * a.height - c.height + (d - a.x), n = a.width - c.width, m = this._transparent ? 0 : 255, c = c.y;c < e;c++) { for (var p = c * l, k = d;k < h;k++) { var r = b[g++], q = r & m; f[p + k] = (((r >>> 8) * q + 254) / 255 & 16777215) << 8 | q; } g += n; } this._invalidate(); } }; Object.defineProperty(t.prototype, "width", {get:function() { return this._rect.width; }, enumerable:!0, configurable:!0}); Object.defineProperty(t.prototype, "height", {get:function() { return this._rect.height; }, enumerable:!0, configurable:!0}); Object.defineProperty(t.prototype, "rect", {get:function() { return this._rect.clone(); }, enumerable:!0, configurable:!0}); Object.defineProperty(t.prototype, "transparent", {get:function() { return this._transparent; }, enumerable:!0, configurable:!0}); t.prototype.clone = function() { d("public flash.display.BitmapData::clone"); var a = new t(this._rect.width, this._rect.height, this._transparent, this._solidFillColorPBGRA); a._view.set(this._view); return a; }; t.prototype.getPixel = function(a, b) { return this.getPixel32(a | 0, b | 0) & 16777215; }; t.prototype.getPixel32 = function(a, c) { a |= 0; c |= 0; if (!this._rect.contains(a, c)) { return 0; } this._ensureBitmapData(); var d = this._view[c * this._rect.width + a]; switch(this._type) { case 1: return d = e(d), l(d) >>> 0; case 3: return u(e(d)); default: return b.Debug.notImplemented(b.ImageType[this._type]), 0; } }; t.prototype.setPixel = function(a, b, c) { a |= 0; b |= 0; c |= 0; this._rect.contains(a, b) && (this._ensureBitmapData(), a = b * this._rect.width + a, c = c & 16777215 | (this._view[a] & 255) << 24, c = q(c), this._view[a] = e(c), this._invalidate(), this._solidFillColorPBGRA = null); }; t.prototype.setPixel32 = function(a, b, c) { a |= 0; b |= 0; if (this._rect.contains(a, b)) { this._ensureBitmapData(); var d = c >>> 24; c &= 16777215; d = this._transparent ? q(c | d << 24) : c | 4278190080; this._view[b * this._rect.width + a] = e(d); this._invalidate(); this._solidFillColorPBGRA = null; } }; t.prototype.applyFilter = function(a, b, c, h) { d("public flash.display.BitmapData::applyFilter " + h); }; t.prototype.colorTransform = function(a, b) { d("public flash.display.BitmapData::colorTransform"); }; t.prototype.compare = function(a) { s("public flash.display.BitmapData::compare"); }; t.prototype.copyChannel = function(a, b, c, d, h) { s("public flash.display.BitmapData::copyChannel"); }; t.prototype.copyPixels = function(a, b, c, h, e, f) { "undefined" === typeof h && (h = null); "undefined" === typeof e && (e = null); "undefined" === typeof f && (f = !1); f = !!f; if (h || e) { s("public flash.display.BitmapData::copyPixels - Alpha"); } else { var l = this._getTemporaryRectangleFrom(b, 0).roundInPlace(); b = this._rect; e = a._rect; var g = Math.max(l.x, 0); h = Math.max(l.y, 0); var n = Math.min(l.x + l.width, e.width), m = Math.min(l.y + l.height, e.height); e = c.x | 0 + (g - l.x); l = c.y | 0 + (h - l.y); 0 > e && (g -= e, e = 0); 0 > l && (h -= l, l = 0); c = Math.min(n - g, b.width - e); b = Math.min(m - h, b.height - l); if (!(0 >= c || 0 >= b)) { var n = g, m = h, p = e, k = l; h = a._rect.width; e = this._rect.width; this._ensureBitmapData(); a._ensureBitmapData(); g = a._view; l = this._view; a._type !== this._type && d("public flash.display.BitmapData::copyPixels - Color Format Conversion"); if (f && 1 !== this._type) { s("public flash.display.BitmapData::copyPixels - Merge Alpha"); } else { if (null === this._solidFillColorPBGRA || this._solidFillColorPBGRA !== a._solidFillColorPBGRA) { null !== a._solidFillColorPBGRA && 255 === (a._solidFillColorPBGRA & 255) && (f = !1); if (f) { this._copyPixelsAndMergeAlpha(g, n, m, h, l, p, k, e, c, b); } else { if (a = m * h + n | 0, f = k * e + p | 0, 0 === (c & 3)) { for (n = 0;n < b;n = n + 1 | 0) { for (m = 0;m < c;m = m + 4 | 0) { l[f + m + 0 | 0] = g[a + m + 0 | 0], l[f + m + 1 | 0] = g[a + m + 1 | 0], l[f + m + 2 | 0] = g[a + m + 2 | 0], l[f + m + 3 | 0] = g[a + m + 3 | 0]; } a = a + h | 0; f = f + e | 0; } } else { for (n = 0;n < b;n = n + 1 | 0) { for (m = 0;m < c;m = m + 1 | 0) { l[f + m | 0] = g[a + m | 0]; } a = a + h | 0; f = f + e | 0; } } } this._solidFillColorPBGRA = null; this._invalidate(); } } } } }; t.prototype._copyPixelsAndMergeAlpha = function(a, b, c, d, h, e, f, l, g, n) { b = c * d + b | 0; e = f * l + e | 0; for (f = 0;f < n;f = f + 1 | 0) { for (c = 0;c < g;c = c + 1 | 0) { var m = a[b + c | 0], p = m & 255; if (255 === p) { h[e + c | 0] = m; } else { if (0 !== p) { var k = m & 16711935, m = m >> 8 & 16711935, r = h[e + c | 0], q = r & 16711935, r = r >> 8 & 16711935, p = 256 - p, q = Math.imul(q, p) >> 8, r = Math.imul(r, p) >> 8; h[e + c | 0] = (m + r & 16711935) << 8 | k + q & 16711935; } } } b = b + d | 0; e = e + l | 0; } }; t.prototype.dispose = function() { this._rect.setEmpty(); this._view = null; this._invalidate(); }; t.prototype.draw = function(a, b, c, h, e, f) { "undefined" === typeof b && (b = null); "undefined" === typeof c && (c = null); "undefined" === typeof h && (h = null); "undefined" === typeof e && (e = null); "undefined" === typeof f && (f = !1); d("public flash.display.BitmapData::draw"); var l = p.instance.globals["Shumway.Player.Utils"]; b && (b = b.clone().toTwipsInPlace()); l.drawToBitmap(this, a, b, c, h, e, f); this._isRemoteDirty = !0; }; t.prototype.drawWithQuality = function(a, b, d, h, e, f, l) { "undefined" === typeof h && (h = null); "undefined" === typeof l && (l = null); c(h); c(l); s("public flash.display.BitmapData::drawWithQuality"); }; t.prototype.fillRect = function(a, b) { var c = this._transparent ? q(b) : b | 4278190080; m(1 === this._type); var c = e(c), d = this._getTemporaryRectangleFrom(this._rect).intersectInPlace(a); if (!d.isEmpty() && (this._ensureBitmapData(), this._solidFillColorPBGRA !== c)) { var h = this._view; if (d.equals(this._rect)) { var f = h.length; if (0 === (f & 3)) { for (var l = 0;l < f;l = l + 4 | 0) { h[l + 0 | 0] = c, h[l + 1 | 0] = c, h[l + 2 | 0] = c, h[l + 3 | 0] = c; } } else { for (l = 0;l < f;l = l + 1 | 0) { h[l] = c; } } this._solidFillColorPBGRA = c; } else { for (var f = d.x, l = d.x + d.width, g = d.y + d.height, n = this._rect.width, d = d.y;d < g;d = d + 1 | 0) { for (var p = d * n | 0, k = f;k < l;k = k + 1 | 0) { h[p + k | 0] = c; } } this._solidFillColorPBGRA = null; } this._invalidate(); } }; t.prototype.floodFill = function(a, b, c) { s("public flash.display.BitmapData::floodFill"); }; t.prototype.generateFilterRect = function(a, b) { s("public flash.display.BitmapData::generateFilterRect"); }; t.prototype.getColorBoundsRect = function(a, b, c) { s("public flash.display.BitmapData::getColorBoundsRect"); }; t.prototype.getPixels = function(a) { var b = new f.utils.ByteArray; this.copyPixelsToByteArray(a, b); return b; }; t.prototype.copyPixelsToByteArray = function(a, b) { var c = this._getPixelData(a); c && b.writeRawBytes(new Uint8Array(c)); }; t.prototype.getVector = function(a) { var b = new g.Uint32Vector(c.length), c = this._getPixelData(a); if (!c) { return b; } b.length = c.length; b._view().set(c); return b; }; t.prototype.hitTest = function(a, b, c, d, h) { s("public flash.display.BitmapData::hitTest"); }; t.prototype.merge = function(a, b, c, h, e, f, l) { d("public flash.display.BitmapData::merge"); }; t.prototype.noise = function(a, b, c, h, e) { d("public flash.display.BitmapData::noise"); }; t.prototype.paletteMap = function(a, b, c, h, e, f, l) { d("public flash.display.BitmapData::paletteMap"); }; t.prototype.perlinNoise = function(a, b, c, h, e, f, l, g, n) { d("public flash.display.BitmapData::perlinNoise"); }; t.prototype.pixelDissolve = function(a, b, c, d, h, e) { s("public flash.display.BitmapData::pixelDissolve"); }; t.prototype.scroll = function(a, b) { s("public flash.display.BitmapData::scroll"); }; t.prototype.setPixels = function(a, b) { this._putPixelData(a, new Int32Array(b.readRawBytes())); }; t.prototype.setVector = function(a, b) { this._putPixelData(a, b._view()); }; t.prototype.threshold = function(a, b, d, h, e, f, l, g) { c(h); s("public flash.display.BitmapData::threshold"); }; t.prototype.lock = function() { this._locked = !0; }; t.prototype.unlock = function(a) { this._locked = !1; }; t.prototype.histogram = function(a) { s("public flash.display.BitmapData::histogram"); }; t.prototype.encode = function(a, b, c) { s("public flash.display.BitmapData::encode"); }; t.prototype._ensureBitmapData = function() { var c = this._data; if (this._isRemoteDirty) { var d = b.AVM2.Runtime.AVM2.instance.globals["Shumway.Player.Utils"].requestBitmapData(this); this._data = new Uint8Array(d.getBytes()); this._type = 3; this._view = new Int32Array(this._data.buffer); this._isDirty = this._isRemoteDirty = !1; this._solidFillColorPBGRA = null; } switch(this._type) { case 5: ; case 4: ; case 6: b.Debug.somewhatImplemented("Image conversion " + b.ImageType[this._type] + " -> " + b.ImageType[1]); break; default: if (1 !== this._type) { var d = new Uint8Array(this._rect.width * this._rect.height * 4), h = new Int32Array(d.buffer); b.ColorUtilities.convertImage(this._type, 1, this._view, h); this._data = d; this._view = h; this._type = 1; this._solidFillColorPBGRA = null; } ; } 1 !== this._type && (this._data = new Uint8Array(this._rect.width * this._rect.height * 4), this._view = new Int32Array(this._data.buffer), this._type = 1, this._fillWithDebugData(), this._solidFillColorPBGRA = null); c !== this._data && (this._dataBuffer = a.FromArrayBuffer(this._data.buffer)); }; t.prototype._fillWithDebugData = function() { var a = this._view; e(4294928820); for (var b = this._rect.width, c = this._rect.height, d = 0, h = 0;h < c;h++) { for (var f = 0;f < b;f++) { a[d++] = e(q(-1442840576 | (h & 255) << 16 | (f & 255) << 8 | 255)); } } }; t.classInitializer = function() { }; t.initializer = function(a) { this._symbol = a; }; t.classSymbols = null; t.instanceSymbols = null; t.MAXIMUM_WIDTH = 8191; t.MAXIMUM_HEIGHT = 8191; t.MAXIMUM_DIMENSION = 16777215; t._temporaryRectangles = [new f.geom.Rectangle, new f.geom.Rectangle, new f.geom.Rectangle]; return t; }(g.ASNative); t.BitmapData = h; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.BitmapDataChannel"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.RED = 1; a.GREEN = 2; a.BLUE = 4; a.ALPHA = 8; return a; }(g.ASNative); f.BitmapDataChannel = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.BitmapEncodingColorSpace"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.COLORSPACE_AUTO = "auto"; a.COLORSPACE_4_4_4 = "4:4:4"; a.COLORSPACE_4_2_2 = "4:2:2"; a.COLORSPACE_4_2_0 = "4:2:0"; return a; }(g.ASNative); f.BitmapEncodingColorSpace = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var Shumway$$inline_605 = Shumway || (Shumway = {}), AVM2$$inline_606 = Shumway$$inline_605.AVM2 || (Shumway$$inline_605.AVM2 = {}), AS$$inline_607 = AVM2$$inline_606.AS || (AVM2$$inline_606.AS = {}), flash$$inline_608 = AS$$inline_607.flash || (AS$$inline_607.flash = {}), display$$inline_609 = flash$$inline_608.display || (flash$$inline_608.display = {}), display$$inline_610 = flash$$inline_608.display, flash$$inline_611 = AS$$inline_607.flash, AS$$inline_612 = AVM2$$inline_606.AS, AVM2$$inline_613 = Shumway$$inline_605.AVM2; (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a(a) { k("Dummy Constructor: public flash.display.JPEGEncoderOptions"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.JPEGEncoderOptions = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(t) { function s() { return q.instance.globals["Shumway.Player.Utils"]; } var m = b.Debug.assert, d = b.Debug.warning, a = b.Debug.assertUnreachable, c = b.Debug.notImplemented, n = b.AVM2.Runtime.throwError, p = b.FileLoadingService, e = b.Telemetry, q = b.AVM2.Runtime.AVM2, l = b.AVM2.ABC.AbcFile, u = f.events, w = f.display.ActionScriptVersion, r = f.system.ApplicationDomain, h = b.Bounds, x; (function(a) { a[a.Unloaded = 0] = "Unloaded"; a[a.Opened = 1] = "Opened"; a[a.Initialized = 2] = "Initialized"; a[a.Complete = 3] = "Complete"; })(x || (x = {})); var y; (function(a) { a[a.External = 0] = "External"; a[a.Bytes = 1] = "Bytes"; })(y || (y = {})); x = function(x) { function y() { t.DisplayObjectContainer.instanceConstructorNoInitialize.call(this); this._writer = new b.IndentingWriter; this._content = null; this._contentLoaderInfo = new f.display.LoaderInfo; this._worker = null; this._loadStatus = 0; this._contentLoaderInfo._loader = this; this._initialDataLoaded = new b.PromiseWrapper; this._waitForInitialData = !0; this._commitDataQueue = this._initialDataLoaded.promise; this._codeExecutionPromise = new b.PromiseWrapper; this._progressPromise = new b.PromiseWrapper; this._startPromise = Promise.all([this._codeExecutionPromise.promise, this._progressPromise.promise]); } __extends(y, x); y.getRootLoader = function() { if (y._rootLoader) { return y._rootLoader; } var a = new f.display.Loader; f.display.DisplayObject._instanceID--; a._contentLoaderInfo._loader = null; a._loadStatus = 1; return y._rootLoader = a; }; y.reset = function() { y._rootLoader = null; }; y.progress = function() { y.FlushCommittedFrames(); for (var b = y._loadQueue, c = 0;c < b.length;c++) { var d = b[c], h = d._contentLoaderInfo, e = h._bytesLoaded, f = h._bytesTotal; switch(d._loadStatus) { case 0: if (!f) { break; } 0 === d._loadingType && h.dispatchEvent(u.Event.getInstance(u.Event.OPEN)); h.dispatchEvent(new u.ProgressEvent(u.ProgressEvent.PROGRESS, !1, !1, 0, f)); d._loadStatus = 1; case 1: h._bytesLoadedChanged && (h._bytesLoadedChanged = !1, h.dispatchEvent(new u.ProgressEvent(u.ProgressEvent.PROGRESS, !1, !1, e, f))); if (!d._content || !d._content._hasFlags(256)) { break; } d._loadStatus = 2; h.dispatchEvent(u.Event.getInstance(u.Event.INIT)); h._actionScriptVersion === w.ACTIONSCRIPT2 && u.EventDispatcher.broadcastEventDispatchQueue.dispatchEvent(u.Event.getBroadcastInstance(u.Event.AVM1_LOAD)); case 2: e === f && (d._loadStatus = 3, h.dispatchEvent(u.Event.getInstance(u.Event.COMPLETE))); break; case 3: b.splice(c--, 1); break; default: a("Mustn't encounter unhandled status in Loader queue."); } } }; y.FlushCommittedFrames = function() { for (var a = y._commitFrameQueue, b = 0;b < a.length;b++) { a[b].loader._commitFrame(a[b].data); } a.length = 0; }; y.prototype._initFrame = function(a) { }; y.prototype._constructFrame = function() { this._constructChildren(); }; y.prototype._describeData = function(a) { var c = [], d; for (d in a) { c.push(d + ":" + b.StringUtilities.toSafeString(a[d])); } return "{" + c.join(", ") + "}"; }; y.prototype._commitData = function(a) { !this._waitForInitialData || "progress" !== a.command && "image" !== a.command && "error" !== a.command || (this._waitForInitialData = !1, this._initialDataLoaded.resolve(void 0)); var b = this._commitDataQueue.then(this._commitQueuedData.bind(this, a)); g.traceLoaderOption.value && this._writer.writeTimeLn("Making for: " + this._describeData(a)); this._commitDataQueue = b; }; y.prototype._commitQueuedData = function(a) { var c = this._contentLoaderInfo, d = a.command, h = null; g.traceLoaderOption.value && this._writer.writeTimeLn("Executing Promise: " + this._describeData(a)); switch(d) { case "init": d = a.result; c.bytesLoaded = d.bytesLoaded; c._bytesTotal = d.bytesTotal; c._swfVersion = d.swfVersion; c._frameRate = d.frameRate; var f = d.bbox; c._width = f.xMax - f.xMin; c._height = f.yMax - f.yMin; f = new b.Timeline.SpriteSymbol(0, !0); f.numFrames = d.frameCount; c.registerSymbol(f); d.fileAttributes && d.fileAttributes.doAbc || (c._actionScriptVersion = w.ACTIONSCRIPT2, h = this._initAvm1(), g.traceLoaderOption.value && this._writer.writeTimeLn("Suspending until AVM1 is initialized.")); break; case "progress": var d = a.result, f = d.bytesLoaded, n = d.bytesTotal; m(f <= n, "Loaded bytes should not exceed total bytes."); c.bytesLoaded = f; c._bytesTotal ? m(c._bytesTotal === n, "Total bytes should not change.") : c._bytesTotal = n; d.open && 0 === this._loadStatus && (this._loadStatus = 1); 0 !== this._loadStatus && (c.dispatchEvent(new u.ProgressEvent(u.ProgressEvent.PROGRESS, !1, !1, f, n)), this._progressPromise.resolve(void 0), g.traceLoaderOption.value && this._writer.writeTimeLn("Resolving progress promise.")); break; case "complete": a.stats && e.instance.reportTelemetry(a.stats); this._worker && this._worker.terminate(); break; case "error": this._contentLoaderInfo.dispatchEvent(new u.IOErrorEvent(u.IOErrorEvent.IO_ERROR)); break; default: if (0 === a.id) { break; } if (a.isSymbol) { this._commitAsset(a); } else { if ("frame" === a.type) { if (this._frameAssetsQueue) { g.traceLoaderOption.value && this._writer.writeTimeLn("Suspending frame execution until all of its assets are resolved."); var k = this, h = Promise.all(this._frameAssetsQueue).then(function() { k._enqueueFrame(a); k._frameAssetsQueue = null; }.bind(this)); } else { this._enqueueFrame(a); } } else { "image" === a.type ? this._commitImage(a) : "abc" === a.type && (d = q.instance.applicationDomain, f = new l(a.data, a.name), a.flags ? d.loadAbc(f) : c._allowCodeExecution && d.executeAbc(f)); } } ; } return h; }; y.prototype._initAvm1 = function() { var a = this._contentLoaderInfo; return this._loaderInfo && this._loaderInfo._avm1Context ? (a._avm1Context = this._loaderInfo._avm1Context, null) : q.instance.loadAVM1().then(function() { a._avm1Context = b.AVM1.AVM1Context.create(a.swfVersion); }); }; y.prototype._commitAsset = function(a) { var c = this._contentLoaderInfo, d = a.id, e; if (a.updates) { a = a.updates, e = c.getSymbolById(d), a.scale9Grid && (e.scale9Grid = h.FromUntyped(a.scale9Grid)); } else { switch(a.type) { case "shape": e = b.Timeline.ShapeSymbol.FromData(a, c); break; case "morphshape": e = b.Timeline.MorphShapeSymbol.FromData(a, c); break; case "image": var l = e = b.Timeline.BitmapSymbol.FromData(a); if (5 === l.type || 6 === l.type || 4 === l.type) { this._frameAssetsQueue || (this._frameAssetsQueue = []), this._frameAssetsQueue.push(new Promise(function(a) { s().decodeImage(l, a); })); } break; case "label": ; case "text": e = b.Timeline.TextSymbol.FromTextData(a); break; case "button": e = b.Timeline.ButtonSymbol.FromData(a, c); break; case "sprite": e = b.Timeline.SpriteSymbol.FromData(a, c); break; case "font": e = b.Timeline.FontSymbol.FromData(a); d = f.text.Font.initializeFrom(e); f.text.Font.instanceConstructorNoInitialize.call(d); s().registerFont(d); "undefined" !== typeof navigator && 0 > navigator.userAgent.indexOf("Firefox") && (this._frameAssetsQueue || (this._frameAssetsQueue = []), this._frameAssetsQueue.push(new Promise(function(a) { setTimeout(a, 400); }))); break; case "sound": e = b.Timeline.SoundSymbol.FromData(a); break; case "binary": e = b.Timeline.BinarySymbol.FromData(a); } m(e, "Unknown symbol type."); c.registerSymbol(e); } }; y.prototype._enqueueFrame = function(a) { this === y.getRootLoader() ? (y.runtimeStartTime = Date.now(), this._commitFrame(a), this._codeExecutionPromise.resolve(void 0)) : y._commitFrameQueue.push({loader:this, data:a}); }; y.prototype._commitFrame = function(a) { var c = this._contentLoaderInfo; void 0 !== a.bgcolor && (c._colorRGBA = a.bgcolor); if (a.symbolClasses) { for (var h = a.symbolClasses, e = q.instance.applicationDomain, l = 0;l < h.length;l++) { var n = h[l]; if (c._allowCodeExecution) { var m = c.getSymbolById(n.symbolId); m ? (n = e.getClass(n.className), n.defaultInitializerArgument = m, m.symbolClass = n) : d("Symbol " + n.symbolId + " is not defined."); } } } if (a.exports && c._actionScriptVersion === w.ACTIONSCRIPT2) { for (h = a.exports, l = 0;l < h.length;l++) { n = h[l], (m = c.getSymbolById(n.symbolId)) ? c._avm1Context.addAsset(n.className, n.symbolId, m) : d("Symbol " + n.symbolId + " is not defined."); } } for (var h = c.getSymbolById(0), l = h.symbolClass, e = h.frames, m = e.length, n = new b.Timeline.FrameDelta(c, a.commands), k = a.repeat;k--;) { e.push(n); } e = this._content; if (!e) { e = l.initializeFrom(h); f.display.DisplayObject._instanceID--; e._name = "root1"; if (t.MovieClip.isType(e)) { if (n = e, a.sceneData) { for (var k = a.sceneData.scenes, l = 0, p = k.length;l < p;l++) { var r = k[l], s = r.offset; n.addScene(r.name, [], s, (l < p - 1 ? k[l + 1].offset : h.numFrames) - s); } h = a.sceneData.labels; for (l = 0;l < h.length;l++) { k = h[l], n.addFrameLabel(k.name, k.frame + 1); } } else { n.addScene("Scene 1", [], 0, h.numFrames); } } e._loaderInfo = c; c._actionScriptVersion === w.ACTIONSCRIPT2 ? e = this._content = this._initAvm1Root(e) : this._content = e; this.addTimelineObjectAtDepth(this._content, 0); } t.AVM1Movie.isType(e) && (e = e._children[0]); t.MovieClip.isType(e) && (l = e, a.labelName && l.addFrameLabel(a.labelName, m + 1), c._actionScriptVersion === w.ACTIONSCRIPT2 && g.avm1lib.getAVM1Object(e).addFrameActionBlocks(m, a), a.soundStream && l._initSoundStream(a.soundStream), a.soundStreamBlock && l._addSoundStreamBlock(m + 1, a.soundStreamBlock)); }; y.prototype._initAvm1Root = function(a) { if (this._loaderInfo && this._loaderInfo._avm1Context) { return a; } var b = g.avm1lib.getAVM1Object(a), c = this._contentLoaderInfo._avm1Context; c.root = b; b.context = c; a.addEventListener("frameConstructed", c.flushPendingScripts.bind(c), !1, Number.MAX_VALUE); c.globals.asSetPublicProperty("_root", b); c.globals.asSetPublicProperty("_level0", b); c = new f.display.AVM1Movie; c.initializeContent(a); this._content = c; a = this._contentLoaderInfo._parameters; for (var d in a) { d in b || (b[d] = a[d]); } return c; }; y.prototype._commitImage = function(a) { a = b.Timeline.BitmapSymbol.FromData(a.props); var c = f.display.BitmapData.initializeFrom(a); f.display.BitmapData.instanceConstructorNoInitialize.call(c); this._content = new f.display.Bitmap(c); this.addTimelineObjectAtDepth(this._content, 0); c = this._contentLoaderInfo; c._width = a.width; c._height = a.height; c.dispatchEvent(u.Event.getInstance(u.Event.INIT)); c.dispatchEvent(u.Event.getInstance(u.Event.COMPLETE)); this._loadStatus = 3; }; Object.defineProperty(y.prototype, "content", {get:function() { return 0 === this._loadStatus ? null : this._content; }, enumerable:!0, configurable:!0}); Object.defineProperty(y.prototype, "contentLoaderInfo", {get:function() { return this._contentLoaderInfo; }, enumerable:!0, configurable:!0}); y.prototype._close = function() { this._worker && 0 === this._loadStatus && (this._worker.terminate(), this._worker = null); }; y.prototype._unload = function(a, b) { 2 > this._loadStatus || (this._content = null, this._worker = this._contentLoaderInfo._loader = null, this._loadStatus = 0, this.dispatchEvent(u.Event.getInstance(u.Event.UNLOAD))); }; y.prototype._getJPEGLoaderContextdeblockingfilter = function(a) { return f.system.JPEGLoaderContext.isType(a) ? a.deblockingFilter : 0; }; y.prototype._getUncaughtErrorEvents = function() { c("public flash.display.Loader::_getUncaughtErrorEvents"); }; y.prototype._setUncaughtErrorEvents = function(a) { c("public flash.display.Loader::_setUncaughtErrorEvents"); }; y.prototype.load = function(a, b) { this._contentLoaderInfo._url = a.url; this._applyLoaderContext(b, a); this._loadingType = 0; var c = this._createParsingWorker(), d = this, h = p.instance.createSession(); h.onprogress = function(a, b) { c.postMessage({data:a, progress:b}); }; h.onerror = function(a) { d._commitData({command:"error", error:a}); }; h.onopen = function() { c.postMessage("pipe:"); }; h.onclose = function() { c.postMessage({data:null}); }; h.open(a._toFileRequest()); y._loadQueue.push(this); }; y.prototype.loadBytes = function(a) { this._contentLoaderInfo._url = (this.loaderInfo ? this.loaderInfo._url : "") + "/[[DYNAMIC]]/" + ++y._embeddedContentLoadCount; this._applyLoaderContext(void 0, null); this._loadingType = 1; var b = this._createParsingWorker(); y._loadQueue.push(this); b.postMessage("pipe:"); a = a.bytes; b.postMessage({data:a, progress:{bytesLoaded:a.byteLength, bytesTotal:a.byteLength}}); b.postMessage({data:null}); }; y.prototype._applyLoaderContext = function(a, c) { var d = {}; if (a && a.parameters) { var h = a.parameters, e; for (e in h) { var f = h[e]; b.isString(f) || n("IllegalOperationError", k.Errors.ObjectWithStringsParamError, "LoaderContext.parameters"); d[e] = f; } } a && a.applicationDomain && (this._contentLoaderInfo._applicationDomain = new r(r.currentDomain)); this._contentLoaderInfo._parameters = d; }; y.prototype._createParsingWorker = function() { var a = this._contentLoaderInfo, c; c = !y.WORKERS_AVAILABLE || b.useParsingWorkerOption && !b.useParsingWorkerOption.value ? new b.SWF.ResourceLoader(window, !1) : new Worker("undefined" !== typeof LOADER_WORKER_PATH ? LOADER_WORKER_PATH : SHUMWAY_ROOT + y.LOADER_PATH); a._allowCodeExecution || this._codeExecutionPromise.reject("Disabled by _allowCodeExecution"); this._waitForInitialData || this._initialDataLoaded.resolve(void 0); var d = this; c.onmessage = function(a) { "exception" === a.data.type ? (console.log("error in parser: \n" + a.data.stack), q.instance.exceptions.push({source:"parser", message:a.data.message, stack:a.data.stack})) : d._commitData(a.data); }; return c; }; y._embeddedContentLoadCount = 0; y.classInitializer = function() { y._rootLoader = null; y._loadQueue = []; }; y.initializer = function() { t.DisplayObject._advancableInstances.push(this); }; y.classSymbols = null; y.instanceSymbols = null; y.WORKERS_AVAILABLE = "undefined" !== typeof Worker; y.LOADER_PATH = "swf/worker.js"; y.runtimeStartTime = 0; y._commitFrameQueue = []; return y; }(f.display.DisplayObjectContainer); t.Loader = x; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.assert, m = b.Debug.notImplemented, d = b.Debug.somewhatImplemented, a = f.display.ActionScriptVersion, c = function(c) { function g() { f.events.EventDispatcher.instanceConstructorNoInitialize.call(this); this._url = this._loaderURL = ""; this._isURLInaccessible = !1; this._bytesLoaded = 0; this._bytesLoadedChanged = !1; this._bytesTotal = 0; this._applicationDomain = null; this._swfVersion = 9; this._actionScriptVersion = a.ACTIONSCRIPT3; k(this._actionScriptVersion); this._frameRate = 24; this._parameters = null; this._height = this._width = 0; this._contentType = ""; this._childSandboxBridge = this._parentSandboxBridge = this._sharedEvents = null; this._parentAllowsChild = this._childAllowsParent = this._sameDomain = !1; this._uncaughtErrorEvents = this._bytes = this._content = this._loader = null; this._allowCodeExecution = !0; this._dictionary = []; this._avm1Context = null; this._colorRGBA = 4294967295; } __extends(g, c); g.getLoaderInfoByDefinition = function(a) { m("public flash.display.LoaderInfo::static getLoaderInfoByDefinition"); }; Object.defineProperty(g.prototype, "loaderURL", {get:function() { return this._loaderURL; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "url", {get:function() { return this._url; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "isURLInaccessible", {get:function() { return this._isURLInaccessible; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "bytesLoaded", {get:function() { return this._bytesLoaded; }, set:function(a) { a !== this._bytesLoaded && (this._bytesLoaded = a, this._bytesLoadedChanged = !0); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "bytesTotal", {get:function() { return this._bytesTotal; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "applicationDomain", {get:function() { d("public flash.display.LoaderInfo::get applicationDomain"); return f.system.ApplicationDomain.currentDomain; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "swfVersion", {get:function() { return this._swfVersion; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "actionScriptVersion", {get:function() { return this._actionScriptVersion; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "frameRate", {get:function() { return this._frameRate; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "width", {get:function() { return this._width / 20 | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "height", {get:function() { return this._height / 20 | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "contentType", {get:function() { return this._contentType; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "sharedEvents", {get:function() { m("public flash.display.LoaderInfo::get sharedEvents"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "parentSandboxBridge", {get:function() { m("public flash.display.LoaderInfo::get parentSandboxBridge"); }, set:function(a) { m("public flash.display.LoaderInfo::set parentSandboxBridge"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "childSandboxBridge", {get:function() { m("public flash.display.LoaderInfo::get childSandboxBridge"); }, set:function(a) { m("public flash.display.LoaderInfo::set childSandboxBridge"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "sameDomain", {get:function() { m("public flash.display.LoaderInfo::get sameDomain"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "childAllowsParent", {get:function() { m("public flash.display.LoaderInfo::get childAllowsParent"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "parentAllowsChild", {get:function() { m("public flash.display.LoaderInfo::get parentAllowsChild"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "loader", {get:function() { return this._loader; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "content", {get:function() { return this._loader && this._loader.content; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "bytes", {get:function() { m("public flash.display.LoaderInfo::get bytes"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "parameters", {get:function() { d("public flash.display.LoaderInfo::get parameters"); return this._parameters ? b.ObjectUtilities.cloneObject(this._parameters) : {}; }, enumerable:!0, configurable:!0}); g.prototype._getUncaughtErrorEvents = function() { m("public flash.display.LoaderInfo::_getUncaughtErrorEvents"); }; g.prototype._setUncaughtErrorEvents = function(a) { m("public flash.display.LoaderInfo::_setUncaughtErrorEvents"); }; g.prototype.registerSymbol = function(a) { this._dictionary[a.id] = a; }; g.prototype.getSymbolById = function(a) { return this._dictionary[a] || null; }; g.classInitializer = null; g.initializer = null; g.classSymbols = null; g.instanceSymbols = null; return g; }(f.events.EventDispatcher); g.LoaderInfo = c; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(b) { (function(g) { var k = function(m) { function d() { g.DisplayObject.instanceConstructorNoInitialize.call(this); } __extends(d, m); d.prototype._canHaveGraphics = function() { return!0; }; d.prototype._getGraphics = function() { return this._graphics; }; Object.defineProperty(d.prototype, "graphics", {get:function() { return this._ensureGraphics(); }, enumerable:!0, configurable:!0}); d.classInitializer = null; d.initializer = function(a) { a ? (this._graphics = a.graphics, this.morphFillBounds = a.morphFillBounds, this.morphLineBounds = a.morphLineBounds) : (this._graphics = new b.display.Graphics, this.morphLineBounds = this.morphFillBounds = null); }; d.classSymbols = null; d.instanceSymbols = null; return d; }(b.display.DisplayObject); g.MorphShape = k; })(b.display || (b.display = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.NativeMenu"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.NativeMenu = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.somewhatImplemented, m = function(b) { function a() { f.events.EventDispatcher.instanceConstructorNoInitialize.call(this); this._enabled = !0; } __extends(a, b); Object.defineProperty(a.prototype, "enabled", {get:function() { k("public flash.display.NativeMenuItem::get enabled"); return this._enabled; }, set:function(a) { a = !!a; k("public flash.display.NativeMenuItem::set enabled"); this._enabled = a; }, enumerable:!0, configurable:!0}); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.NativeMenuItem = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a(a) { k("Dummy Constructor: public flash.display.PNGEncoderOptions"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.PNGEncoderOptions = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.PixelSnapping"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.NEVER; case 1: return a.ALWAYS; case 2: return a.AUTO; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.NEVER: return 0; case a.ALWAYS: return 1; case a.AUTO: return 2; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.NEVER = "never"; a.ALWAYS = "always"; a.AUTO = "auto"; return a; }(g.ASNative); f.PixelSnapping = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.SWFVersion"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.FLASH1 = 1; a.FLASH2 = 2; a.FLASH3 = 3; a.FLASH4 = 4; a.FLASH5 = 5; a.FLASH6 = 6; a.FLASH7 = 7; a.FLASH8 = 8; a.FLASH9 = 9; a.FLASH10 = 10; a.FLASH11 = 11; a.FLASH12 = 12; return a; }(g.ASNative); f.SWFVersion = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.AVM2.Runtime.asCoerceString, m = function(b) { function a(a, b, d, e) { this._name = k(a); this._labels = b; this.offset = d; this._numFrames = e | 0; } __extends(a, b); Object.defineProperty(a.prototype, "name", {get:function() { return this._name; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "labels", {get:function() { return this._labels; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "numFrames", {get:function() { return this._numFrames; }, enumerable:!0, configurable:!0}); a.prototype.clone = function() { var b = this._labels.map(function(a) { return a.clone(); }); return new a(this._name, b, this.offset, this._numFrames); }; a.prototype.getLabelByName = function(a) { for (var b = this._labels, d = 0;d < b.length;d++) { var e = b[d]; if (e.name === a) { return e; } } return null; }; a.prototype.getLabelByFrame = function(a) { for (var b = this._labels, d = 0;d < b.length;d++) { var e = b[d]; if (e.frame === a) { return e; } } return null; }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.Scene = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m; (function(b) { b[b.None = 0] = "None"; b[b.Top = 1] = "Top"; b[b.Bottom = 2] = "Bottom"; b[b.Left = 4] = "Left"; b[b.Right = 8] = "Right"; })(m || (m = {})); m = function(b) { function a() { k("Dummy Constructor: public flash.display.StageAlign"); } __extends(a, b); a.fromNumber = function(a) { if (0 === a) { return ""; } var b = ""; a & 1 && (b += "T"); a & 2 && (b += "B"); a & 4 && (b += "L"); a & 8 && (b += "R"); return b; }; a.toNumber = function(a) { var b = 0; a = a.toUpperCase(); 0 <= a.indexOf("T") && (b |= 1); 0 <= a.indexOf("B") && (b |= 2); 0 <= a.indexOf("L") && (b |= 4); 0 <= a.indexOf("R") && (b |= 8); return b; }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.TOP = "T"; a.LEFT = "L"; a.BOTTOM = "B"; a.RIGHT = "R"; a.TOP_LEFT = "TL"; a.TOP_RIGHT = "TR"; a.BOTTOM_LEFT = "BL"; a.BOTTOM_RIGHT = "BR"; return a; }(g.ASNative); f.StageAlign = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.StageDisplayState"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.FULL_SCREEN; case 1: return a.FULL_SCREEN_INTERACTIVE; case 2: return a.NORMAL; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.FULL_SCREEN: return 0; case a.FULL_SCREEN_INTERACTIVE: return 1; case a.NORMAL: return 2; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.FULL_SCREEN = "fullScreen"; a.FULL_SCREEN_INTERACTIVE = "fullScreenInteractive"; a.NORMAL = "normal"; return a; }(g.ASNative); f.StageDisplayState = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.StageQuality"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.LOW; case 1: return a.MEDIUM; case 2: return a.HIGH; case 3: return a.BEST; case 4: return a.HIGH_8X8; case 5: return a.HIGH_8X8_LINEAR; case 6: return a.HIGH_16X16; case 7: return a.HIGH_16X16_LINEAR; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.LOW: return 0; case a.MEDIUM: return 1; case a.HIGH: return 2; case a.BEST: return 3; case a.HIGH_8X8: return 4; case a.HIGH_8X8_LINEAR: return 5; case a.HIGH_16X16: return 6; case a.HIGH_16X16_LINEAR: return 7; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.LOW = "low"; a.MEDIUM = "medium"; a.HIGH = "high"; a.BEST = "best"; a.HIGH_8X8 = "8x8"; a.HIGH_8X8_LINEAR = "8x8linear"; a.HIGH_16X16 = "16x16"; a.HIGH_16X16_LINEAR = "16x16linear"; return a; }(g.ASNative); f.StageQuality = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.StageScaleMode"); } __extends(a, b); a.fromNumber = function(b) { switch(b) { case 0: return a.SHOW_ALL; case 1: return a.EXACT_FIT; case 2: return a.NO_BORDER; case 4: return a.NO_SCALE; default: return null; } }; a.toNumber = function(b) { switch(b) { case a.SHOW_ALL: return 0; case a.EXACT_FIT: return 1; case a.NO_BORDER: return 2; case a.NO_SCALE: return 3; default: return-1; } }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.SHOW_ALL = "showAll"; a.EXACT_FIT = "exactFit"; a.NO_BORDER = "noBorder"; a.NO_SCALE = "noScale"; return a; }(g.ASNative); f.StageScaleMode = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.display.TriangleCulling"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.NONE = "none"; a.POSITIVE = "positive"; a.NEGATIVE = "negative"; return a; }(g.ASNative); f.TriangleCulling = m; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.Debug.assert, d = function(a) { function b() { f.display.DisplayObject.instanceConstructorNoInitialize.call(this); this._children = []; this._constructed = !1; } __extends(b, a); b.prototype.initializeContent = function(a) { m(0 === this._children.length); m(!this._parent, "Must have content initialized before being added to stage"); this._children[0] = this._content = a; a._setParent(this, 0); this._setDirtyFlags(2097152); this._invalidateFillAndLineBounds(!0, !0); g.DisplayObject._advancableInstances.push(this); }; b.prototype.call = function(a) { k("AVM1Movie#call"); }; b.prototype.addCallback = function(a, b) { k("AVM1Movie#call"); }; b.prototype._initFrame = function(a) { }; b.prototype._constructFrame = function() { this._constructed || (this._constructed = !0, g.DisplayObjectContainer.prototype._constructChildren.call(this)); this._content._constructFrame(); }; b.prototype._enqueueFrameScripts = function() { this._removeFlags(8192); this._content._enqueueFrameScripts(); }; b.prototype._propagateFlagsDown = function(a) { this._hasFlags(a) || (this._setFlags(a), this._content._propagateFlagsDown(a)); }; b.prototype._containsPoint = function(a, b, c, d, f, g) { return 3 === f ? this._content._containsPoint(a, b, c, d, f, g) : 0 === f && this._getContentBounds().contains(c, d) ? 1 : 0; }; b.prototype._getChildBounds = function(a, b) { var c = this._content._getContentBounds(b).clone(); this._getConcatenatedMatrix().transformBounds(c); a.unionInPlace(c); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(f.display.DisplayObject); g.AVM1Movie = d; })(f.display || (f.display = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.ObjectUtilities.createEmptyObject, a = b.Telemetry, c = b.AVM2.Runtime.forEachPublicProperty, n = b.ExternalInterfaceService, p = function(b) { function f() { k("Dummy Constructor: public flash.external.ExternalInterface"); } __extends(f, b); f._getAvailable = function() { return n.instance.enabled; }; f._initJS = function() { f.initialized || (a.instance.reportTelemetry({topic:"feature", feature:1}), f.initialized = !0, n.instance.initJS(f._callIn)); }; f._callIn = function(a, b) { var c = f.registeredCallbacks[a]; if (c) { return c(a, b); } }; f._getPropNames = function(a) { var b = []; c(a, function(a) { b.push(a); }, null); return b; }; f._addCallback = function(a, b, c) { c ? (n.instance.unregisterCallback(a), delete f.registeredCallbacks[a]) : (n.instance.registerCallback(a), f.registeredCallbacks[a] = b); }; f._evalJS = function(a) { a = m(a); return n.instance.eval(a); }; f._callOut = function(a) { a = m(a); return n.instance.call(a); }; Object.defineProperty(f, "available", {get:function() { return f._getAvailable(); }, enumerable:!0, configurable:!0}); Object.defineProperty(f, "objectID", {get:function() { return n.instance.getId(); }, enumerable:!0, configurable:!0}); Object.defineProperty(f, "activeX", {get:function() { return!1; }, enumerable:!0, configurable:!0}); f.classInitializer = null; f.initializer = null; f.classSymbols = null; f.instanceSymbols = null; f.initialized = !1; f.registeredCallbacks = d(); return f; }(g.ASNative); f.ExternalInterface = p; })(f.external || (f.external = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.LOW = 1; d.MEDIUM = 2; d.HIGH = 3; return d; }(b.ASNative); f.BitmapFilterQuality = k; })(f.filters || (f.filters = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.INNER = "inner"; d.OUTER = "outer"; d.FULL = "full"; return d; }(b.ASNative); f.BitmapFilterType = k; })(f.filters || (f.filters = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = function(b) { function d() { } __extends(d, b); d._updateBlurBounds = function(a, b, f, g, e) { "undefined" === typeof e && (e = !1); g = d.blurFilterStepWidths[g - 1]; e && (e = g / 4, b -= e, f -= e); a.inflate(Math.ceil((1 > b ? 1 : b) * g), Math.ceil((1 > f ? 1 : f) * g)); }; d.prototype._updateFilterBounds = function(a) { }; d.prototype._serialize = function(a) { a.writeInt(-1); }; d.prototype.clone = function() { return null; }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.EPS = 1E-9; d.blurFilterStepWidths = [.5, 1.05, 1.35, 1.55, 1.75, 1.9, 2, 2.1, 2.2, 2.3, 2.5, 3, 3, 3.5, 3.5]; return d; }(g.ASNative); f.BitmapFilter = k; k = function() { function f() { } f.sanitize = function(d, a, c) { if (b.isNullOrUndefined(d) || 0 === d.length) { this.colors = [], this.alphas = [], this.ratios = []; } else { var f; b.isNullOrUndefined(c) ? (this.colors = this.sanitizeColors(d), f = this.colors.length, this.ratios = this.initArray(f), b.isNullOrUndefined(a) ? this.alphas = this.initArray(f) : this.alphas = this.sanitizeAlphas(a, f, f, 1)) : 0 === c.length ? (this.colors = [], this.alphas = [], this.ratios = []) : (f = Math.min(d.length, c.length, 16), this.colors = this.sanitizeColors(d, f), this.ratios = this.sanitizeRatios(c, f), b.isNullOrUndefined(a) ? this.alphas = this.initArray(f) : this.alphas = this.sanitizeAlphas(a, f, f, 1)); } }; f.sanitizeColors = function(b, a) { "undefined" === typeof a && (a = 16); for (var c = [], f = 0, g = Math.min(b.length, a);f < g;f++) { c[f] = b[f] >>> 0 & 16777215; } return c; }; f.sanitizeAlphas = function(d, a, c, f) { "undefined" === typeof a && (a = 16); "undefined" === typeof c && (c = 0); "undefined" === typeof f && (f = 0); var g = [], e = 0; for (a = Math.min(d.length, a);e < a;e++) { g[e] = b.NumberUtilities.clamp(+d[e], 0, 1); } for (;e < c;) { g[e++] = f; } return g; }; f.sanitizeRatios = function(d, a, c) { var f; "undefined" === typeof a && (a = 16); "undefined" === typeof c && (c = 0); "undefined" === typeof f && (f = 0); var g = [], e = 0; for (a = Math.min(d.length, a);e < a;e++) { g[e] = b.NumberUtilities.clamp(+d[e], 0, 255); } for (;e < c;) { g[e++] = f; } return g; }; f.initArray = function(b) { var a; "undefined" === typeof a && (a = 0); for (var c = Array(b), f = 0;f < b;f++) { c[f] = a; } return c; }; return f; }(); f.GradientArrays = k; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = b.AVM2.Runtime.asCoerceString, m = b.Debug.assert, d = function(a) { function c(a, b, c, d, f, g, m, k, h, s, t, G) { "undefined" === typeof a && (a = 4); "undefined" === typeof b && (b = 45); "undefined" === typeof c && (c = 16777215); "undefined" === typeof d && (d = 1); "undefined" === typeof f && (f = 0); "undefined" === typeof g && (g = 1); "undefined" === typeof m && (m = 4); "undefined" === typeof k && (k = 4); "undefined" === typeof h && (h = 1); "undefined" === typeof s && (s = 1); "undefined" === typeof t && (t = "inner"); "undefined" === typeof G && (G = !1); this.distance = a; this.angle = b; this.highlightColor = c; this.highlightAlpha = d; this.shadowColor = f; this.shadowAlpha = g; this.blurX = m; this.blurY = k; this.strength = h; this.quality = s; this.type = t; this.knockout = G; } __extends(c, a); c.FromUntyped = function(a) { var b = a.highlightColor >>> 8, d = (a.highlightColor & 255) / 255; m(a.colors && 1 === a.colors.length, "colors must be Array of length 1"); var g = a.colors[0] >>> 8, l = (a.colors[0] & 255) / 255, k = f.filters.BitmapFilterType.OUTER; a.onTop ? k = f.filters.BitmapFilterType.FULL : a.inner && (k = f.filters.BitmapFilterType.INNER); return new c(a.distance, 180 * a.angle / Math.PI, b, d, g, l, a.blurX, a.blurY, a.strength, a.quality, k, a.knockout); }; c.prototype._updateFilterBounds = function(a) { if (this.type !== g.BitmapFilterType.INNER && (g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality), 0 !== this._distance)) { var b = this._angle * Math.PI / 180; a.x += Math.floor(Math.cos(b) * this._distance); a.y += Math.floor(Math.sin(b) * this._distance); 0 < a.left && (a.left = 0); 0 < a.top && (a.top = 0); } }; Object.defineProperty(c.prototype, "distance", {get:function() { return this._distance; }, set:function(a) { this._distance = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "angle", {get:function() { return this._angle; }, set:function(a) { this._angle = +a % 360; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "highlightColor", {get:function() { return this._highlightColor; }, set:function(a) { this._highlightColor = a >>> 0 & 16777215; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "highlightAlpha", {get:function() { return this._highlightAlpha; }, set:function(a) { this._highlightAlpha = b.NumberUtilities.clamp(+a, 0, 1); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "shadowColor", {get:function() { return this._shadowColor; }, set:function(a) { this._shadowColor = a >>> 0 & 16777215; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "shadowAlpha", {get:function() { return this._shadowAlpha; }, set:function(a) { this._shadowAlpha = b.NumberUtilities.clamp(+a, 0, 1); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "blurX", {get:function() { return this._blurX; }, set:function(a) { this._blurX = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "blurY", {get:function() { return this._blurY; }, set:function(a) { this._blurY = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "knockout", {get:function() { return this._knockout; }, set:function(a) { this._knockout = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "quality", {get:function() { return this._quality; }, set:function(a) { this._quality = b.NumberUtilities.clamp(a | 0, 0, 15); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "strength", {get:function() { return this._strength; }, set:function(a) { this._strength = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "type", {get:function() { return this._type; }, set:function(a) { a = s(a); null === a ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "type") : this._type = a === g.BitmapFilterType.INNER || a === g.BitmapFilterType.OUTER ? a : g.BitmapFilterType.FULL; }, enumerable:!0, configurable:!0}); c.prototype.clone = function() { return new c(this._distance, this._angle, this._highlightColor, this._highlightAlpha, this._shadowColor, this._shadowAlpha, this._blurX, this._blurY, this._strength, this._quality, this._type, this._knockout); }; c.classInitializer = null; c.initializer = null; c.classSymbols = null; c.instanceSymbols = null; return c; }(f.filters.BitmapFilter); g.BevelFilter = d; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = function(f) { function d(a, b, d) { "undefined" === typeof a && (a = 4); "undefined" === typeof b && (b = 4); "undefined" === typeof d && (d = 1); this.blurX = a; this.blurY = b; this.quality = d; } __extends(d, f); d.FromUntyped = function(a) { return new d(a.blurX, a.blurY, a.quality); }; d.prototype._updateFilterBounds = function(a) { g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality, !0); }; d.prototype._serialize = function(a) { a.ensureAdditionalCapacity(16); a.writeIntUnsafe(1); a.writeFloatUnsafe(this._blurX); a.writeFloatUnsafe(this._blurY); a.writeIntUnsafe(this._quality); }; Object.defineProperty(d.prototype, "blurX", {get:function() { return this._blurX; }, set:function(a) { this._blurX = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "blurY", {get:function() { return this._blurY; }, set:function(a) { this._blurY = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "quality", {get:function() { return this._quality; }, set:function(a) { this._quality = b.NumberUtilities.clamp(a | 0, 0, 15); }, enumerable:!0, configurable:!0}); d.prototype.clone = function() { return new d(this._blurX, this._blurY, this._quality); }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; return d; }(f.filters.BitmapFilter); g.BlurFilter = k; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = function(f) { function d(a) { "undefined" === typeof a && (a = null); a ? this.matrix = a : this._matrix = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; } __extends(d, f); d.FromUntyped = function(a) { return new d(a.matrix); }; d.prototype._serialize = function(a) { var b = this._matrix; a.ensureAdditionalCapacity(4 * (b.length + 1)); a.writeIntUnsafe(6); for (var d = 0;d < b.length;d++) { a.writeFloatUnsafe(b[d]); } }; Object.defineProperty(d.prototype, "matrix", {get:function() { return this._matrix.concat(); }, set:function(a) { if (b.isNullOrUndefined(a)) { k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "matrix"); } else { for (var c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], d = 0, f = Math.min(a.length, 20);d < f;d++) { c[d] = b.toNumber(a[d]); } this._matrix = c; } }, enumerable:!0, configurable:!0}); d.prototype.clone = function() { return new d(this.matrix); }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; return d; }(f.filters.BitmapFilter); g.ColorMatrixFilter = s; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = function(f) { function d(a, b, d, f, e, g, l, m, k) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = 0); "undefined" === typeof d && (d = null); "undefined" === typeof f && (f = 1); "undefined" === typeof e && (e = 0); "undefined" === typeof g && (g = !0); "undefined" === typeof l && (l = !0); "undefined" === typeof m && (m = 0); "undefined" === typeof k && (k = 0); this.matrixX = a; this.matrixY = b; d ? this.matrix = d : this._matrix = this._expandArray([], this._matrixX * this._matrixY); this.divisor = f; this.bias = e; this.preserveAlpha = g; this.clamp = l; this.color = m; this.alpha = k; } __extends(d, f); d.FromUntyped = function(a) { return new d(a.matrixX, a.matrixY, a.matrix, a.divisor, a.bias, a.preserveAlpha, a.clamp, a.color >>> 8, (a.color & 255) / 255); }; d.prototype._expandArray = function(a, b) { if (a) { for (var d = a.length;d < b;) { a[d++] = 0; } } return a; }; Object.defineProperty(d.prototype, "matrix", {get:function() { return this._matrix.slice(0, this._matrixX * this._matrixY); }, set:function(a) { if (b.isNullOrUndefined(a)) { k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "matrix"); } else { for (var c = this._matrixX * this._matrixY, d = Math.min(a.length, c), f = Array(d), e = 0;e < d;e++) { f[e] = b.toNumber(a[e]); } this._expandArray(f, c); this._matrix = f; } }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "matrixX", {get:function() { return this._matrixX; }, set:function(a) { a = b.NumberUtilities.clamp(+a, 0, 15) | 0; this._matrixX !== a && (this._matrixX = a, this._expandArray(this._matrix, a * this._matrixY)); }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "matrixY", {get:function() { return this._matrixY; }, set:function(a) { a = b.NumberUtilities.clamp(+a, 0, 15) | 0; this._matrixY !== a && (this._matrixY = a, this._expandArray(this._matrix, a * this._matrixX)); }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "divisor", {get:function() { return this._divisor; }, set:function(a) { this._divisor = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "bias", {get:function() { return this._bias; }, set:function(a) { this._bias = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "preserveAlpha", {get:function() { return this._preserveAlpha; }, set:function(a) { this._preserveAlpha = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "clamp", {get:function() { return this._clamp; }, set:function(a) { this._clamp = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "color", {get:function() { return this._color; }, set:function(a) { this._color = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "alpha", {get:function() { return this._alpha; }, set:function(a) { this._alpha = b.NumberUtilities.clamp(+a, 0, 1); }, enumerable:!0, configurable:!0}); d.prototype.clone = function() { return new d(this._matrixX, this._matrixY, this.matrix, this._divisor, this._bias, this._preserveAlpha, this._clamp, this._color, this._alpha); }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; return d; }(f.filters.BitmapFilter); g.ConvolutionFilter = s; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.filters.DisplacementMapFilterMode"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.WRAP = "wrap"; a.CLAMP = "clamp"; a.IGNORE = "ignore"; a.COLOR = "color"; return a; }(g.ASNative); f.DisplacementMapFilterMode = m; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.somewhatImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b(a, c, d, f, l, g, m, k, h) { "undefined" === typeof a && (a = null); "undefined" === typeof c && (c = null); "undefined" === typeof d && (d = 0); "undefined" === typeof f && (f = 0); "undefined" === typeof l && (l = 0); "undefined" === typeof g && (g = 0); "undefined" === typeof m && (m = "wrap"); "undefined" === typeof k && (k = 0); "undefined" === typeof h && (h = 0); this.mapBitmap = a; this.mapPoint = c; this.componentX = d; this.componentY = f; this.scaleX = l; this.scaleY = g; this.mode = m; this.color = k; this.alpha = h; } __extends(b, a); b.FromUntyped = function(a) { return new b(a.mapBitmap, a.mapPoint, a.componentX, a.componentY, a.scaleX, a.scaleY, a.mode, a.color, a.alpha); }; Object.defineProperty(b.prototype, "mapBitmap", {get:function() { k("public flash.filters.DisplacementMapFilter::get mapBitmap"); return this._mapBitmap; }, set:function(a) { k("public flash.filters.DisplacementMapFilter::set mapBitmap"); this._mapBitmap = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "mapPoint", {get:function() { k("public flash.filters.DisplacementMapFilter::get mapPoint"); return this._mapPoint; }, set:function(a) { k("public flash.filters.DisplacementMapFilter::set mapPoint"); this._mapPoint = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "componentX", {get:function() { return this._componentX; }, set:function(a) { k("public flash.filters.DisplacementMapFilter::set componentX"); this._componentX = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "componentY", {get:function() { return this._componentY; }, set:function(a) { k("public flash.filters.DisplacementMapFilter::set componentY"); this._componentY = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "scaleX", {get:function() { return this._scaleX; }, set:function(a) { k("public flash.filters.DisplacementMapFilter::set scaleX"); this._scaleX = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "scaleY", {get:function() { return this._scaleY; }, set:function(a) { k("public flash.filters.DisplacementMapFilter::set scaleY"); this._scaleY = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "mode", {get:function() { return this._mode; }, set:function(a) { k("public flash.filters.DisplacementMapFilter::set mode"); this._mode = m(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "color", {get:function() { return this._color; }, set:function(a) { k("public flash.filters.DisplacementMapFilter::set color"); this._color = a >>> 0 & 16777215; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "alpha", {get:function() { return this._alpha; }, set:function(a) { k("public flash.filters.DisplacementMapFilter::set alpha"); this._alpha = +a; }, enumerable:!0, configurable:!0}); b.prototype.clone = function() { return new b(this._mapBitmap, this._mapPoint, this._componentX, this._componentY, this._scaleX, this._scaleY, this._mode, this._color, this._alpha); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(f.filters.BitmapFilter); g.DisplacementMapFilter = d; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.assert, m = function(d) { function a(a, b, d, e, f, l, g, m, k, h, s) { "undefined" === typeof a && (a = 4); "undefined" === typeof b && (b = 45); "undefined" === typeof d && (d = 0); "undefined" === typeof e && (e = 1); "undefined" === typeof f && (f = 4); "undefined" === typeof l && (l = 4); "undefined" === typeof g && (g = 1); "undefined" === typeof m && (m = 1); "undefined" === typeof k && (k = !1); "undefined" === typeof h && (h = !1); "undefined" === typeof s && (s = !1); this.distance = a; this.angle = b; this.color = d; this.alpha = e; this.blurX = f; this.blurY = l; this.strength = g; this.quality = m; this.inner = k; this.knockout = h; this.hideObject = s; } __extends(a, d); a.FromUntyped = function(b) { k(b.colors && 1 === b.colors.length, "colors must be Array of length 1"); return new a(b.distance, 180 * b.angle / Math.PI, b.colors[0] >>> 8, (b.colors[0] & 255) / 255, b.blurX, b.blurY, b.strength, b.quality, b.inner, b.knockout, !b.compositeSource); }; a.prototype._updateFilterBounds = function(a) { if (!this.inner && (g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality), 0 !== this._distance)) { var b = this._angle * Math.PI / 180; a.x += Math.floor(Math.cos(b) * this._distance); a.y += Math.floor(Math.sin(b) * this._distance); 0 < a.left && (a.left = 0); 0 < a.top && (a.top = 0); } }; a.prototype._serialize = function(a) { a.ensureAdditionalCapacity(48); a.writeIntUnsafe(0); a.writeFloatUnsafe(this._alpha); a.writeFloatUnsafe(this._angle); a.writeFloatUnsafe(this._blurX); a.writeFloatUnsafe(this._blurY); a.writeIntUnsafe(this._color); a.writeFloatUnsafe(this._distance); a.writeIntUnsafe(this._hideObject); a.writeIntUnsafe(this._inner); a.writeIntUnsafe(this._knockout); a.writeIntUnsafe(this._quality); a.writeFloatUnsafe(this._strength); }; Object.defineProperty(a.prototype, "distance", {get:function() { return this._distance; }, set:function(a) { this._distance = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "angle", {get:function() { return this._angle; }, set:function(a) { this._angle = +a % 360; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "color", {get:function() { return this._color; }, set:function(a) { this._color = a >>> 0 & 16777215; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "alpha", {get:function() { return this._alpha; }, set:function(a) { this._alpha = b.NumberUtilities.clamp(+a, 0, 1); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "blurX", {get:function() { return this._blurX; }, set:function(a) { this._blurX = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "blurY", {get:function() { return this._blurY; }, set:function(a) { this._blurY = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "hideObject", {get:function() { return this._hideObject; }, set:function(a) { this._hideObject = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "inner", {get:function() { return this._inner; }, set:function(a) { this._inner = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "knockout", {get:function() { return this._knockout; }, set:function(a) { this._knockout = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "quality", {get:function() { return this._quality; }, set:function(a) { this._quality = b.NumberUtilities.clamp(a | 0, 0, 15); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "strength", {get:function() { return this._strength; }, set:function(a) { this._strength = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); a.prototype.clone = function() { return new a(this._distance, this._angle, this._color, this._alpha, this._blurX, this._blurY, this._strength, this._quality, this._inner, this._knockout, this._hideObject); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.filters.BitmapFilter); g.DropShadowFilter = m; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.assert, m = function(d) { function a(a, b, d, e, f, l, g, m) { "undefined" === typeof a && (a = 16711680); "undefined" === typeof b && (b = 1); "undefined" === typeof d && (d = 6); "undefined" === typeof e && (e = 6); "undefined" === typeof f && (f = 2); "undefined" === typeof l && (l = 1); "undefined" === typeof g && (g = !1); "undefined" === typeof m && (m = !1); this.color = a; this.alpha = b; this.blurX = d; this.blurY = e; this.strength = f; this.quality = l; this.inner = g; this.knockout = m; } __extends(a, d); a.FromUntyped = function(b) { k(b.colors && 1 === b.colors.length, "colors must be Array of length 1"); return new a(b.colors[0] >>> 8, (b.colors[0] & 255) / 255, b.blurX, b.blurY, b.strength, b.quality, b.inner, b.knockout); }; a.prototype._updateFilterBounds = function(a) { g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality); }; a.prototype._serialize = function(a) { a.ensureAdditionalCapacity(36); a.writeIntUnsafe(2); a.writeFloatUnsafe(this._alpha); a.writeFloatUnsafe(this._blurX); a.writeFloatUnsafe(this._blurY); a.writeIntUnsafe(this._color); a.writeIntUnsafe(this._inner); a.writeIntUnsafe(this._knockout); a.writeIntUnsafe(this._quality); a.writeFloatUnsafe(this._strength); }; Object.defineProperty(a.prototype, "color", {get:function() { return this._color; }, set:function(a) { this._color = a >>> 0 & 16777215; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "alpha", {get:function() { return this._alpha; }, set:function(a) { this._alpha = b.NumberUtilities.clamp(+a, 0, 1); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "blurX", {get:function() { return this._blurX; }, set:function(a) { this._blurX = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "blurY", {get:function() { return this._blurY; }, set:function(a) { this._blurY = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "inner", {get:function() { return this._inner; }, set:function(a) { this._inner = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "knockout", {get:function() { return this._knockout; }, set:function(a) { this._knockout = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "quality", {get:function() { return this._quality; }, set:function(a) { this._quality = b.NumberUtilities.clamp(a | 0, 0, 15); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "strength", {get:function() { return this._strength; }, set:function(a) { this._strength = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); a.prototype.clone = function() { return new a(this._color, this._alpha, this._blurX, this._blurY, this._strength, this._quality, this._inner, this._knockout); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.filters.BitmapFilter); g.GlowFilter = m; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = b.AVM2.Runtime.asCoerceString, m = function(d) { function a(a, b, d, e, f, l, m, k, r, h, s) { "undefined" === typeof a && (a = 4); "undefined" === typeof b && (b = 45); "undefined" === typeof d && (d = null); "undefined" === typeof e && (e = null); "undefined" === typeof f && (f = null); "undefined" === typeof l && (l = 4); "undefined" === typeof m && (m = 4); "undefined" === typeof k && (k = 1); "undefined" === typeof r && (r = 1); "undefined" === typeof h && (h = "inner"); "undefined" === typeof s && (s = !1); this.distance = a; this.angle = b; g.GradientArrays.sanitize(d, e, f); this._colors = g.GradientArrays.colors; this._alphas = g.GradientArrays.alphas; this._ratios = g.GradientArrays.ratios; this.blurX = l; this.blurY = m; this.strength = k; this.quality = r; this.type = h; this.knockout = s; } __extends(a, d); a.FromUntyped = function(b) { for (var d = [], g = [], e = 0;e < b.colors.length;e++) { var m = b.colors[e]; d.push(m >>> 8); g.push(m & 255) / 255; } e = f.filters.BitmapFilterType.OUTER; b.onTop ? e = f.filters.BitmapFilterType.FULL : b.inner && (e = f.filters.BitmapFilterType.INNER); return new a(b.distance, 180 * b.angle / Math.PI, d, g, b.ratios, b.blurX, b.blurY, b.strength, b.quality, e, b.knockout); }; a.prototype._updateFilterBounds = function(a) { if (this.type !== g.BitmapFilterType.INNER && (g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality), 0 !== this._distance)) { var b = this._angle * Math.PI / 180; a.x += Math.floor(Math.cos(b) * this._distance); a.y += Math.floor(Math.sin(b) * this._distance); 0 < a.left && (a.left = 0); 0 < a.top && (a.top = 0); } }; Object.defineProperty(a.prototype, "distance", {get:function() { return this._distance; }, set:function(a) { this._distance = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "angle", {get:function() { return this._angle; }, set:function(a) { this._angle = +a % 360; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "colors", {get:function() { return this._colors.concat(); }, set:function(a) { b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "colors") : (this._colors = g.GradientArrays.sanitizeColors(a), a = this._colors.length, this._alphas = g.GradientArrays.sanitizeAlphas(this._alphas, a, a), this._ratios = g.GradientArrays.sanitizeRatios(this._ratios, a, a)); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "alphas", {get:function() { return this._alphas.concat(); }, set:function(a) { b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "alphas") : (g.GradientArrays.sanitize(this._colors, a, this._ratios), this._colors = g.GradientArrays.colors, this._alphas = g.GradientArrays.alphas, this._ratios = g.GradientArrays.ratios); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "ratios", {get:function() { return this._ratios.concat(); }, set:function(a) { b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "ratios") : (g.GradientArrays.sanitize(this._colors, this._alphas, a), this._colors = g.GradientArrays.colors, this._alphas = g.GradientArrays.alphas, this._ratios = g.GradientArrays.ratios); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "blurX", {get:function() { return this._blurX; }, set:function(a) { this._blurX = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "blurY", {get:function() { return this._blurY; }, set:function(a) { this._blurY = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "knockout", {get:function() { return this._knockout; }, set:function(a) { this._knockout = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "quality", {get:function() { return this._quality; }, set:function(a) { this._quality = b.NumberUtilities.clamp(a | 0, 0, 15); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "strength", {get:function() { return this._strength; }, set:function(a) { this._strength = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "type", {get:function() { return this._type; }, set:function(a) { a = s(a); null === a ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "type") : this._type = a === g.BitmapFilterType.INNER || a === g.BitmapFilterType.OUTER ? a : g.BitmapFilterType.FULL; }, enumerable:!0, configurable:!0}); a.prototype.clone = function() { return new a(this._distance, this._angle, this._colors, this._alphas, this._ratios, this._blurX, this._blurY, this._strength, this._quality, this._type, this._knockout); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.filters.BitmapFilter); g.GradientBevelFilter = m; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = b.AVM2.Runtime.asCoerceString, m = function(d) { function a(a, b, d, e, f, l, m, k, r, h, s) { "undefined" === typeof a && (a = 4); "undefined" === typeof b && (b = 45); "undefined" === typeof d && (d = null); "undefined" === typeof e && (e = null); "undefined" === typeof f && (f = null); "undefined" === typeof l && (l = 4); "undefined" === typeof m && (m = 4); "undefined" === typeof k && (k = 1); "undefined" === typeof r && (r = 1); "undefined" === typeof h && (h = "inner"); "undefined" === typeof s && (s = !1); this.distance = a; this.angle = b; g.GradientArrays.sanitize(d, e, f); this._colors = g.GradientArrays.colors; this._alphas = g.GradientArrays.alphas; this._ratios = g.GradientArrays.ratios; this.blurX = l; this.blurY = m; this.strength = k; this.quality = r; this.type = h; this.knockout = s; } __extends(a, d); a.FromUntyped = function(b) { for (var d = [], g = [], e = 0;e < b.colors.length;e++) { var m = b.colors[e]; d.push(m >>> 8); g.push(m & 255) / 255; } e = f.filters.BitmapFilterType.OUTER; b.onTop ? e = f.filters.BitmapFilterType.FULL : b.inner && (e = f.filters.BitmapFilterType.INNER); return new a(b.distance, 180 * b.angle / Math.PI, d, g, b.ratios, b.blurX, b.blurY, b.strength, b.quality, e, b.knockout); }; a.prototype._updateFilterBounds = function(a) { if (this.type !== g.BitmapFilterType.INNER && (g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality), 0 !== this._distance)) { var b = this._angle * Math.PI / 180; a.x += Math.floor(Math.cos(b) * this._distance); a.y += Math.floor(Math.sin(b) * this._distance); 0 < a.left && (a.left = 0); 0 < a.top && (a.top = 0); } }; Object.defineProperty(a.prototype, "distance", {get:function() { return this._distance; }, set:function(a) { this._distance = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "angle", {get:function() { return this._angle; }, set:function(a) { this._angle = +a % 360; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "colors", {get:function() { return this._colors.concat(); }, set:function(a) { b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "colors") : (this._colors = g.GradientArrays.sanitizeColors(a), a = this._colors.length, this._alphas = g.GradientArrays.sanitizeAlphas(this._alphas, a, a), this._ratios = g.GradientArrays.sanitizeRatios(this._ratios, a, a)); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "alphas", {get:function() { return this._alphas.concat(); }, set:function(a) { b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "alphas") : (g.GradientArrays.sanitize(this._colors, a, this._ratios), this._colors = g.GradientArrays.colors, this._alphas = g.GradientArrays.alphas, this._ratios = g.GradientArrays.ratios); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "ratios", {get:function() { return this._ratios.concat(); }, set:function(a) { b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "ratios") : (g.GradientArrays.sanitize(this._colors, this._alphas, a), this._colors = g.GradientArrays.colors, this._alphas = g.GradientArrays.alphas, this._ratios = g.GradientArrays.ratios); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "blurX", {get:function() { return this._blurX; }, set:function(a) { this._blurX = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "blurY", {get:function() { return this._blurY; }, set:function(a) { this._blurY = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "knockout", {get:function() { return this._knockout; }, set:function(a) { this._knockout = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "quality", {get:function() { return this._quality; }, set:function(a) { this._quality = b.NumberUtilities.clamp(a | 0, 0, 15); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "strength", {get:function() { return this._strength; }, set:function(a) { this._strength = b.NumberUtilities.clamp(+a, 0, 255); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "type", {get:function() { return this._type; }, set:function(a) { a = s(a); null === a ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "type") : this._type = a === g.BitmapFilterType.INNER || a === g.BitmapFilterType.OUTER ? a : g.BitmapFilterType.FULL; }, enumerable:!0, configurable:!0}); a.prototype.clone = function() { return new a(this._distance, this._angle, this._colors, this._alphas, this._ratios, this._blurX, this._blurY, this._strength, this._quality, this._type, this._knockout); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.filters.BitmapFilter); g.GradientGlowFilter = m; })(f.filters || (f.filters = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.IntegerUtilities.toS16, m = b.IntegerUtilities.clampS8U8, d = function(a) { function b(a, c, d, f, l, g, m, k) { "undefined" === typeof a && (a = 1); "undefined" === typeof c && (c = 1); "undefined" === typeof d && (d = 1); "undefined" === typeof f && (f = 1); "undefined" === typeof l && (l = 0); "undefined" === typeof g && (g = 0); "undefined" === typeof m && (m = 0); "undefined" === typeof k && (k = 0); this.redMultiplier = +a; this.greenMultiplier = +c; this.blueMultiplier = +d; this.alphaMultiplier = +f; this.redOffset = +l; this.greenOffset = +g; this.blueOffset = +m; this.alphaOffset = +k; } __extends(b, a); b.FromCXForm = function(a) { return new b(a.redMultiplier / 256, a.greenMultiplier / 256, a.blueMultiplier / 256, a.alphaMultiplier / 256, a.redOffset, a.greenOffset, a.blueOffset, a.alphaOffset); }; Object.defineProperty(b.prototype, "native_redMultiplier", {get:function() { return this.redMultiplier; }, set:function(a) { this.redMultiplier = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "native_greenMultiplier", {get:function() { return this.greenMultiplier; }, set:function(a) { this.greenMultiplier = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "native_blueMultiplier", {get:function() { return this.blueMultiplier; }, set:function(a) { this.blueMultiplier = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "native_alphaMultiplier", {get:function() { return this.alphaMultiplier; }, set:function(a) { this.alphaMultiplier = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "native_redOffset", {get:function() { return this.redOffset; }, set:function(a) { this.redOffset = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "native_greenOffset", {get:function() { return this.greenOffset; }, set:function(a) { this.greenOffset = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "native_blueOffset", {get:function() { return this.blueOffset; }, set:function(a) { this.blueOffset = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "native_alphaOffset", {get:function() { return this.alphaOffset; }, set:function(a) { this.alphaOffset = +a; }, enumerable:!0, configurable:!0}); b.prototype.ColorTransform = function(a, b, c, d, f, g, m, k) { "undefined" === typeof a && (a = 1); "undefined" === typeof b && (b = 1); "undefined" === typeof c && (c = 1); "undefined" === typeof d && (d = 1); "undefined" === typeof f && (f = 0); "undefined" === typeof g && (g = 0); "undefined" === typeof m && (m = 0); "undefined" === typeof k && (k = 0); this.redMultiplier = a; this.greenMultiplier = b; this.blueMultiplier = c; this.alphaMultiplier = d; this.redOffset = f; this.greenOffset = g; this.blueOffset = m; this.alphaOffset = k; }; Object.defineProperty(b.prototype, "color", {get:function() { return this.redOffset << 16 | this.greenOffset << 8 | this.blueOffset; }, set:function(a) { this.redOffset = a >> 16 & 255; this.greenOffset = a >> 8 & 255; this.blueOffset = a & 255; this.redMultiplier = this.greenMultiplier = this.blueMultiplier = 1; }, enumerable:!0, configurable:!0}); b.prototype.concat = function(a) { this.redMultiplier *= a.redMultiplier; this.greenMultiplier *= a.greenMultiplier; this.blueMultiplier *= a.blueMultiplier; this.alphaMultiplier *= a.alphaMultiplier; this.redOffset += a.redOffset; this.greenOffset += a.greenOffset; this.blueOffset += a.blueOffset; this.alphaOffset += a.alphaOffset; }; b.prototype.preMultiply = function(a) { this.redOffset += a.redOffset * this.redMultiplier; this.greenOffset += a.greenOffset * this.greenMultiplier; this.blueOffset += a.blueOffset * this.blueMultiplier; this.alphaOffset += a.alphaOffset * this.alphaMultiplier; this.redMultiplier *= a.redMultiplier; this.greenMultiplier *= a.greenMultiplier; this.blueMultiplier *= a.blueMultiplier; this.alphaMultiplier *= a.alphaMultiplier; }; b.prototype.copyFrom = function(a) { this.redMultiplier = a.redMultiplier; this.greenMultiplier = a.greenMultiplier; this.blueMultiplier = a.blueMultiplier; this.alphaMultiplier = a.alphaMultiplier; this.redOffset = a.redOffset; this.greenOffset = a.greenOffset; this.blueOffset = a.blueOffset; this.alphaOffset = a.alphaOffset; }; b.prototype.setTo = function(a, b, c, d, f, g, m, k) { this.redMultiplier = a; this.greenMultiplier = b; this.blueMultiplier = c; this.alphaMultiplier = d; this.redOffset = f; this.greenOffset = g; this.blueOffset = m; this.alphaOffset = k; }; b.prototype.clone = function() { return new b(this.redMultiplier, this.greenMultiplier, this.blueMultiplier, this.alphaMultiplier, this.redOffset, this.greenOffset, this.blueOffset, this.alphaOffset); }; b.prototype.convertToFixedPoint = function() { this.redMultiplier = m(this.redMultiplier); this.greenMultiplier = m(this.greenMultiplier); this.blueMultiplier = m(this.blueMultiplier); this.alphaMultiplier = m(this.alphaMultiplier); this.redOffset = k(this.redOffset); this.greenOffset = k(this.greenOffset); this.blueOffset = k(this.blueOffset); this.alphaOffset = k(this.alphaOffset); }; b.prototype.toString = function() { return "(redMultiplier=" + this.redMultiplier + ", greenMultiplier=" + this.greenMultiplier + ", blueMultiplier=" + this.blueMultiplier + ", alphaMultiplier=" + this.alphaMultiplier + ", redOffset=" + this.redOffset + ", greenOffset=" + this.greenOffset + ", blueOffset=" + this.blueOffset + ", alphaOffset=" + this.alphaOffset + ")"; }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); f.ColorTransform = d; })(f.geom || (f.geom = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b() { k("Dummy Constructor: public flash.media.Camera"); } __extends(b, a); Object.defineProperty(b.prototype, "names", {get:function() { k("public flash.media.Camera::get names"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "isSupported", {get:function() { k("public flash.media.Camera::get isSupported"); }, enumerable:!0, configurable:!0}); b.getCamera = function(a) { "undefined" === typeof a && (a = null); m(a); k("public flash.media.Camera::static getCamera"); }; b._scanHardware = function() { k("public flash.media.Camera::static _scanHardware"); }; Object.defineProperty(b.prototype, "activityLevel", {get:function() { k("public flash.media.Camera::get activityLevel"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "bandwidth", {get:function() { k("public flash.media.Camera::get bandwidth"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "currentFPS", {get:function() { k("public flash.media.Camera::get currentFPS"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "fps", {get:function() { k("public flash.media.Camera::get fps"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "height", {get:function() { k("public flash.media.Camera::get height"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "index", {get:function() { k("public flash.media.Camera::get index"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "keyFrameInterval", {get:function() { k("public flash.media.Camera::get keyFrameInterval"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "loopback", {get:function() { k("public flash.media.Camera::get loopback"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "motionLevel", {get:function() { k("public flash.media.Camera::get motionLevel"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "motionTimeout", {get:function() { k("public flash.media.Camera::get motionTimeout"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "muted", {get:function() { k("public flash.media.Camera::get muted"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "name", {get:function() { k("public flash.media.Camera::get name"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "position", {get:function() { k("public flash.media.Camera::get position"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "quality", {get:function() { k("public flash.media.Camera::get quality"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "width", {get:function() { k("public flash.media.Camera::get width"); }, enumerable:!0, configurable:!0}); b.prototype.setCursor = function(a) { k("public flash.media.Camera::setCursor"); }; b.prototype.setKeyFrameInterval = function(a) { k("public flash.media.Camera::setKeyFrameInterval"); }; b.prototype.setLoopback = function(a) { k("public flash.media.Camera::setLoopback"); }; b.prototype.setMode = function(a, b, c, d) { k("public flash.media.Camera::setMode"); }; b.prototype.setMotionLevel = function(a, b) { k("public flash.media.Camera::setMotionLevel"); }; b.prototype.setQuality = function(a, b) { k("public flash.media.Camera::setQuality"); }; b.prototype.drawToBitmapData = function(a) { k("public flash.media.Camera::drawToBitmapData"); }; b.prototype.copyToByteArray = function(a, b) { k("public flash.media.Camera::copyToByteArray"); }; b.prototype.copyToVector = function(a, b) { k("public flash.media.Camera::copyToVector"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(f.events.EventDispatcher); g.Camera = d; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.media.ID3Info"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = "songName artist album year comment genre track".split(" "); return a; }(g.ASNative); f.ID3Info = m; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b() { k("Dummy Constructor: public flash.media.Microphone"); } __extends(b, a); Object.defineProperty(b.prototype, "names", {get:function() { k("public flash.media.Microphone::get names"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "isSupported", {get:function() { k("public flash.media.Microphone::get isSupported"); }, enumerable:!0, configurable:!0}); b.getMicrophone = function(a) { k("public flash.media.Microphone::static getMicrophone"); }; b.getEnhancedMicrophone = function(a) { k("public flash.media.Microphone::static getEnhancedMicrophone"); }; Object.defineProperty(b.prototype, "rate", {get:function() { k("public flash.media.Microphone::get rate"); }, set:function(a) { k("public flash.media.Microphone::set rate"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "codec", {get:function() { k("public flash.media.Microphone::get codec"); }, set:function(a) { m(a); k("public flash.media.Microphone::set codec"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "framesPerPacket", {get:function() { k("public flash.media.Microphone::get framesPerPacket"); }, set:function(a) { k("public flash.media.Microphone::set framesPerPacket"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "encodeQuality", {get:function() { k("public flash.media.Microphone::get encodeQuality"); }, set:function(a) { k("public flash.media.Microphone::set encodeQuality"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "noiseSuppressionLevel", {get:function() { k("public flash.media.Microphone::get noiseSuppressionLevel"); }, set:function(a) { k("public flash.media.Microphone::set noiseSuppressionLevel"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "enableVAD", {get:function() { k("public flash.media.Microphone::get enableVAD"); }, set:function(a) { k("public flash.media.Microphone::set enableVAD"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "activityLevel", {get:function() { k("public flash.media.Microphone::get activityLevel"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "gain", {get:function() { k("public flash.media.Microphone::get gain"); }, set:function(a) { k("public flash.media.Microphone::set gain"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "index", {get:function() { k("public flash.media.Microphone::get index"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "muted", {get:function() { k("public flash.media.Microphone::get muted"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "name", {get:function() { k("public flash.media.Microphone::get name"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "silenceLevel", {get:function() { k("public flash.media.Microphone::get silenceLevel"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "silenceTimeout", {get:function() { k("public flash.media.Microphone::get silenceTimeout"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "useEchoSuppression", {get:function() { k("public flash.media.Microphone::get useEchoSuppression"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "soundTransform", {get:function() { k("public flash.media.Microphone::get soundTransform"); }, set:function(a) { k("public flash.media.Microphone::set soundTransform"); }, enumerable:!0, configurable:!0}); b.prototype.setSilenceLevel = function(a, b) { k("public flash.media.Microphone::setSilenceLevel"); }; b.prototype.setUseEchoSuppression = function(a) { k("public flash.media.Microphone::setUseEchoSuppression"); }; b.prototype.setLoopBack = function(a) { k("public flash.media.Microphone::setLoopBack"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(f.events.EventDispatcher); g.Microphone = d; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(k) { function s(a, b) { var c = document.createElement("audio"); c.canPlayType(a.mimeType) ? (c.preload = "metadata", c.src = URL.createObjectURL(new Blob([a.data], {type:a.mimeType})), c.load(), c.addEventListener("loadedmetadata", function() { b({duration:1E3 * this.duration}); })) : b({duration:0}); } var m = b.Debug.notImplemented, d = b.AVM2.Runtime.asCoerceString, a = b.Debug.somewhatImplemented, c = b.Telemetry, n = b.AVM2.ABC.Multiname, p = function() { return function() { }; }(), e = function(e) { function l(a, b) { m("Dummy Constructor: public flash.media.Sound"); } __extends(l, e); Object.defineProperty(l.prototype, "url", {get:function() { return this._url; }, enumerable:!0, configurable:!0}); Object.defineProperty(l.prototype, "isURLInaccessible", {get:function() { m("public flash.media.Sound::get isURLInaccessible"); }, enumerable:!0, configurable:!0}); Object.defineProperty(l.prototype, "length", {get:function() { return this._length; }, enumerable:!0, configurable:!0}); Object.defineProperty(l.prototype, "isBuffering", {get:function() { m("public flash.media.Sound::get isBuffering"); }, enumerable:!0, configurable:!0}); Object.defineProperty(l.prototype, "bytesLoaded", {get:function() { return this._bytesLoaded; }, enumerable:!0, configurable:!0}); Object.defineProperty(l.prototype, "bytesTotal", {get:function() { return this._bytesTotal; }, enumerable:!0, configurable:!0}); Object.defineProperty(l.prototype, "id3", {get:function() { return this._id3; }, enumerable:!0, configurable:!0}); l.prototype.loadCompressedDataFromByteArray = function(a, b) { m("public flash.media.Sound::loadCompressedDataFromByteArray"); }; l.prototype.loadPCMFromByteArray = function(a, b, c, h, e) { "undefined" === typeof c && (c = "float"); d(c); m("public flash.media.Sound::loadPCMFromByteArray"); }; l.prototype.play = function(a, c, d) { "undefined" === typeof a && (a = 0); "undefined" === typeof c && (c = 0); "undefined" === typeof d && (d = null); a = +a; c |= 0; var h = new f.media.SoundChannel; h._sound = this; h._soundTransform = b.isNullOrUndefined(d) ? new f.media.SoundTransform : d; this._playQueue.push({channel:h, startTime:a}); if (g.disableAudioOption.value) { return h; } this._soundData && h._playSoundDataViaAudio(this._soundData, a, c); return h; }; l.prototype.close = function() { a("public flash.media.Sound::close"); }; l.prototype.extract = function(a, b, c) { m("public flash.media.Sound::extract"); }; l.prototype._load = function(a, b, c) { if (a) { var d = this, e = this._stream = new f.net.URLStream, g = new f.utils.ByteArray, l = 0, k = new p; k.completed = !1; e.addEventListener("progress", function(a) { d._bytesLoaded = a[n.getPublicQualifiedName("bytesLoaded")]; d._bytesTotal = a[n.getPublicQualifiedName("bytesTotal")]; var b = e.bytesAvailable; e.readBytes(g, l, b); l += b; d.dispatchEvent(a); }); e.addEventListener("complete", function(a) { d.dispatchEvent(a); k.data = g._buffer; k.mimeType = "audio/mpeg"; k.completed = !0; d._soundData = k; s(k, function(a) { d._length = a.duration; }); d._playQueue.forEach(function(a) { a.channel._playSoundDataViaAudio(k, a.startTime); }); }); e.load(a); } }; l.classInitializer = null; l.initializer = function(a) { this._playQueue = []; this._url = null; this._bytesLoaded = this._bytesTotal = this._length = 0; this._id3 = new f.media.ID3Info; c.instance.reportTelemetry({topic:"feature", feature:5}); if (a) { var b = new p; a.pcm && (b.sampleRate = a.sampleRate, b.channels = a.channels, b.pcm = a.pcm, b.end = a.pcm.length); b.completed = !0; a.packaged && (b.data = a.packaged.data.buffer, b.mimeType = a.packaged.mimeType); var d = this; s(b, function(a) { d._length = a.duration; }); this._soundData = b; } }; l.classSymbols = null; l.instanceSymbols = null; return l; }(f.events.EventDispatcher); k.Sound = e; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.assert, m = b.Debug.notImplemented, d = b.Debug.somewhatImplemented, a = b.Debug.error, c = function() { function a(b, c) { this._sourceRate = b; this._targetRate = c; this._tail = []; this._sourceOffset = 0; } a.prototype.getData = function(a, b) { for (var c = this._sourceRate / this._targetRate, d = this._sourceOffset, e = Math.ceil((b - 1) * c + d) + 1, h = [], f = 0;f < a.length;f++) { h.push(new Float32Array(e)); } this.ondatarequested({data:h, count:e}); for (f = 0;f < a.length;f++) { for (var g = a[f], k = h[f], m = 0;m < b;m++) { var n = m * c + d, p = n | 0, s = Math.ceil(n) | 0, t = 0 > p ? this._tail[f] : k[p]; p === s ? g[m] = t : (n -= p, g[m] = t * (1 - n) + k[s] * n); } this._tail[f] = k[e - 1]; } this._sourceOffset = (b - 1) * c + d - (e - 1); }; return a; }(), n = function() { function a(b, d) { var f = a._cachedContext; f || (f = new AudioContext, a._cachedContext = f); this._context = f; this._contextSampleRate = f.sampleRate || 44100; this._channels = d; this._sampleRate = b; this._contextSampleRate !== b && (this._resampler = new c(b, this._contextSampleRate), this._resampler.ondatarequested = function(a) { this.requestData(a.data, a.count); }.bind(this)); } a.prototype.start = function() { var a = this._context.createScriptProcessor(2048, 0, this._channels), b = this; a.onaudioprocess = function(a) { for (var c = [], d = 0;d < b._channels;d++) { c.push(a.outputBuffer.getChannelData(d)); } a = c[0].length; b._resampler ? b._resampler.getData(c, a) : b.requestData(c, a); }; a.connect(this._context.destination); this._source = a; }; a.prototype.stop = function() { this._source.disconnect(this._context.destination); }; a.prototype.requestData = function(a, b) { var c = this._channels, d = new Float32Array(b * c); this.ondatarequested({data:d, count:d.length}); for (var e = 0, h = 0;e < b;e++) { for (var f = 0;f < c;f++) { a[f][e] = d[h++]; } } }; a.isSupported = function() { return "undefined" !== typeof AudioContext; }; return a; }(), p = function(c) { function p() { m("Dummy Constructor: public flash.media.SoundChannel"); } __extends(p, c); Object.defineProperty(p.prototype, "position", {get:function() { return this._position; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "soundTransform", {get:function() { return this._soundTransform; }, set:function(a) { d("public flash.media.SoundChannel::set soundTransform"); this._soundTransform = b.isNullOrUndefined(a) ? new f.media.SoundTransform : a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "leftPeak", {get:function() { return this._leftPeak; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "rightPeak", {get:function() { return this._rightPeak; }, enumerable:!0, configurable:!0}); p.prototype.stop = function() { this._element && (this._unregisterWithSoundMixer(), this._element.pause()); this._audioChannel && (this._unregisterWithSoundMixer(), this._audioChannel.stop()); }; p.prototype._playSoundDataViaAudio = function(a, b, c) { if (a.mimeType) { this._registerWithSoundMixer(); this._position = b; var d = this, h = 0, e = document.createElement("audio"); e.canPlayType(a.mimeType) ? (e.preload = "metadata", e.loop = 0 < c, e.src = URL.createObjectURL(new Blob([a.data], {type:a.mimeType})), e.addEventListener("loadeddata", function() { e.currentTime = b / 1E3; e.play(); }), e.addEventListener("timeupdate", function() { var a = e.currentTime; c && h > a && (--c, c || (e.loop = !1), a < b / 1E3 && (e.currentTime = b / 1E3)); d._position = 1E3 * (h = a); }), e.addEventListener("ended", function() { d._unregisterWithSoundMixer(); d.dispatchEvent(new f.events.Event("soundComplete", !1, !1)); d._element = null; }), this._element = e, this._applySoundTransform()) : console.error('ERROR: "' + a.mimeType + '" type playback is not supported by the browser'); } }; p.prototype._playSoundDataViaChannel = function(b, c, d) { k(b.pcm, "no pcm data found"); this._registerWithSoundMixer(); var e = this, h = Math.round(c / 1E3 * b.sampleRate) * b.channels, g = h; this._position = c; n.isSupported ? c = new n(b.sampleRate, b.channels) : (a("PCM data playback is not supported by the browser"), c = void 0); this._audioChannel = c; this._audioChannel.ondatarequested = function(a) { var c = b.end; if (g >= c && b.completed) { e._unregisterWithSoundMixer(), e._audioChannel.stop(), e.dispatchEvent(new f.events.Event("soundComplete", !1, !1)); } else { var k = a.count; a = a.data; var m = b.pcm; do { for (var n = Math.min(c - g, k), p = 0;p < n;p++) { a[p] = m[g++]; } k -= n; if (g >= c) { if (!d) { break; } d--; g = h; } } while (0 < k); e._position = g / b.sampleRate / b.channels * 1E3; } }; this._audioChannel.start(); this._applySoundTransform(); }; p.prototype._applySoundTransform = function() { var a = this._soundTransform.volume; g.SoundMixer._soundTransform && (a *= g.SoundMixer._soundTransform.volume); a *= g.SoundMixer._getMasterVolume(); this._element && (this._element.volume = 0 >= a ? 0 : 1 <= a ? 1 : a); }; p.prototype._registerWithSoundMixer = function() { g.SoundMixer._registerChannel(this); }; p.prototype._unregisterWithSoundMixer = function() { g.SoundMixer._unregisterChannel(this); }; p.classInitializer = null; p.initializer = function(a) { this._element = null; this._rightPeak = this._leftPeak = this._position = 0; this._pcmData = null; this._soundTransform = new f.media.SoundTransform; }; p.classSymbols = null; p.instanceSymbols = null; return p; }(f.events.EventDispatcher); g.SoundChannel = p; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a(a, b) { k("Dummy Constructor: public flash.media.SoundLoaderContext"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.SoundLoaderContext = m; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(k) { var s = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = function(a) { function g() { s("Dummy Constructor: public flash.media.SoundMixer"); } __extends(g, a); Object.defineProperty(g, "bufferTime", {get:function() { s("public flash.media.SoundMixer::get bufferTime"); }, set:function(a) { s("public flash.media.SoundMixer::set bufferTime"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g, "soundTransform", {get:function() { d("public flash.media.SoundMixer::get soundTransform"); return b.isNullOrUndefined(g._soundTransform) ? new f.media.SoundTransform : new f.media.SoundTransform(g._soundTransform.volume, g._soundTransform.pan); }, set:function(a) { d("public flash.media.SoundMixer::set soundTransform"); g._soundTransform = b.isNullOrUndefined(a) ? new f.media.SoundTransform : a; g._registeredChannels.forEach(function(a) { a._applySoundTransform(); }); }, enumerable:!0, configurable:!0}); Object.defineProperty(g, "audioPlaybackMode", {get:function() { s("public flash.media.SoundMixer::get audioPlaybackMode"); }, set:function(a) { m(a); s("public flash.media.SoundMixer::set audioPlaybackMode"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g, "useSpeakerphoneForVoice", {get:function() { s("public flash.media.SoundMixer::get useSpeakerphoneForVoice"); }, set:function(a) { s("public flash.media.SoundMixer::set useSpeakerphoneForVoice"); }, enumerable:!0, configurable:!0}); g.stopAll = function() { g._registeredChannels.forEach(function(a) { a.stop(); }); g._registeredChannels = []; }; g.computeSpectrum = function(a, b, c) { d("public flash.media.SoundMixer::static computeSpectrum"); b = new Float32Array(1024); for (c = 0;1024 > c;c++) { b[c] = Math.random(); } a.writeRawBytes(b); a.position = 0; }; g.areSoundsInaccessible = function() { s("public flash.media.SoundMixer::static areSoundsInaccessible"); }; g._getMasterVolume = function() { return g._masterVolume; }; g._setMasterVolume = function(a) { g._masterVolume = +a; g._registeredChannels.forEach(function(a) { a._applySoundTransform(); }); }; g._registerChannel = function(a) { g._registeredChannels.push(a); }; g._unregisterChannel = function(a) { a = g._registeredChannels.indexOf(a); 0 <= a && g._registeredChannels.splice(a, 1); }; g.classInitializer = null; g.initializer = null; g.classSymbols = null; g.instanceSymbols = null; g._masterVolume = 1; g._registeredChannels = []; return g; }(g.ASNative); k.SoundMixer = a; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = function(a) { function b(a, c) { k("Dummy Constructor: public flash.media.SoundTransform"); } __extends(b, a); Object.defineProperty(b.prototype, "volume", {get:function() { return this._volume; }, set:function(a) { this._volume = +a; this._updateTransform(); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "leftToLeft", {get:function() { return this._leftToLeft; }, set:function(a) { this._leftToLeft = +a; this._updateTransform(); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "leftToRight", {get:function() { return this._leftToRight; }, set:function(a) { this._leftToRight = +a; this._updateTransform(); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "rightToRight", {get:function() { return this._rightToRight; }, set:function(a) { this._rightToRight = +a; this._updateTransform(); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "rightToLeft", {get:function() { return this._rightToLeft; }, set:function(a) { this._rightToLeft = +a; this._updateTransform(); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "pan", {get:function() { return 0 === this._leftToRight && 0 === this._rightToLeft ? 1 - this._leftToLeft * this._leftToLeft : 0; }, set:function(a) { this.leftToLeft = Math.sqrt(1 - a); this.leftToRight = 0; this.rightToRight = Math.sqrt(1 + a); this.rightToLeft = 0; }, enumerable:!0, configurable:!0}); b.prototype._updateTransform = function() { m("public flash.media.SoundTransform::_updateTransform"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); f.SoundTransform = d; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.Debug.assert, d = function(a) { function b(a, c) { "undefined" === typeof a && (a = 320); "undefined" === typeof c && (c = 240); f.display.DisplayObject.instanceConstructorNoInitialize.call(this); this._width = a | 0; this._height = c | 0; } __extends(b, a); Object.defineProperty(b.prototype, "deblocking", {get:function() { return this._deblocking; }, set:function(a) { this._deblocking = a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "smoothing", {get:function() { return this._smoothing; }, set:function(a) { this._smoothing = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "videoWidth", {get:function() { return this._videoWidth; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "videoHeight", {get:function() { return this._videoHeight; }, enumerable:!0, configurable:!0}); b.prototype._containsPointDirectly = function(a, b) { m(this._getContentBounds().contains(a, b)); return!0; }; b.prototype.clear = function() { k("public flash.media.Video::clear"); }; b.prototype.attachNetStream = function(a) { if (this._netStream !== a) { this._netStream && (a._videoReferrer = null); if (this._netStream = a) { a._videoReferrer = this; } this._setDirtyFlags(33554432); } }; b.prototype.attachCamera = function(a) { k("public flash.media.Video::attachCamera"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(f.display.DisplayObject); g.Video = d; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.media.VideoStreamSettings"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.VideoStreamSettings = m; })(f.media || (f.media = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b(a, c, d) { k("Dummy Constructor: public flash.net.FileFilter"); } __extends(b, a); Object.defineProperty(b.prototype, "description", {get:function() { return this._description; }, set:function(a) { this._description = m(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "extension", {get:function() { return this._extension; }, set:function(a) { this._extension = m(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "macType", {get:function() { return this._macType; }, set:function(a) { this._macType = m(a); }, enumerable:!0, configurable:!0}); b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); f.FileFilter = d; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.FileLoadingService, c = function(b) { function c() { k("Dummy Constructor: public flash.net.LocalConnection"); } __extends(c, b); c.prototype.close = function() { k("public flash.net.LocalConnection::close"); }; c.prototype.connect = function(a) { m(a); k("public flash.net.LocalConnection::connect"); }; Object.defineProperty(c.prototype, "domain", {get:function() { d("public flash.net.LocalConnection::get domain"); var b = a.instance.resolveUrl("/"); return(b = /:\/\/(.+?)[:?#\/]/.exec(b)) && b[1]; }, enumerable:!0, configurable:!0}); c.prototype.send = function(a, b) { m(a); m(b); k("public flash.net.LocalConnection::send"); }; Object.defineProperty(c.prototype, "client", {get:function() { k("public flash.net.LocalConnection::get client"); }, set:function(a) { k("public flash.net.LocalConnection::set client"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "isPerUser", {get:function() { k("public flash.net.LocalConnection::get isPerUser"); }, set:function(a) { k("public flash.net.LocalConnection::set isPerUser"); }, enumerable:!0, configurable:!0}); c.prototype.allowDomain = function() { k("public flash.net.LocalConnection::allowDomain"); }; c.prototype.allowInsecureDomain = function() { k("public flash.net.LocalConnection::allowInsecureDomain"); }; c.classInitializer = null; c.initializer = null; c.classSymbols = null; c.instanceSymbols = null; return c; }(f.events.EventDispatcher); g.LocalConnection = c; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.AVM2.Runtime.wrapJSObject, c = b.Telemetry, n = b.AVM2.AS.flash.events.NetStatusEvent, p = function(b) { function f() { k("Dummy Constructor: public flash.net.NetConnection"); } __extends(f, b); Object.defineProperty(f, "defaultObjectEncoding", {get:function() { return f._defaultObjectEncoding; }, set:function(a) { f._defaultObjectEncoding = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "connected", {get:function() { return this._connected; }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "uri", {get:function() { return this._uri; }, enumerable:!0, configurable:!0}); f.prototype.connect = function(b) { b = m(b); d("public flash.net.NetConnection::connect"); (this._uri = b) ? this.dispatchEvent(new n(n.NET_STATUS, !1, !1, a({level:"status", code:"NetConnection.Connect.Failed"}))) : (this._connected = !0, this.dispatchEvent(new n(n.NET_STATUS, !1, !1, a({level:"status", code:"NetConnection.Connect.Success"})))); }; Object.defineProperty(f.prototype, "client", {get:function() { return this._client; }, set:function(a) { this._client = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "objectEncoding", {get:function() { return this._objectEncoding; }, set:function(a) { a >>>= 0; d("public flash.net.NetConnection::set objectEncoding"); this._objectEncoding = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "proxyType", {get:function() { return this._proxyType; }, set:function(a) { a = m(a); d("public flash.net.NetConnection::set proxyType"); this._proxyType = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "connectedProxyType", {get:function() { k("public flash.net.NetConnection::get connectedProxyType"); }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "usingTLS", {get:function() { d("public flash.net.NetConnection::get usingTLS"); return this._usingTLS; }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "protocol", {get:function() { k("public flash.net.NetConnection::get protocol"); }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "maxPeerConnections", {get:function() { k("public flash.net.NetConnection::get maxPeerConnections"); }, set:function(a) { k("public flash.net.NetConnection::set maxPeerConnections"); }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "nearID", {get:function() { k("public flash.net.NetConnection::get nearID"); }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "farID", {get:function() { k("public flash.net.NetConnection::get farID"); }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "nearNonce", {get:function() { k("public flash.net.NetConnection::get nearNonce"); }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "farNonce", {get:function() { k("public flash.net.NetConnection::get farNonce"); }, enumerable:!0, configurable:!0}); Object.defineProperty(f.prototype, "unconnectedPeerStreams", {get:function() { k("public flash.net.NetConnection::get unconnectedPeerStreams"); }, enumerable:!0, configurable:!0}); f.prototype.ctor = function() { this._uri = null; this._connected = !1; this._client = null; this._proxyType = "none"; this._objectEncoding = f.defaultObjectEncoding; this._usingTLS = !1; c.instance.reportTelemetry({topic:"feature", feature:6}); }; f.prototype.invoke = function(a) { return this._invoke(a >>> 0, Array.prototype.slice.call(arguments, 1)); }; f.prototype.invokeWithArgsArray = function(a, b) { return this._invoke.call(this, a >>> 0, b); }; f.prototype._invoke = function(a, b) { var c = !1; switch(a) { case 2: c = !0; } (c ? d : k)("private flash.net.NetConnection::_invoke (" + a + ")"); }; f.classInitializer = null; f.initializer = null; f.classSymbols = null; f.instanceSymbols = ["close", "addHeader", "call"]; f._defaultObjectEncoding = 3; return f; }(f.events.EventDispatcher); g.NetConnection = p; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.AVM2.Runtime.wrapJSObject, c = b.AVM2.AS.flash.events.NetStatusEvent, n = b.FileLoadingService, p = function(b) { function g(a, b) { "undefined" === typeof b && (b = "connectToFMS"); f.events.EventDispatcher.instanceConstructorNoInitialize.call(this); this._connection = a; this._peerID = m(b); this._id = f.display.DisplayObject.getNextSyncID(); this._isDirty = !0; } __extends(g, b); g.prototype.dispose = function() { k("public flash.net.NetStream::dispose"); }; g.prototype.play = function(a) { this._url = n.instance.resolveUrl(a); d("public flash.net.NetStream::play"); }; g.prototype.play2 = function(a) { k("public flash.net.NetStream::play2"); }; Object.defineProperty(g.prototype, "info", {get:function() { k("public flash.net.NetStream::get info"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "multicastInfo", {get:function() { k("public flash.net.NetStream::get multicastInfo"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "soundTransform", {get:function() { return this._soundTransform; }, set:function(a) { d("public flash.net.NetStream::set soundTransform"); this._soundTransform = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "checkPolicyFile", {get:function() { return this._checkPolicyFile; }, set:function(a) { this._checkPolicyFile = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "client", {get:function() { return this._client; }, set:function(a) { d("public flash.net.NetStream::set client"); this._client = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "objectEncoding", {get:function() { k("public flash.net.NetStream::get objectEncoding"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "multicastPushNeighborLimit", {get:function() { k("public flash.net.NetStream::get multicastPushNeighborLimit"); }, set:function(a) { k("public flash.net.NetStream::set multicastPushNeighborLimit"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "multicastWindowDuration", {get:function() { k("public flash.net.NetStream::get multicastWindowDuration"); }, set:function(a) { k("public flash.net.NetStream::set multicastWindowDuration"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "multicastRelayMarginDuration", {get:function() { k("public flash.net.NetStream::get multicastRelayMarginDuration"); }, set:function(a) { k("public flash.net.NetStream::set multicastRelayMarginDuration"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "multicastAvailabilityUpdatePeriod", {get:function() { k("public flash.net.NetStream::get multicastAvailabilityUpdatePeriod"); }, set:function(a) { k("public flash.net.NetStream::set multicastAvailabilityUpdatePeriod"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "multicastFetchPeriod", {get:function() { k("public flash.net.NetStream::get multicastFetchPeriod"); }, set:function(a) { k("public flash.net.NetStream::set multicastFetchPeriod"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "multicastAvailabilitySendToAll", {get:function() { k("public flash.net.NetStream::get multicastAvailabilitySendToAll"); }, set:function(a) { k("public flash.net.NetStream::set multicastAvailabilitySendToAll"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "farID", {get:function() { k("public flash.net.NetStream::get farID"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "nearNonce", {get:function() { k("public flash.net.NetStream::get nearNonce"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "farNonce", {get:function() { k("public flash.net.NetStream::get farNonce"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "peerStreams", {get:function() { k("public flash.net.NetStream::get peerStreams"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "audioReliable", {get:function() { k("public flash.net.NetStream::get audioReliable"); }, set:function(a) { k("public flash.net.NetStream::set audioReliable"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "videoReliable", {get:function() { k("public flash.net.NetStream::get videoReliable"); }, set:function(a) { k("public flash.net.NetStream::set videoReliable"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "dataReliable", {get:function() { k("public flash.net.NetStream::get dataReliable"); }, set:function(a) { k("public flash.net.NetStream::set dataReliable"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "audioSampleAccess", {get:function() { k("public flash.net.NetStream::get audioSampleAccess"); }, set:function(a) { k("public flash.net.NetStream::set audioSampleAccess"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "videoSampleAccess", {get:function() { k("public flash.net.NetStream::get videoSampleAccess"); }, set:function(a) { k("public flash.net.NetStream::set videoSampleAccess"); }, enumerable:!0, configurable:!0}); g.prototype.appendBytes = function(a) { this._mediaSource && (this._mediaSourceBuffer || (this._mediaSourceBuffer = this._mediaSource.addSourceBuffer(this._contentTypeHint)), this._mediaSourceBuffer.appendBuffer(new Uint8Array(a._buffer, 0, a.length))); d("public flash.net.NetStream::appendBytes"); }; g.prototype.appendBytesAction = function() { var a; a = m("endSequence"); "endSequence" === a && this._mediaSource && this._mediaSource.endOfStream(); d("public flash.net.NetStream::appendBytesAction"); }; Object.defineProperty(g.prototype, "useHardwareDecoder", {get:function() { k("public flash.net.NetStream::get useHardwareDecoder"); }, set:function(a) { k("public flash.net.NetStream::set useHardwareDecoder"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "useJitterBuffer", {get:function() { k("public flash.net.NetStream::get useJitterBuffer"); }, set:function(a) { k("public flash.net.NetStream::set useJitterBuffer"); }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "videoStreamSettings", {get:function() { k("public flash.net.NetStream::get videoStreamSettings"); }, set:function(a) { k("public flash.net.NetStream::set videoStreamSettings"); }, enumerable:!0, configurable:!0}); g.prototype.ctor = function(a, b) { b = m(b); d("public flash.net.NetStream::ctor"); this._mediaSource = this._contentTypeHint = null; this._checkPolicyFile = !0; this._videoElement = null; var c, e; this._videoReady = new Promise(function(a, b) { c = a; e = b; }); this._videoReady.resolve = c; this._videoReady.reject = e; var h, f; this._videoMetadataReady = new Promise(function(a, b) { h = a; f = b; }); this._videoMetadataReady.resolve = h; this._videoMetadataReady.reject = f; this._videoState = {started:!1, buffer:"empty", bufferTime:.1}; }; g.prototype.invoke = function(a) { return this._invoke(a >>> 0, Array.prototype.slice.call(arguments, 1)); }; g.prototype.invokeWithArgsArray = function(a, b) { return this._invoke.call(this, a >>> 0, b); }; g.prototype._invoke = function(a, b) { var c = !1, e, h = this._videoElement; switch(a) { case 4: this._videoState.bufferTime = b[0]; c = !0; break; case 202: switch(b[1]) { case "pause": c = !0; h && (!1 === b[3] || h.paused ? !0 !== b[3] && h.paused && h.play() : h.pause(), h.currentTime = b[4] / 1E3); break; case "seek": c = !0, h && !h.paused && (h.currentTime = b[3] / 1E3); } break; case 300: e = h ? h.currentTime : 0; c = !0; break; case 302: e = this._videoState.bufferTime; c = !0; break; case 303: e = h ? h.duration : 0; c = !0; break; case 305: e = "full" === this._videoState.buffer ? 100 : "progress" === this._videoState.buffer ? 50 : 0; c = !0; break; case 306: e = 100, c = !0; } (c ? d : k)("NetStream._invoke (" + a + ")"); return e; }; g.prototype._createVideoElement = function(b) { var d = this; /\.mp4$/i.test(b) && /Intel Mac OS X.*?Firefox\/\d+/.test(window.navigator.userAgent) && (b = "http://videos-cdn.mozilla.net/brand/Mozilla_2011_Story.webm"); var e = document.createElement("video"); e.preload = "metadata"; e.src = b; e.addEventListener("play", function(b) { d._videoState.started || (d._videoState.started = !0, d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:"NetStream.Play.Start", level:"status"})))); }); e.addEventListener("ended", function(b) { d._videoState.started = !1; d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:"NetStream.Play.Stop", level:"status"}))); }); e.addEventListener("loadeddata", function(b) { d._videoState.buffer = "full"; d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:"NetStream.Buffer.Full", level:"status"}))); }); e.addEventListener("progress", function(a) { d._videoState.buffer = "progress"; }); e.addEventListener("waiting", function(b) { d._videoState.buffer = "empty"; d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:"NetStream.Buffer.Empty", level:"status"}))); }); e.addEventListener("loadedmetadata", function(a) { d._videoMetadataReady.resolve({videoWidth:e.videoWidth, videoHeight:e.videoHeight}); d._client && (a = {}, a.asSetPublicProperty("width", e.videoWidth), a.asSetPublicProperty("height", e.videoHeight), a.asSetPublicProperty("duration", e.duration), d._client.asCallPublicProperty("onMetaData", [a])); }); e.addEventListener("error", function(b) { d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:4 === b.target.error.code ? "NetStream.Play.NoSupportedTrackFound" : 3 === b.target.error.code ? "NetStream.Play.FileStructureInvalid" : "NetStream.Play.StreamNotFound", level:"error"}))); }); e.play(); this._videoElement = e; this._videoReady.resolve(e); }; g.classInitializer = null; g.initializer = null; g.classSymbols = null; g.instanceSymbols = null; g.DIRECT_CONNECTIONS = "directConnections"; g.CONNECT_TO_FMS = "connectToFMS"; return g; }(f.events.EventDispatcher); g.NetStream = p; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b(a, c, d, f, g, u, w, r, h, x, y, t, I, C, E, O, K, F, J, A, B, z, P, D, L) { "undefined" === typeof P && (P = null); "undefined" === typeof D && (D = null); m(P); m(D); k("Dummy Constructor: public flash.net.NetStreamInfo"); } __extends(b, a); b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); f.NetStreamInfo = d; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a(a, b, d, e, f, g, m, w, r, h, x, y, t, I, C, E, O, K, F) { k("Dummy Constructor: public flash.net.NetStreamMulticastInfo"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.NetStreamMulticastInfo = m; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.net.NetStreamPlayOptions"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.NetStreamPlayOptions = m; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a(a, b) { k("Dummy Constructor: public flash.net.Responder"); } __extends(a, b); a.prototype.ctor = function(a, b) { this._result = a; this._status = b; }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.Responder = m; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.ObjectUtilities.createEmptyObject, c = function(c) { function g() { f.events.EventDispatcher.instanceConstructorNoInitialize.call(this); this._data = a(); } __extends(g, c); g.deleteAll = function(a) { m(a); k("public flash.net.SharedObject::static deleteAll"); }; g.getDiskUsage = function(a) { m(a); k("public flash.net.SharedObject::static getDiskUsage"); }; g._create = function(a, c) { var d = new g; d._path = a; d._data = c; d._objectEncoding = g._defaultObjectEncoding; b.Telemetry.instance.reportTelemetry({topic:"feature", feature:3}); return d; }; g.getLocal = function(a, b, c) { "undefined" === typeof b && (b = null); a = m(a); b = m(b); a = (b || "") + "/" + a; if (g._sharedObjects[a]) { return g._sharedObjects[a]; } b = sessionStorage.getItem(a); b = g._create(a, b ? JSON.parse(b) : {}); return g._sharedObjects[a] = b; }; g.getRemote = function(a, b, c, d) { "undefined" === typeof b && (b = null); m(a); m(b); k("public flash.net.SharedObject::static getRemote"); }; Object.defineProperty(g, "defaultObjectEncoding", {get:function() { return g._defaultObjectEncoding; }, set:function(a) { g._defaultObjectEncoding = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "data", {get:function() { return this._data; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "objectEncoding", {get:function() { return this._objectEncoding; }, set:function(a) { this._objectEncoding = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "client", {get:function() { k("public flash.net.SharedObject::get client"); }, set:function(a) { k("public flash.net.SharedObject::set client"); }, enumerable:!0, configurable:!0}); g.prototype.setDirty = function(a) { m(a); d("public flash.net.SharedObject::setDirty"); }; g.prototype.invoke = function(a) { return this._invoke(a >>> 0, Array.prototype.slice.call(arguments, 1)); }; g.prototype.invokeWithArgsArray = function(a, b) { return this._invoke(a >>> 0, b); }; g.prototype._invoke = function(a, b) { var c = !1, f; switch(a) { case 4: f = JSON.stringify(this._data).length - 2; c = !0; break; case 6: this._data = {}; sessionStorage.removeItem(this._path); c = !0; break; case 2: sessionStorage.setItem(this._path, JSON.stringify(this._data)); f = c = !0; break; case 3: c = !0; } (c ? d : k)("private flash.net.SharedObject::_invoke (" + a + ")"); return f; }; g.classInitializer = null; g.initializer = null; g.classSymbols = null; g.instanceSymbols = null; g._sharedObjects = a(); g._defaultObjectEncoding = 3; return g; }(f.events.EventDispatcher); g.SharedObject = c; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.AVM2.Errors, c = b.AVM2.Runtime.throwError, n = function(b) { function e(a, b) { "undefined" === typeof a && (a = null); m(a); k("Dummy Constructor: public flash.net.Socket"); } __extends(e, b); Object.defineProperty(e.prototype, "bytesAvailable", {get:function() { k("public flash.net.Socket::get bytesAvailable"); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "connected", {get:function() { k("public flash.net.Socket::get connected"); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "objectEncoding", {get:function() { k("public flash.net.Socket::get objectEncoding"); }, set:function(a) { k("public flash.net.Socket::set objectEncoding"); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "endian", {get:function() { k("public flash.net.Socket::get endian"); }, set:function(a) { m(a); k("public flash.net.Socket::set endian"); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "bytesPending", {get:function() { k("public flash.net.Socket::get bytesPending"); }, enumerable:!0, configurable:!0}); e.prototype.readBytes = function(a, b, c) { k("public flash.net.Socket::readBytes"); }; e.prototype.writeBytes = function(a, b, c) { k("public flash.net.Socket::writeBytes"); }; e.prototype.writeBoolean = function(a) { k("public flash.net.Socket::writeBoolean"); }; e.prototype.writeByte = function(a) { k("public flash.net.Socket::writeByte"); }; e.prototype.writeShort = function(a) { k("public flash.net.Socket::writeShort"); }; e.prototype.writeInt = function(a) { k("public flash.net.Socket::writeInt"); }; e.prototype.writeUnsignedInt = function(a) { k("public flash.net.Socket::writeUnsignedInt"); }; e.prototype.writeFloat = function(a) { k("public flash.net.Socket::writeFloat"); }; e.prototype.writeDouble = function(a) { k("public flash.net.Socket::writeDouble"); }; e.prototype.writeMultiByte = function(a, b) { m(a); m(b); k("public flash.net.Socket::writeMultiByte"); }; e.prototype.writeUTF = function(a) { m(a); k("public flash.net.Socket::writeUTF"); }; e.prototype.writeUTFBytes = function(a) { m(a); k("public flash.net.Socket::writeUTFBytes"); }; e.prototype.readBoolean = function() { k("public flash.net.Socket::readBoolean"); }; e.prototype.readByte = function() { k("public flash.net.Socket::readByte"); }; e.prototype.readUnsignedByte = function() { k("public flash.net.Socket::readUnsignedByte"); }; e.prototype.readShort = function() { k("public flash.net.Socket::readShort"); }; e.prototype.readUnsignedShort = function() { k("public flash.net.Socket::readUnsignedShort"); }; e.prototype.readInt = function() { k("public flash.net.Socket::readInt"); }; e.prototype.readUnsignedInt = function() { k("public flash.net.Socket::readUnsignedInt"); }; e.prototype.readFloat = function() { k("public flash.net.Socket::readFloat"); }; e.prototype.readDouble = function() { k("public flash.net.Socket::readDouble"); }; e.prototype.readMultiByte = function(a, b) { m(b); k("public flash.net.Socket::readMultiByte"); }; e.prototype.readUTF = function() { k("public flash.net.Socket::readUTF"); }; e.prototype.readUTFBytes = function(a) { k("public flash.net.Socket::readUTFBytes"); }; e.prototype.flush = function() { k("public flash.net.Socket::flush"); }; e.prototype.writeObject = function(a) { k("public flash.net.Socket::writeObject"); }; e.prototype.readObject = function() { k("public flash.net.Socket::readObject"); }; e.prototype.internalGetSecurityErrorMessage = function(a, b) { m(a); d("flash.net.Socket::internalGetSecurityErrorMessage"); return "SecurityErrorEvent"; }; e.prototype.internalConnect = function(b, e) { b = m(b); e |= 0; d("flash.net.Socket::internalConnect"); c("SecurityError", a.SocketConnectError, b, e); }; e.prototype.didFailureOccur = function() { d("flash.net.Socket::didFailureOccur"); return!0; }; e.classInitializer = null; e.initializer = null; e.classSymbols = null; e.instanceSymbols = null; return e; }(f.events.EventDispatcher); g.Socket = n; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a) { k("Dummy Constructor: public flash.net.URLLoader"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = "data dataFormat bytesLoaded bytesTotal load close".split(" "); return a; }(f.events.EventDispatcher); g.URLLoader = m; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(t) { var s = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.AVM2.Runtime.throwError, a = function(a) { function b(a) { "undefined" === typeof a && (a = null); m(a); s("Dummy Constructor: public flash.net.URLRequest"); } __extends(b, a); Object.defineProperty(b.prototype, "url", {get:function() { return this._url; }, set:function(a) { this._url = a = m(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "data", {get:function() { return this._data; }, set:function(a) { this._data = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "method", {get:function() { return this._method; }, set:function(a) { a = m(a); "get" !== a && "GET" !== a && "post" !== a && "POST" !== a && d("ArgumentError", k.Errors.InvalidArgumentError); this._method = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "contentType", {get:function() { return this._contentType; }, set:function(a) { this._contentType = a = m(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "requestHeaders", {get:function() { return this._requestHeaders; }, set:function(a) { Array.isArray(a) || d("ArgumentError", k.Errors.InvalidArgumentError, "value"); this._requestHeaders = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "digest", {get:function() { return this._digest; }, set:function(a) { this._digest = a = m(a); }, enumerable:!0, configurable:!0}); b.prototype._toFileRequest = function() { var a = {}; a.url = this._url; a.method = this._method; a.checkPolicyFile = this._checkPolicyFile; if (this._data) { if (a.mimeType = this._contentType, f.utils.ByteArray.isType(this._data)) { a.data = new Uint8Array(this._data._buffer, 0, this._data.length); } else { var b = this._data.asGetPublicProperty("toString").call(this._data); if ("GET" === this._method) { var c = a.url.lastIndexOf("?"); a.url = (0 > c ? a.url : a.url.substring(0, c)) + "?" + b; } else { a.data = b; } } } return a; }; b.classInitializer = null; b.initializer = function() { this._url = null; this._method = "GET"; this._digest = this._data = null; this._contentType = "application/x-www-form-urlencoded"; this._requestHeaders = null; this._checkPolicyFile = !0; }; b.classSymbols = null; b.bindings = null; return b; }(g.ASNative); t.URLRequest = a; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.AVM2.Runtime.asCoerceString, m = function(b) { function a(a, b) { "undefined" === typeof a && (a = ""); "undefined" === typeof b && (b = ""); k(a); k(b); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = ["name!", "value!"]; return a; }(g.ASNative); f.URLRequestHeader = m; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.FileLoadingService, a = b.AVM2.Runtime.throwError, c = b.AVM2.AS.flash.utils, n = function(b) { function e() { s("Dummy Constructor: public flash.net.URLStream"); } __extends(e, b); Object.defineProperty(e.prototype, "connected", {get:function() { return this._connected; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "bytesAvailable", {get:function() { return this._buffer.length - this._buffer.position; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "objectEncoding", {get:function() { return this._buffer.objectEncoding; }, set:function(a) { this._buffer.objectEncoding = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "endian", {get:function() { return this._buffer.endian; }, set:function(a) { a = m(a); this._buffer.endian = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "diskCacheEnabled", {get:function() { s("public flash.net.URLStream::get diskCacheEnabled"); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "position", {get:function() { return this._buffer.position; }, set:function(a) { this._buffer.position = +a; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "length", {get:function() { return this._buffer.length; }, enumerable:!0, configurable:!0}); e.prototype.load = function(a) { var b = f.events.Event, c = f.events.IOErrorEvent, e = f.events.ProgressEvent, g = f.events.HTTPStatusEvent, h = d.instance.createSession(), k = this; h.onprogress = function(a, b) { var c = k._buffer.position; k._buffer.position = k._writePosition; k._buffer.writeRawBytes(a); k._writePosition = k._buffer.position; k._buffer.position = c; k.dispatchEvent(new e(e.PROGRESS, !1, !1, b.bytesLoaded, b.bytesTotal)); }; h.onerror = function(a) { k._connected = !1; k.dispatchEvent(new c(c.IO_ERROR, !1, !1, a)); }; h.onopen = function() { k._connected = !0; k.dispatchEvent(new b(b.OPEN, !1, !1)); }; h.onhttpstatus = function(a, b, c) { b = new g(g.HTTP_STATUS, !1, !1, b); var d = []; c.split(/(?:\n|\r?\n)/g).forEach(function(b) { if (b = /^([^:]+): (.*)$/.exec(b)) { d.push(new f.net.URLRequestHeader(b[1], b[2])), "Location" === b[1] && (a = b[2]); } }); b.asSetPublicProperty("responseHeaders", d); b.asSetPublicProperty("responseURL", a); k.dispatchEvent(b); }; h.onclose = function() { k._connected = !1; k.dispatchEvent(new b(b.COMPLETE, !1, !1)); }; h.open(a._toFileRequest()); this._session = h; }; e.prototype.readBytes = function(b, c, d) { "undefined" === typeof c && (c = 0); "undefined" === typeof d && (d = 0); c >>>= 0; d >>>= 0; 0 > d && a("ArgumentError", k.Errors.InvalidArgumentError, "length"); this._buffer.readBytes(b, c, d); }; e.prototype.readBoolean = function() { s("public flash.net.URLStream::readBoolean"); }; e.prototype.readByte = function() { return this._buffer.readByte(); }; e.prototype.readUnsignedByte = function() { s("public flash.net.URLStream::readUnsignedByte"); }; e.prototype.readShort = function() { s("public flash.net.URLStream::readShort"); }; e.prototype.readUnsignedShort = function() { return this._buffer.readUnsignedShort(); }; e.prototype.readUnsignedInt = function() { s("public flash.net.URLStream::readUnsignedInt"); }; e.prototype.readInt = function() { s("public flash.net.URLStream::readInt"); }; e.prototype.readFloat = function() { s("public flash.net.URLStream::readFloat"); }; e.prototype.readDouble = function() { s("public flash.net.URLStream::readDouble"); }; e.prototype.readMultiByte = function(a, b) { m(b); s("public flash.net.URLStream::readMultiByte"); }; e.prototype.readUTF = function() { return this._buffer.readUTF(); }; e.prototype.readUTFBytes = function(a) { return this._buffer.readUTFBytes(a); }; e.prototype.close = function() { this._session.close(); }; e.prototype.readObject = function() { s("public flash.net.URLStream::readObject"); }; e.prototype.stop = function() { s("public flash.net.URLStream::stop"); }; e.classInitializer = null; e.initializer = function() { this._buffer = new c.ByteArray; this._writePosition = 0; this._connected = !1; }; e.classSymbols = null; e.instanceSymbols = null; return e; }(f.events.EventDispatcher); g.URLStream = n; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a(a) { k("Dummy Constructor: public flash.net.URLVariables"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = ["decode!"]; return a; }(g.ASNative); f.URLVariables = m; })(f.net || (f.net = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.sensors.Accelerometer"); } __extends(a, b); Object.defineProperty(a.prototype, "isSupported", {get:function() { k("public flash.sensors.Accelerometer::get isSupported"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "muted", {get:function() { k("public flash.sensors.Accelerometer::get muted"); }, enumerable:!0, configurable:!0}); a.prototype.setRequestedUpdateInterval = function(a) { k("public flash.sensors.Accelerometer::setRequestedUpdateInterval"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.Accelerometer = m; })(f.sensors || (f.sensors = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.sensors.Geolocation"); } __extends(a, b); Object.defineProperty(a.prototype, "isSupported", {get:function() { k("public flash.sensors.Geolocation::get isSupported"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "muted", {get:function() { k("public flash.sensors.Geolocation::get muted"); }, enumerable:!0, configurable:!0}); a.prototype.setRequestedUpdateInterval = function(a) { k("public flash.sensors.Geolocation::setRequestedUpdateInterval"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.Geolocation = m; })(f.sensors || (f.sensors = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.AVM2.Runtime.AVM2, a = b.AVM2.Runtime.ApplicationDomain, c = b.AVM2.ABC.Multiname, n = function(b) { function e(b) { "undefined" === typeof b && (b = null); b instanceof a ? this._runtimeDomain = b : (b = b ? b._runtimeDomain : d.currentDomain().system, this._runtimeDomain = new a(b.vm, b, 2, !1)); } __extends(e, b); Object.defineProperty(e, "currentDomain", {get:function() { return new e(d.currentDomain()); }, enumerable:!0, configurable:!0}); Object.defineProperty(e, "MIN_DOMAIN_MEMORY_LENGTH", {get:function() { k("public flash.system.ApplicationDomain::get MIN_DOMAIN_MEMORY_LENGTH"); }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "parentDomain", {get:function() { return this._runtimeDomain.base ? new e(this._runtimeDomain.base) : null; }, enumerable:!0, configurable:!0}); Object.defineProperty(e.prototype, "domainMemory", {get:function() { k("public flash.system.ApplicationDomain::get domainMemory"); }, set:function(a) { k("public flash.system.ApplicationDomain::set domainMemory"); }, enumerable:!0, configurable:!0}); e.prototype.getDefinition = function(a) { return(a = m(a)) ? (a = a.replace("::", "."), this._runtimeDomain.getProperty(c.fromSimpleName(a), !0, !0)) : null; }; e.prototype.hasDefinition = function(a) { return(a = m(a)) ? (a = a.replace("::", "."), !!this._runtimeDomain.findDomainProperty(c.fromSimpleName(a), !1, !1)) : !1; }; e.prototype.getQualifiedDefinitionNames = function() { k("public flash.system.ApplicationDomain::getQualifiedDefinitionNames"); }; e.classInitializer = null; e.initializer = null; e.classSymbols = null; e.instanceSymbols = null; return e; }(g.ASNative); f.ApplicationDomain = n; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.ObjectUtilities.toKeyValueArray, c = function(b) { function c() { k("Dummy Constructor: public flash.system.Capabilities"); } __extends(c, b); Object.defineProperty(c, "isEmbeddedInAcrobat", {get:function() { k("public flash.system.Capabilities::get isEmbeddedInAcrobat"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasEmbeddedVideo", {get:function() { k("public flash.system.Capabilities::get hasEmbeddedVideo"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasAudio", {get:function() { k("public flash.system.Capabilities::get hasAudio"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "avHardwareDisable", {get:function() { k("public flash.system.Capabilities::get avHardwareDisable"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasAccessibility", {get:function() { d("public flash.system.Capabilities::get hasAccessibility"); return c._hasAccessibility; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasAudioEncoder", {get:function() { k("public flash.system.Capabilities::get hasAudioEncoder"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasMP3", {get:function() { k("public flash.system.Capabilities::get hasMP3"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasPrinting", {get:function() { k("public flash.system.Capabilities::get hasPrinting"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasScreenBroadcast", {get:function() { k("public flash.system.Capabilities::get hasScreenBroadcast"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasScreenPlayback", {get:function() { k("public flash.system.Capabilities::get hasScreenPlayback"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasStreamingAudio", {get:function() { k("public flash.system.Capabilities::get hasStreamingAudio"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasStreamingVideo", {get:function() { k("public flash.system.Capabilities::get hasStreamingVideo"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasVideoEncoder", {get:function() { k("public flash.system.Capabilities::get hasVideoEncoder"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "isDebugger", {get:function() { d("public flash.system.Capabilities::get isDebugger"); return c._isDebugger; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "localFileReadDisable", {get:function() { k("public flash.system.Capabilities::get localFileReadDisable"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "language", {get:function() { d("public flash.system.Capabilities::get language"); return c._language; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "manufacturer", {get:function() { d("public flash.system.Capabilities::get manufacturer"); return c._manufacturer; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "os", {get:function() { if (null === c._os) { var a, b = window.navigator.userAgent; 0 < b.indexOf("Macintosh") ? a = "Mac OS 10.5.2" : 0 < b.indexOf("Windows") ? a = "Windows XP" : 0 < b.indexOf("Linux") ? a = "Linux" : /(iPad|iPhone|iPod|Android)/.test(b) ? a = "iPhone3,1" : k("public flash.system.Capabilities::get os"); c._os = a; } return c._os; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "cpuArchitecture", {get:function() { k("public flash.system.Capabilities::get cpuArchitecture"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "playerType", {get:function() { d("public flash.system.Capabilities::get playerType"); return c._playerType; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "serverString", {get:function() { var b = a({OS:c.os}).map(function(a) { return a[0] + "=" + encodeURIComponent(a[1]); }).join("&"); d("Capabilities.serverString: " + b); return b; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "version", {get:function() { return c._version; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "screenColor", {get:function() { k("public flash.system.Capabilities::get screenColor"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "pixelAspectRatio", {get:function() { k("public flash.system.Capabilities::get pixelAspectRatio"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "screenDPI", {get:function() { k("public flash.system.Capabilities::get screenDPI"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "screenResolutionX", {get:function() { d("public flash.system.Capabilities::get screenResolutionX"); return window.screen.width; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "screenResolutionY", {get:function() { d("public flash.system.Capabilities::get screenResolutionY"); return window.screen.height; }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "touchscreenType", {get:function() { k("public flash.system.Capabilities::get touchscreenType"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasIME", {get:function() { k("public flash.system.Capabilities::get hasIME"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "hasTLS", {get:function() { k("public flash.system.Capabilities::get hasTLS"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "maxLevelIDC", {get:function() { k("public flash.system.Capabilities::get maxLevelIDC"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "supports32BitProcesses", {get:function() { k("public flash.system.Capabilities::get supports32BitProcesses"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "supports64BitProcesses", {get:function() { k("public flash.system.Capabilities::get supports64BitProcesses"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c, "_internal", {get:function() { k("public flash.system.Capabilities::get _internal"); }, enumerable:!0, configurable:!0}); c.hasMultiChannelAudio = function(a) { m(a); k("public flash.system.Capabilities::static hasMultiChannelAudio"); }; c.classInitializer = null; c.initializer = null; c.classSymbols = null; c.instanceSymbols = null; c._hasAccessibility = !1; c._isDebugger = !1; c._language = "en"; c._manufacturer = "Mozilla Research"; c._os = null; c._playerType = "PlugIn"; c._version = "SHUMWAY 10,0,0,0"; return c; }(g.ASNative); f.Capabilities = c; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function c() { k("Dummy Constructor: packageInternal flash.system.FSCommand"); } __extends(c, a); c._fscommand = function(a, c) { a = m(a); c = m(c); console.log("FSCommand: " + a + "; " + c); a = a.toLowerCase(); if ("debugger" === a) { debugger; } else { b.AVM2.Runtime.AVM2.instance.globals["Shumway.Player.Utils"].executeFSCommand(a, c); } }; c.classInitializer = null; c.initializer = null; c.classSymbols = null; c.instanceSymbols = null; return c; }(g.ASNative); f.FSCommand = d; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.system.ImageDecodingPolicy"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.ON_DEMAND = "onDemand"; a.ON_LOAD = "onLoad"; return a; }(g.ASNative); f.ImageDecodingPolicy = m; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a(a, b, d) { k("Dummy Constructor: public flash.system.LoaderContext"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.LoaderContext = m; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, b, d, e) { k("Dummy Constructor: public flash.system.JPEGLoaderContext"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.system.LoaderContext); g.JPEGLoaderContext = m; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.system.MessageChannel"); } __extends(a, b); Object.defineProperty(a.prototype, "messageAvailable", {get:function() { k("public flash.system.MessageChannel::get messageAvailable"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "state", {get:function() { k("public flash.system.MessageChannel::get state"); }, enumerable:!0, configurable:!0}); a.prototype.send = function(a, b) { k("public flash.system.MessageChannel::send"); }; a.prototype.receive = function(a) { k("public flash.system.MessageChannel::receive"); }; a.prototype.close = function() { k("public flash.system.MessageChannel::close"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.MessageChannel = m; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.system.MessageChannelState"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.OPEN = "open"; a.CLOSING = "closing"; a.CLOSED = "closed"; return a; }(g.ASNative); f.MessageChannelState = m; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = function(a) { function f() { k("Dummy Constructor: public flash.system.Security"); } __extends(f, a); Object.defineProperty(f, "exactSettings", {get:function() { return f._exactSettings; }, set:function(a) { f._exactSettings = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(f, "disableAVM1Loading", {get:function() { k("public flash.system.Security::get disableAVM1Loading"); }, set:function(a) { k("public flash.system.Security::set disableAVM1Loading"); }, enumerable:!0, configurable:!0}); Object.defineProperty(f, "sandboxType", {get:function() { d("public flash.system.Security::get sandboxType"); return f._sandboxType; }, enumerable:!0, configurable:!0}); Object.defineProperty(f, "pageDomain", {get:function() { d("public flash.system.Security::get pageDomain"); var a = b.FileLoadingService.instance.resolveUrl("/").split("/"); a.pop(); return a.pop(); }, enumerable:!0, configurable:!0}); f.allowDomain = function() { d('public flash.system.Security::static allowDomain ["' + Array.prototype.join.call(arguments, '", "') + '"]'); }; f.allowInsecureDomain = function() { d("public flash.system.Security::static allowInsecureDomain"); }; f.loadPolicyFile = function(a) { m(a); d("public flash.system.Security::static loadPolicyFile"); }; f.showSettings = function(a) { "undefined" === typeof a && (a = "default"); m(a); k("public flash.system.Security::static showSettings"); }; f.duplicateSandboxBridgeInputArguments = function(a, b) { k("public flash.system.Security::static duplicateSandboxBridgeInputArguments"); }; f.duplicateSandboxBridgeOutputArgument = function(a, b) { k("public flash.system.Security::static duplicateSandboxBridgeOutputArgument"); }; f.classInitializer = null; f.initializer = null; f.classSymbols = null; f.instanceSymbols = null; f.REMOTE = "remote"; f.LOCAL_WITH_FILE = "localWithFile"; f.LOCAL_WITH_NETWORK = "localWithNetwork"; f.LOCAL_TRUSTED = "localTrusted"; f.APPLICATION = "application"; f._exactSettings = !1; f._sandboxType = "remote"; return f; }(g.ASNative); f.Security = a; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.system.SecurityDomain"); } __extends(a, b); Object.defineProperty(a.prototype, "currentDomain", {get:function() { k("public flash.system.SecurityDomain::get currentDomain"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "domainID", {get:function() { k("public flash.system.SecurityDomain::get domainID"); }, enumerable:!0, configurable:!0}); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.SecurityDomain = m; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.system.SecurityPanel"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.DEFAULT = "default"; a.PRIVACY = "privacy"; a.LOCAL_STORAGE = "localStorage"; a.MICROPHONE = "microphone"; a.CAMERA = "camera"; a.DISPLAY = "display"; a.SETTINGS_MANAGER = "settingsManager"; return a; }(g.ASNative); f.SecurityPanel = m; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.system.TouchscreenType"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.FINGER = "finger"; a.STYLUS = "stylus"; a.NONE = "none"; return a; }(g.ASNative); f.TouchscreenType = m; })(f.system || (f.system = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.fromNumber = function(a) { switch(a) { case 1: return d.NORMAL; case 2: return d.ADVANCED; default: return null; } }; d.toNumber = function(a) { switch(a) { case d.NORMAL: return 1; case d.ADVANCED: return 2; default: return-1; } }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.NORMAL = "normal"; d.ADVANCED = "advanced"; return d; }(b.ASNative); f.AntiAliasType = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.REGULAR = "regular"; d.BOLD = "bold"; d.ITALIC = "italic"; d.BOLD_ITALIC = "boldItalic"; return d; }(b.ASNative); f.FontStyle = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.EMBEDDED = "embedded"; d.EMBEDDED_CFF = "embeddedCFF"; d.DEVICE = "device"; return d; }(b.ASNative); f.FontType = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(k) { var s = b.Debug.somewhatImplemented, m = b.AVM2.Runtime.asCoerceString, d = f.text.FontStyle, a = f.text.FontType, c = function(c) { function g() { } __extends(g, c); g._getFontMetrics = function(a) { if (!this._deviceFontMetrics) { var b = self.navigator.userAgent; -1 < b.indexOf("Windows") ? this._deviceFontMetrics = g.DEVICE_FONT_METRICS_WIN : this._deviceFontMetrics = /(Macintosh|iPad|iPhone|iPod|Android)/.test(b) ? this.DEVICE_FONT_METRICS_MAC : this.DEVICE_FONT_METRICS_LINUX; } return this._deviceFontMetrics[g.resolveFontName(a)]; }; g.resolveFontName = function(a) { return "_sans" === a ? "sans-serif" : "_serif" === a ? "serif" : "_typewriter" === a ? "monospace" : a; }; g.getBySymbolId = function(a) { return this._fontsBySymbolId[a]; }; g.getByName = function(b) { b = b.toLowerCase(); var c = this._fontsByName[b]; c || (c = new g, c._fontName = b, c._fontStyle = d.REGULAR, c._fontType = a.DEVICE, this._fontsByName[b] = c); c._fontType === a.DEVICE && (b = g._getFontMetrics(b)) && (c.ascent = b[0], c.descent = b[1], c.leading = b[2]); return c; }; g.getDefaultFont = function() { return g.getByName("times roman"); }; g.enumerateFonts = function(a) { s("public flash.text.Font::static enumerateFonts"); return g._fonts.slice(); }; g.registerFont = function(a) { s("Font.registerFont"); }; Object.defineProperty(g.prototype, "fontName", {get:function() { return this._fontName; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "fontStyle", {get:function() { return this._fontStyle; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "fontType", {get:function() { return this._fontType; }, enumerable:!0, configurable:!0}); g.prototype.hasGlyphs = function(a) { m(a); s("Font#hasGlyphs"); return!0; }; g.classInitializer = function() { g._fonts = []; g._fontsBySymbolId = b.ObjectUtilities.createMap(); g._fontsByName = b.ObjectUtilities.createMap(); g.DEVICE_FONT_METRICS_WIN = {serif:[1, .25, 0], "sans-serif":[1, .25, 0], monospace:[1, .25, 0], "birch std":[.9167, .25, 0], "blackoak std":[1, .3333, 0], "chaparral pro":[.8333, .3333, 0], "chaparral pro light":[.8333, .3333, 0], "charlemagne std":[.9167, .25, 0], "cooper std black":[.9167, .25, 0], "giddyup std":[.8333, .3333, 0], "hobo std":[1.0833, .3333, 0], "kozuka gothic pro b":[1, .4167, 0], "kozuka gothic pro el":[1.0833, .25, 0], "kozuka gothic pro h":[1, .4167, 0], "kozuka gothic pro l":[1, .3333, 0], "kozuka gothic pro m":[1.0833, .3333, 0], "kozuka gothic pro r":[1, .3333, 0], "kozuka mincho pro b":[1.0833, .25, 0], "kozuka mincho pro el":[1.0833, .25, 0], "kozuka mincho pro h":[1.1667, .25, 0], "kozuka mincho pro l":[1.0833, .25, 0], "kozuka mincho pro m":[1.0833, .25, 0], "kozuka mincho pro r":[1.0833, .25, 0], "mesquite std":[.9167, .25, 0], "minion pro cond":[1, .3333, 0], "minion pro med":[1, .3333, 0], "minion pro smbd":[1, .3333, 0], "myriad arabic":[1, .4167, 0], "nueva std":[.75, .25, 0], "nueva std cond":[.75, .25, 0], "ocr a std":[.8333, .25, 0], "orator std":[1.0833, .25, 0], "poplar std":[.9167, .25, 0], "prestige elite std":[.9167, .25, 0], "rosewood std regular":[.8333, .3333, 0], "stencil std":[1, .3333, 0], "trajan pro":[1, .25, 0], "kozuka gothic pr6n b":[1.4167, .4167, 0], "kozuka gothic pr6n el":[1.4167, .3333, 0], "kozuka gothic pr6n h":[1.4167, .4167, 0], "kozuka gothic pr6n l":[1.4167, .3333, 0], "kozuka gothic pr6n m":[1.5, .3333, 0], "kozuka gothic pr6n r":[1.4167, .3333, 0], "kozuka mincho pr6n b":[1.3333, .3333, 0], "kozuka mincho pr6n el":[1.3333, .3333, 0], "kozuka mincho pr6n h":[1.4167, .3333, 0], "kozuka mincho pr6n l":[1.3333, .3333, 0], "kozuka mincho pr6n m":[1.3333, .3333, 0], "kozuka mincho pr6n r":[1.3333, .3333, 0], "letter gothic std":[1, .25, 0], "minion pro":[1, .3333, 0], "myriad hebrew":[.8333, .3333, 0], "myriad pro":[.9167, .25, 0], "myriad pro cond":[.9167, .25, 0], "myriad pro light":[1, .25, 0], marlett:[1, 0, 0], arial:[1, .25, 0], "arabic transparent":[1, .25, 0], "arial baltic":[1, .25, 0], "arial ce":[1, .25, 0], "arial cyr":[1, .25, 0], "arial greek":[1, .25, 0], "arial tur":[1, .25, 0], batang:[.8333, .1667, 0], batangche:[.8333, .1667, 0], gungsuh:[.8333, .1667, 0], gungsuhche:[.8333, .1667, 0], "courier new":[1, .25, 0], "courier new baltic":[1, .25, 0], "courier new ce":[1, .25, 0], "courier new cyr":[1, .25, 0], "courier new greek":[1, .25, 0], "courier new tur":[1, .25, 0], daunpenh:[.6667, .6667, 0], dokchampa:[1.4167, .5833, 0], "estrangelo edessa":[.75, .3333, 0], euphemia:[1.0833, .3333, 0], gautami:[1.1667, .8333, 0], vani:[1.0833, .75, 0], gulim:[.8333, .1667, 0], gulimche:[.8333, .1667, 0], dotum:[.8333, .1667, 0], dotumche:[.8333, .1667, 0], impact:[1.0833, .25, 0], "iskoola pota":[1, .3333, 0], kalinga:[1.0833, .5, 0], kartika:[1, .4167, 0], "khmer ui":[1.0833, .3333, 0], "lao ui":[1, .25, 0], latha:[1.0833, .4167, 0], "lucida console":[.75, .25, 0], "malgun gothic":[1, .25, 0], mangal:[1.0833, .3333, 0], meiryo:[1.0833, .4167, 0], "meiryo ui":[1, .25, 0], "microsoft himalaya":[.5833, .4167, 0], "microsoft jhenghei":[1, .3333, 0], "microsoft yahei":[1.0833, .3333, 0], mingliu:[.8333, .1667, 0], pmingliu:[.8333, .1667, 0], mingliu_hkscs:[.8333, .1667, 0], "mingliu-extb":[.8333, .1667, 0], "pmingliu-extb":[.8333, .1667, 0], "mingliu_hkscs-extb":[.8333, .1667, 0], "mongolian baiti":[.8333, .25, 0], "ms gothic":[.8333, .1667, 0], "ms pgothic":[.8333, .1667, 0], "ms ui gothic":[.8333, .1667, 0], "ms mincho":[.8333, .1667, 0], "ms pmincho":[.8333, .1667, 0], "mv boli":[1.1667, .25, 0], "microsoft new tai lue":[1, .4167, 0], nyala:[.9167, .3333, 0], "microsoft phagspa":[1.0833, .25, 0], "plantagenet cherokee":[1, .4167, 0], raavi:[1.0833, .6667, 0], "segoe script":[1.0833, .5, 0], "segoe ui":[1, .25, 0], "segoe ui semibold":[1, .25, 0], "segoe ui light":[1, .25, 0], "segoe ui symbol":[1, .25, 0], shruti:[1.0833, .5, 0], simsun:[.8333, .1667, 0], nsimsun:[.8333, .1667, 0], "simsun-extb":[.8333, .1667, 0], sylfaen:[1, .3333, 0], "microsoft tai le":[1, .3333, 0], "times new roman":[1, .25, 0], "times new roman baltic":[1, .25, 0], "times new roman ce":[1, .25, 0], "times new roman cyr":[1, .25, 0], "times new roman greek":[1, .25, 0], "times new roman tur":[1, .25, 0], tunga:[1.0833, .75, 0], vrinda:[1, .4167, 0], "shonar bangla":[.8333, .5, 0], "microsoft yi baiti":[.8333, .1667, 0], tahoma:[1, .1667, 0], "microsoft sans serif":[1.0833, .1667, 0], "angsana new":[.9167, .4167, 0], aparajita:[.75, .4167, 0], "cordia new":[.9167, .5, 0], ebrima:[1.0833, .5, 0], gisha:[.9167, .25, 0], kokila:[.8333, .3333, 0], leelawadee:[.9167, .25, 0], "microsoft uighur":[1.0833, .5, 0], moolboran:[.6667, .6667, 0], symbol:[1, .25, 0], utsaah:[.8333, .4167, 0], vijaya:[1.0833, .25, 0], wingdings:[.9167, .25, 0], andalus:[1.3333, .4167, 0], "arabic typesetting":[.8333, .5, 0], "simplified arabic":[1.3333, .5, 0], "simplified arabic fixed":[1, .4167, 0], "sakkal majalla":[.9167, .5, 0], "traditional arabic":[1.3333, .5, 0], aharoni:[.75, .25, 0], david:[.75, .25, 0], frankruehl:[.75, .25, 0], fangsong:[.8333, .1667, 0], simhei:[.8333, .1667, 0], kaiti:[.8333, .1667, 0], "browallia new":[.8333, .4167, 0], "lucida sans unicode":[1.0833, .25, 0], "arial black":[1.0833, .3333, 0], calibri:[.9167, .25, 0], cambria:[.9167, .25, 0], "cambria math":[3.0833, 2.5, 0], candara:[.9167, .25, 0], "comic sans ms":[1.0833, .3333, 0], consolas:[.9167, .25, 0], constantia:[.9167, .25, 0], corbel:[.9167, .25, 0], "franklin gothic medium":[1, .3333, 0], gabriola:[1.1667, .6667, 0], georgia:[1, .25, 0], "palatino linotype":[1.0833, .3333, 0], "segoe print":[1.25, .5, 0], "trebuchet ms":[1.0833, .4167, 0], verdana:[1, .1667, 0], webdings:[1.0833, .5, 0], "lucida bright":[.9167, .25, 0], "lucida sans":[.9167, .25, 0], "lucida sans typewriter":[.9167, .25, 0], "gentium basic":[.8333, .25, 0], "dejavu serif condensed":[.9167, .25, 0], arimo:[1, .25, 0], "dejavu sans condensed":[.9167, .25, 0], "dejavu sans":[.9167, .25, 0], "dejavu sans light":[.9167, .25, 0], opensymbol:[.8333, .1667, 0], "gentium book basic":[.8333, .25, 0], "dejavu sans mono":[.9167, .25, 0], "dejavu serif":[.9167, .25, 0], "calibri light":[.9167, .25, 0]}; g.DEVICE_FONT_METRICS_MAC = {"al bayan plain":[1, .5, 0], "al bayan bold":[1, .5833, 0], "american typewriter":[.9167, .25, 0], "american typewriter bold":[.9167, .25, 0], "american typewriter condensed":[.9167, .25, 0], "american typewriter condensed bold":[.9167, .25, 0], "american typewriter condensed light":[.8333, .25, 0], "american typewriter light":[.9167, .25, 0], "andale mono":[.9167, .25, 0], "apple symbols":[.6667, .25, 0], "arial bold italic":[.9167, .25, 0], "arial bold":[.9167, .25, 0], "arial italic":[.9167, .25, 0], "arial hebrew":[.75, .3333, 0], "arial hebrew bold":[.75, .3333, 0], arial:[.9167, .25, 0], "arial narrow":[.9167, .25, 0], "arial narrow bold":[.9167, .25, 0], "arial narrow bold italic":[.9167, .25, 0], "arial narrow italic":[.9167, .25, 0], "arial rounded mt bold":[.9167, .25, 0], "arial unicode ms":[1.0833, .25, 0], "avenir black":[1, .3333, 0], "avenir black oblique":[1, .3333, 0], "avenir book":[1, .3333, 0], "avenir book oblique":[1, .3333, 0], "avenir heavy":[1, .3333, 0], "avenir heavy oblique":[1, .3333, 0], "avenir light":[1, .3333, 0], "avenir light oblique":[1, .3333, 0], "avenir medium":[1, .3333, 0], "avenir medium oblique":[1, .3333, 0], "avenir oblique":[1, .3333, 0], "avenir roman":[1, .3333, 0], "avenir next bold":[1, .3333, 0], "avenir next bold italic":[1, .3333, 0], "avenir next demi bold":[1, .3333, 0], "avenir next demi bold italic":[1, .3333, 0], "avenir next heavy":[1, .3333, 0], "avenir next heavy italic":[1, .3333, 0], "avenir next italic":[1, .3333, 0], "avenir next medium":[1, .3333, 0], "avenir next medium italic":[1, .3333, 0], "avenir next regular":[1, .3333, 0], "avenir next ultra light":[1, .3333, 0], "avenir next ultra light italic":[1, .3333, 0], "avenir next condensed bold":[1, .3333, 0], "avenir next condensed bold italic":[1, .3333, 0], "avenir next condensed demi bold":[1, .3333, 0], "avenir next condensed demi bold italic":[1, .3333, 0], "avenir next condensed heavy":[1, .3333, 0], "avenir next condensed heavy italic":[1, .3333, 0], "avenir next condensed italic":[1, .3333, 0], "avenir next condensed medium":[1, .3333, 0], "avenir next condensed medium italic":[1, .3333, 0], "avenir next condensed regular":[1, .3333, 0], "avenir next condensed ultra light":[1, .3333, 0], "avenir next condensed ultra light italic":[1, .3333, 0], ayuthaya:[1.0833, .3333, 0], baghdad:[.9167, .4167, 0], "bangla mn":[.9167, .6667, 0], "bangla mn bold":[.9167, .6667, 0], "bangla sangam mn":[.9167, .4167, 0], "bangla sangam mn bold":[.9167, .4167, 0], baskerville:[.9167, .25, 0], "baskerville bold":[.9167, .25, 0], "baskerville bold italic":[.9167, .25, 0], "baskerville italic":[.9167, .25, 0], "baskerville semibold":[.9167, .25, 0], "baskerville semibold italic":[.9167, .25, 0], "big caslon medium":[.9167, .25, 0], "brush script mt italic":[.9167, .3333, 0], chalkboard:[1, .25, 0], "chalkboard bold":[1, .25, 0], "chalkboard se bold":[1.1667, .25, 0], "chalkboard se light":[1.1667, .25, 0], "chalkboard se regular":[1.1667, .25, 0], chalkduster:[1, .25, 0], "charcoal cy":[1, .25, 0], cochin:[.9167, .25, 0], "cochin bold":[.9167, .25, 0], "cochin bold italic":[.9167, .25, 0], "cochin italic":[.9167, .25, 0], "comic sans ms":[1.0833, .25, 0], "comic sans ms bold":[1.0833, .25, 0], copperplate:[.75, .25, 0], "copperplate bold":[.75, .25, 0], "copperplate light":[.75, .25, 0], "corsiva hebrew":[.6667, .3333, 0], "corsiva hebrew bold":[.6667, .3333, 0], courier:[.75, .25, 0], "courier bold":[.75, .25, 0], "courier bold oblique":[.75, .25, 0], "courier oblique":[.75, .25, 0], "courier new bold italic":[.8333, .3333, 0], "courier new bold":[.8333, .3333, 0], "courier new italic":[.8333, .3333, 0], "courier new":[.8333, .3333, 0], biaukai:[.8333, .1667, 0], damascus:[.5833, .4167, 0], "damascus bold":[.5833, .4167, 0], "decotype naskh":[1.1667, .6667, 0], "devanagari mt":[.9167, .6667, 0], "devanagari mt bold":[.9167, .6667, 0], "devanagari sangam mn":[.9167, .4167, 0], "devanagari sangam mn bold":[.9167, .4167, 0], didot:[.9167, .3333, 0], "didot bold":[1, .3333, 0], "didot italic":[.9167, .25, 0], "euphemia ucas":[1.0833, .25, 0], "euphemia ucas bold":[1.0833, .25, 0], "euphemia ucas italic":[1.0833, .25, 0], "futura condensed extrabold":[1, .25, 0], "futura condensed medium":[1, .25, 0], "futura medium":[1, .25, 0], "futura medium italic":[1, .25, 0], "gb18030 bitmap":[1, .6667, 0], "geeza pro":[.9167, .3333, 0], "geeza pro bold":[.9167, .3333, 0], geneva:[1, .25, 0], "geneva cy":[1, .25, 0], georgia:[.9167, .25, 0], "georgia bold":[.9167, .25, 0], "georgia bold italic":[.9167, .25, 0], "georgia italic":[.9167, .25, 0], "gill sans":[.9167, .25, 0], "gill sans bold":[.9167, .25, 0], "gill sans bold italic":[.9167, .25, 0], "gill sans italic":[.9167, .25, 0], "gill sans light":[.9167, .25, 0], "gill sans light italic":[.9167, .25, 0], "gujarati mt":[.9167, .6667, 0], "gujarati mt bold":[.9167, .6667, 0], "gujarati sangam mn":[.8333, .4167, 0], "gujarati sangam mn bold":[.8333, .4167, 0], "gurmukhi mn":[.9167, .25, 0], "gurmukhi mn bold":[.9167, .25, 0], "gurmukhi sangam mn":[.9167, .3333, 0], "gurmukhi sangam mn bold":[.9167, .3333, 0], helvetica:[.75, .25, 0], "helvetica bold":[.75, .25, 0], "helvetica bold oblique":[.75, .25, 0], "helvetica light":[.75, .25, 0], "helvetica light oblique":[.75, .25, 0], "helvetica oblique":[.75, .25, 0], "helvetica neue":[.9167, .25, 0], "helvetica neue bold":[1, .25, 0], "helvetica neue bold italic":[1, .25, 0], "helvetica neue condensed black":[1, .25, 0], "helvetica neue condensed bold":[1, .25, 0], "helvetica neue italic":[.9167, .25, 0], "helvetica neue light":[1, .25, 0], "helvetica neue light italic":[.9167, .25, 0], "helvetica neue medium":[1, .25, 0], "helvetica neue ultralight":[.9167, .25, 0], "helvetica neue ultralight italic":[.9167, .25, 0], herculanum:[.8333, .1667, 0], "hiragino kaku gothic pro w3":[.9167, .0833, 0], "hiragino kaku gothic pro w6":[.9167, .0833, 0], "hiragino kaku gothic pron w3":[.9167, .0833, 0], "hiragino kaku gothic pron w6":[.9167, .0833, 0], "hiragino kaku gothic std w8":[.9167, .0833, 0], "hiragino kaku gothic stdn w8":[.9167, .0833, 0], "hiragino maru gothic pro w4":[.9167, .0833, 0], "hiragino maru gothic pron w4":[.9167, .0833, 0], "hiragino mincho pro w3":[.9167, .0833, 0], "hiragino mincho pro w6":[.9167, .0833, 0], "hiragino mincho pron w3":[.9167, .0833, 0], "hiragino mincho pron w6":[.9167, .0833, 0], "hiragino sans gb w3":[.9167, .0833, 0], "hiragino sans gb w6":[.9167, .0833, 0], "hoefler text black":[.75, .25, 0], "hoefler text black italic":[.75, .25, 0], "hoefler text italic":[.75, .25, 0], "hoefler text ornaments":[.8333, .1667, 0], "hoefler text":[.75, .25, 0], impact:[1, .25, 0], inaimathi:[.8333, .4167, 0], "headlinea regular":[.8333, .1667, 0], "pilgi regular":[.8333, .25, 0], "gungseo regular":[.8333, .25, 0], "pcmyungjo regular":[.8333, .25, 0], "kailasa regular":[1.0833, .5833, 0], "kannada mn":[.9167, .25, 0], "kannada mn bold":[.9167, .25, 0], "kannada sangam mn":[1, .5833, 0], "kannada sangam mn bold":[1, .5833, 0], "kefa bold":[.9167, .25, 0], "kefa regular":[.9167, .25, 0], "khmer mn":[1, .6667, 0], "khmer mn bold":[1, .6667, 0], "khmer sangam mn":[1.0833, .6667, 0], "kokonor regular":[1.0833, .5833, 0], krungthep:[1, .25, 0], kufistandardgk:[.9167, .5, 0], "lao mn":[.9167, .4167, 0], "lao mn bold":[.9167, .4167, 0], "lao sangam mn":[1, .3333, 0], "apple ligothic medium":[.8333, .1667, 0], "lihei pro":[.8333, .1667, 0], "lisong pro":[.8333, .1667, 0], "lucida grande":[1, .25, 0], "lucida grande bold":[1, .25, 0], "malayalam mn":[1, .4167, 0], "malayalam mn bold":[1, .4167, 0], "malayalam sangam mn":[.8333, .4167, 0], "malayalam sangam mn bold":[.8333, .4167, 0], "marion bold":[.6667, .3333, 0], "marion italic":[.6667, .3333, 0], "marion regular":[.6667, .3333, 0], "marker felt thin":[.8333, .25, 0], "marker felt wide":[.9167, .25, 0], "menlo bold":[.9167, .25, 0], "menlo bold italic":[.9167, .25, 0], "menlo italic":[.9167, .25, 0], "menlo regular":[.9167, .25, 0], "microsoft sans serif":[.9167, .25, 0], monaco:[1, .25, 0], "gurmukhi mt":[.8333, .4167, 0], mshtakan:[.9167, .25, 0], "mshtakan bold":[.9167, .25, 0], "mshtakan boldoblique":[.9167, .25, 0], "mshtakan oblique":[.9167, .25, 0], "myanmar mn":[1, .4167, 0], "myanmar mn bold":[1, .4167, 0], "myanmar sangam mn":[.9167, .4167, 0], nadeem:[.9167, .4167, 0], "nanum brush script":[.9167, .25, 0], nanumgothic:[.9167, .25, 0], "nanumgothic bold":[.9167, .25, 0], "nanumgothic extrabold":[.9167, .25, 0], nanummyeongjo:[.9167, .25, 0], "nanummyeongjo bold":[.9167, .25, 0], "nanummyeongjo extrabold":[.9167, .25, 0], "nanum pen script":[.9167, .25, 0], "optima bold":[.9167, .25, 0], "optima bold italic":[.9167, .25, 0], "optima extrablack":[1, .25, 0], "optima italic":[.9167, .25, 0], "optima regular":[.9167, .25, 0], "oriya mn":[.9167, .25, 0], "oriya mn bold":[.9167, .25, 0], "oriya sangam mn":[.8333, .4167, 0], "oriya sangam mn bold":[.8333, .4167, 0], osaka:[1, .25, 0], "osaka-mono":[.8333, .1667, 0], "palatino bold":[.8333, .25, 0], "palatino bold italic":[.8333, .25, 0], "palatino italic":[.8333, .25, 0], palatino:[.8333, .25, 0], papyrus:[.9167, .5833, 0], "papyrus condensed":[.9167, .5833, 0], "plantagenet cherokee":[.6667, .25, 0], raanana:[.75, .25, 0], "raanana bold":[.75, .25, 0], "hei regular":[.8333, .1667, 0], "kai regular":[.8333, .1667, 0], stfangsong:[.8333, .1667, 0], stheiti:[.8333, .1667, 0], "heiti sc light":[.8333, .1667, 0], "heiti sc medium":[.8333, .1667, 0], "heiti tc light":[.8333, .1667, 0], "heiti tc medium":[.8333, .1667, 0], stkaiti:[.8333, .1667, 0], "kaiti sc black":[1.0833, .3333, 0], "kaiti sc bold":[1.0833, .3333, 0], "kaiti sc regular":[1.0833, .3333, 0], stsong:[.8333, .1667, 0], "songti sc black":[1.0833, .3333, 0], "songti sc bold":[1.0833, .3333, 0], "songti sc light":[1.0833, .3333, 0], "songti sc regular":[1.0833, .3333, 0], stxihei:[.8333, .1667, 0], sathu:[.9167, .3333, 0], silom:[1, .3333, 0], "sinhala mn":[.9167, .25, 0], "sinhala mn bold":[.9167, .25, 0], "sinhala sangam mn":[1.1667, .3333, 0], "sinhala sangam mn bold":[1.1667, .3333, 0], "skia regular":[.75, .25, 0], symbol:[.6667, .3333, 0], "tahoma negreta":[1, .1667, 0], "tamil mn":[.9167, .25, 0], "tamil mn bold":[.9167, .25, 0], "tamil sangam mn":[.75, .25, 0], "tamil sangam mn bold":[.75, .25, 0], "telugu mn":[.9167, .25, 0], "telugu mn bold":[.9167, .25, 0], "telugu sangam mn":[1, .5833, 0], "telugu sangam mn bold":[1, .5833, 0], thonburi:[1.0833, .25, 0], "thonburi bold":[1.0833, .25, 0], "times bold":[.75, .25, 0], "times bold italic":[.75, .25, 0], "times italic":[.75, .25, 0], "times roman":[.75, .25, 0], "times new roman bold italic":[.9167, .25, 0], "times new roman bold":[.9167, .25, 0], "times new roman italic":[.9167, .25, 0], "times new roman":[.9167, .25, 0], "trebuchet ms bold italic":[.9167, .25, 0], "trebuchet ms":[.9167, .25, 0], "trebuchet ms bold":[.9167, .25, 0], "trebuchet ms italic":[.9167, .25, 0], verdana:[1, .25, 0], "verdana bold":[1, .25, 0], "verdana bold italic":[1, .25, 0], "verdana italic":[1, .25, 0], webdings:[.8333, .1667, 0], "wingdings 2":[.8333, .25, 0], "wingdings 3":[.9167, .25, 0], "yuppy sc regular":[1.0833, .3333, 0], "yuppy tc regular":[1.0833, .3333, 0], "zapf dingbats":[.8333, .1667, 0], zapfino:[1.9167, 1.5, 0]}; g.DEVICE_FONT_METRICS_LINUX = {kacstfarsi:[1.0831, .5215, 0], meera:[.682, .4413, 0], freemono:[.8023, .2006, 0], undotum:[1.0029, .2808, 0], loma:[1.1634, .4814, 0], "century schoolbook l":[1.0029, .3209, 0], kacsttitlel:[1.0831, .5215, 0], undinaru:[1.0029, .2407, 0], ungungseo:[1.0029, .2808, 0], garuda:[1.3238, .6017, 0], rekha:[1.1232, .2808, 0], purisa:[1.1232, .5215, 0], "dejavu sans mono":[.9628, .2407, 0], vemana2000:[.8825, .8424, 0], kacstoffice:[1.0831, .5215, 0], umpush:[1.2837, .682, 0], opensymbol:[.8023, .2006, 0], sawasdee:[1.1232, .4413, 0], "urw palladio l":[1.0029, .3209, 0], freeserif:[.9227, .3209, 0], kacstdigital:[1.0831, .5215, 0], "ubuntu condensed":[.9628, .2006, 0], unpilgi:[1.0029, .4413, 0], mry_kacstqurn:[1.4442, .7221, 0], "urw gothic l":[1.0029, .2407, 0], dingbats:[.8424, .1605, 0], "urw chancery l":[1.0029, .3209, 0], "phetsarath ot":[1.0831, .5215, 0], "tlwg typist":[.8825, .4012, 0], kacstletter:[1.0831, .5215, 0], utkal:[1.2035, .6418, 0], "dejavu sans light":[.9628, .2407, 0], norasi:[1.2436, .5215, 0], "dejavu serif condensed":[.9628, .2407, 0], kacstone:[1.2436, .6418, 0], "liberation sans narrow":[.9628, .2407, 0], symbol:[1.043, .3209, 0], nanummyeongjo:[.9227, .2407, 0], untitled1:[.682, .5616, 0], "lohit gujarati":[.9628, .4012, 0], "liberation mono":[.8424, .3209, 0], kacstart:[1.0831, .5215, 0], mallige:[1.0029, .682, 0], "bitstream charter":[1.0029, .2407, 0], nanumgothic:[.9227, .2407, 0], "liberation serif":[.9227, .2407, 0], "dejavu sans condensed":[.9628, .2407, 0], ubuntu:[.9628, .2006, 0], "courier 10 pitch":[.8825, .3209, 0], "nimbus sans l":[.9628, .3209, 0], takaopgothic:[.8825, .2006, 0], "wenquanyi micro hei mono":[.9628, .2407, 0], "dejavu sans":[.9628, .2407, 0], kedage:[1.0029, .682, 0], kinnari:[1.3238, .5215, 0], tlwgmono:[.8825, .4012, 0], "standard symbols l":[1.043, .3209, 0], "lohit punjabi":[1.2035, .682, 0], "nimbus mono l":[.8424, .2808, 0], rachana:[.682, .5616, 0], waree:[1.2436, .4413, 0], kacstposter:[1.0831, .5215, 0], "khmer os":[1.2837, .7622, 0], freesans:[1.0029, .3209, 0], gargi:[.9628, .2808, 0], "nimbus roman no9 l":[.9628, .3209, 0], "dejavu serif":[.9628, .2407, 0], "wenquanyi micro hei":[.9628, .2407, 0], "ubuntu light":[.9628, .2006, 0], tlwgtypewriter:[.9227, .4012, 0], kacstpen:[1.0831, .5215, 0], "tlwg typo":[.8825, .4012, 0], "mukti narrow":[1.2837, .4413, 0], "ubuntu mono":[.8424, .2006, 0], "lohit bengali":[1.0029, .4413, 0], "liberation sans":[.9227, .2407, 0], unbatang:[1.0029, .2808, 0], kacstdecorative:[1.1232, .5215, 0], "khmer os system":[1.2436, .6017, 0], saab:[1.0029, .682, 0], kacsttitle:[1.0831, .5215, 0], "mukti narrow bold":[1.2837, .4413, 0], "lohit hindi":[1.0029, .5215, 0], kacstqurn:[1.0831, .5215, 0], "urw bookman l":[.9628, .2808, 0], kacstnaskh:[1.0831, .5215, 0], kacstscreen:[1.0831, .5215, 0], pothana2000:[.8825, .8424, 0], ungraphic:[1.0029, .2808, 0], "lohit tamil":[.8825, .361, 0], kacstbook:[1.0831, .5215, 0]}; g.DEVICE_FONT_METRICS_MAC.__proto__ = g.DEVICE_FONT_METRICS_WIN; g.DEVICE_FONT_METRICS_LINUX.__proto__ = g.DEVICE_FONT_METRICS_MAC; }; g.classSymbols = null; g.instanceSymbols = null; g.initializer = function(b) { this._id = f.display.DisplayObject.getNextSyncID(); this._fontType = this._fontStyle = this._fontName = null; this.leading = this.descent = this.ascent = 0; this.advances = null; if (b) { this._symbol = b; this._fontName = b.name; this._fontStyle = b.bold ? b.italic ? d.BOLD_ITALIC : d.BOLD : b.italic ? d.ITALIC : d.REGULAR; var c = b.metrics; c && (this.ascent = c.ascent, this.descent = c.descent, this.leading = c.leading, this.advances = c.advances); this._fontType = b.data ? a.EMBEDDED : a.DEVICE; g._fontsBySymbolId[b.id] = this; g._fontsByName[b.name.toLowerCase()] = this; g._fontsByName["swffont" + b.id] = this; } }; return g; }(g.ASNative); k.Font = c; })(f.text || (f.text = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.fromNumber = function(a) { switch(a) { case 0: return d.NONE; case 1: return d.PIXEL; case 2: return d.SUBPIXEL; default: return null; } }; d.toNumber = function(a) { switch(a) { case d.NONE: return 0; case d.PIXEL: return 1; case d.SUBPIXEL: return 2; default: return-1; } }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.NONE = "none"; d.PIXEL = "pixel"; d.SUBPIXEL = "subpixel"; return d; }(b.ASNative); f.GridFitType = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(b) { (function(g) { var k = function(g) { function d() { b.display.DisplayObject.instanceConstructorNoInitialize.call(this); } __extends(d, g); d.prototype._canHaveTextContent = function() { return!0; }; d.prototype._getTextContent = function() { return this._textContent; }; Object.defineProperty(d.prototype, "text", {get:function() { return this._textContent.plainText; }, enumerable:!0, configurable:!0}); d.classInitializer = null; d.classSymbols = null; d.instanceSymbols = null; d.initializer = function(a) { this._textContent = null; a && this._setStaticContentFromSymbol(a); }; return d; }(b.display.DisplayObject); g.StaticText = k; })(b.text || (b.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.text.StyleSheet"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.StyleSheet = m; })(f.text || (f.text = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.LCD = "lcd"; d.CRT = "crt"; d.DEFAULT = "default"; return d; }(b.ASNative); f.TextDisplayMode = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = b.Debug.notImplemented, m = b.Debug.assert, d = b.Debug.somewhatImplemented, a = b.AVM2.Runtime.throwError, c = b.AVM2.Runtime.asCoerceString, n = b.NumberUtilities.clamp, p = function(e) { function p() { e.call(this); s("Dummy Constructor: public flash.text.TextField"); } __extends(p, e); p.prototype._setFillAndLineBoundsFromSymbol = function(a) { e.prototype._setFillAndLineBoundsFromSymbol.call(this, a); this._textContent.bounds = this._lineBounds; this._invalidateContent(); }; p.prototype._setFillAndLineBoundsFromWidthAndHeight = function(a, b) { e.prototype._setFillAndLineBoundsFromWidthAndHeight.call(this, a, b); this._textContent.bounds = this._lineBounds; this._invalidateContent(); }; p.prototype._canHaveTextContent = function() { return!0; }; p.prototype._getTextContent = function() { return this._textContent; }; p.prototype._getContentBounds = function(a) { "undefined" === typeof a && (a = !0); this._ensureLineMetrics(); return e.prototype._getContentBounds.call(this, a); }; p.prototype._containsPointDirectly = function(a, b) { m(this._getContentBounds().contains(a, b)); return!0; }; p.prototype._invalidateContent = function() { this._textContent.flags & b.TextContentFlags.Dirty && this._setFlags(8388608); }; p.isFontCompatible = function(a, b) { c(a); c(b); d("flash.text.TextField.isFontCompatible"); return!0; }; Object.defineProperty(p.prototype, "alwaysShowSelection", {get:function() { return this._alwaysShowSelection; }, set:function(a) { d("public flash.text.TextField::set alwaysShowSelection"); this._alwaysShowSelection = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "antiAliasType", {get:function() { return this._antiAliasType; }, set:function(b) { d("public flash.text.TextField::set antiAliasType"); b = c(b); 0 > g.AntiAliasType.toNumber(b) && a("ArgumentError", k.Errors.InvalidParamError, "antiAliasType"); this._antiAliasType = b; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "autoSize", {get:function() { return this._autoSize; }, set:function(b) { b = c(b); b !== this._autoSize && (0 > g.TextFieldAutoSize.toNumber(b) && a("ArgumentError", k.Errors.InvalidParamError, "autoSize"), this._autoSize = b, this._textContent.autoSize = g.TextFieldAutoSize.toNumber(b), this._invalidateContent()); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "background", {get:function() { return this._background; }, set:function(a) { a = !!a; a !== this._background && (this._background = a, this._textContent.backgroundColor = a ? this._backgroundColor : 0, this._setDirtyFlags(8388608)); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "backgroundColor", {get:function() { return this._backgroundColor >> 8; }, set:function(a) { a = (a << 8 | 255) >>> 0; a !== this._backgroundColor && (this._backgroundColor = a, this._background && (this._textContent.backgroundColor = a, this._setDirtyFlags(8388608))); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "border", {get:function() { return this._border; }, set:function(a) { a = !!a; a !== this._border && (this._border = a, this._textContent.borderColor = a ? this._borderColor : 0, this._setDirtyFlags(8388608)); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "borderColor", {get:function() { return this._borderColor >> 8; }, set:function(a) { a = (a << 8 | 255) >>> 0; a !== this._borderColor && (this._borderColor = a, this._border && (this._textContent.borderColor = a, this._setDirtyFlags(8388608))); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "bottomScrollV", {get:function() { s("public flash.text.TextField::get bottomScrollV"); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "caretIndex", {get:function() { s("public flash.text.TextField::get caretIndex"); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "condenseWhite", {get:function() { d("public flash.text.TextField::get condenseWhite"); return this._condenseWhite; }, set:function(a) { this._condenseWhite = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "defaultTextFormat", {get:function() { return this._textContent.defaultTextFormat.clone(); }, set:function(a) { this._textContent.defaultTextFormat.merge(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "embedFonts", {get:function() { return this._embedFonts; }, set:function(a) { this._embedFonts = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "gridFitType", {get:function() { d("public flash.text.TextField::get gridFitType"); return this._gridFitType; }, set:function(a) { a = c(a); m(0 <= f.text.GridFitType.toNumber(a)); d("public flash.text.TextField::set gridFitType"); this._gridFitType = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "htmlText", {get:function() { return this._htmlText; }, set:function(a) { d("public flash.text.TextField::set htmlText"); a = c(a); this._symbol && (this._textContent.defaultTextFormat.bold = !1, this._textContent.defaultTextFormat.italic = !1); this._textContent.parseHtml(a, this._multiline); this._htmlText = a; this._invalidateContent(); this._ensureLineMetrics(); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "length", {get:function() { return this._length; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "textInteractionMode", {get:function() { s("public flash.text.TextField::get textInteractionMode"); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "maxChars", {get:function() { return this._maxChars; }, set:function(a) { this._maxChars = a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "maxScrollH", {get:function() { return this._maxScrollH; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "maxScrollV", {get:function() { return this._maxScrollV; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "mouseWheelEnabled", {get:function() { return this._mouseWheelEnabled; }, set:function(a) { d("public flash.text.TextField::set mouseWheelEnabled"); this._mouseWheelEnabled = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "multiline", {get:function() { return this._multiline; }, set:function(a) { this._multiline = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "numLines", {get:function() { return this._numLines; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "displayAsPassword", {get:function() { return this._displayAsPassword; }, set:function(a) { d("public flash.text.TextField::set displayAsPassword"); this._displayAsPassword = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "restrict", {get:function() { return this._restrict; }, set:function(a) { d("public flash.text.TextField::set restrict"); this._restrict = c(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "scrollH", {get:function() { d("public flash.text.TextField::get scrollH"); return this._scrollH; }, set:function(a) { a |= 0; d("public flash.text.TextField::set scrollH"); this._scrollH = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "scrollV", {get:function() { d("public flash.text.TextField::get scrollV"); return this._scrollV; }, set:function(a) { a |= 0; d("public flash.text.TextField::set scrollV"); this._scrollV = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "selectable", {get:function() { return this._selectable; }, set:function(a) { d("public flash.text.TextField::set selectable"); this._selectable = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "selectionBeginIndex", {get:function() { return this._selectionBeginIndex; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "selectionEndIndex", {get:function() { return this._selectionEndIndex; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "sharpness", {get:function() { return this._sharpness; }, set:function(a) { this._sharpness = n(+a, -400, 400); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "styleSheet", {get:function() { s("public flash.text.TextField::get styleSheet"); }, set:function(a) { s("public flash.text.TextField::set styleSheet"); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "text", {get:function() { return this._textContent.plainText; }, set:function(a) { d("public flash.text.TextField::set text"); this._textContent.plainText = c(a); this._invalidateContent(); this._ensureLineMetrics(); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "textColor", {get:function() { return 0 > this._textColor ? +this._textContent.defaultTextFormat.color : this._textColor; }, set:function(a) { this._textColor = a >>> 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "textHeight", {get:function() { this._ensureLineMetrics(); return this._textHeight / 20 | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "textWidth", {get:function() { this._ensureLineMetrics(); return this._textWidth / 20 | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "thickness", {get:function() { return this._thickness; }, set:function(a) { this._thickness = n(+a, -200, 200); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "type", {get:function() { return this._type; }, set:function(a) { this._type = c(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "wordWrap", {get:function() { return this._textContent.wordWrap; }, set:function(a) { a = !!a; a !== this._textContent.wordWrap && (this._textContent.wordWrap = !!a, this._invalidateContent()); }, enumerable:!0, configurable:!0}); Object.defineProperty(p.prototype, "useRichTextClipboard", {get:function() { s("public flash.text.TextField::get useRichTextClipboard"); }, set:function(a) { s("public flash.text.TextField::set useRichTextClipboard"); }, enumerable:!0, configurable:!0}); p.prototype._ensureLineMetrics = function() { if (this._hasFlags(8388608)) { var a = b.AVM2.Runtime.AVM2.instance.globals["Shumway.Player.Utils"].syncDisplayObject(this, !1), c = a.readInt(), d = a.readInt(), e = a.readInt(); this._autoSize !== g.TextFieldAutoSize.NONE && (this._fillBounds.xMin = this._lineBounds.xMin = e, this._fillBounds.xMax = this._lineBounds.xMax = e + c + 80, this._fillBounds.yMax = this._lineBounds.yMax = this._lineBounds.yMin + d + 80); this._textWidth = c; this._textHeight = d; this._numLines = a.readInt(); this._lineMetricsData = a; } }; p.prototype.getCharBoundaries = function(a) { s("public flash.text.TextField::getCharBoundaries"); }; p.prototype.getCharIndexAtPoint = function(a, b) { s("public flash.text.TextField::getCharIndexAtPoint"); }; p.prototype.getFirstCharInParagraph = function(a) { s("public flash.text.TextField::getFirstCharInParagraph"); }; p.prototype.getLineIndexAtPoint = function(a, b) { s("public flash.text.TextField::getLineIndexAtPoint"); }; p.prototype.getLineIndexOfChar = function(a) { s("public flash.text.TextField::getLineIndexOfChar"); }; p.prototype.getLineLength = function(a) { s("public flash.text.TextField::getLineLength"); }; p.prototype.getLineMetrics = function() { var b; b = 0; (0 > b || b > this._numLines - 1) && a("RangeError", k.Errors.ParamRangeError); this._ensureLineMetrics(); var c = this._lineMetricsData; c.position = 12 + 20 * b; b = c.readInt(); var d = c.readInt(), e = c.readInt(), h = c.readInt(), c = c.readInt(); return new g.TextLineMetrics(b, d, e + h + c, e, h, c); }; p.prototype.getLineOffset = function(a) { s("public flash.text.TextField::getLineOffset"); }; p.prototype.getLineText = function(a) { s("public flash.text.TextField::getLineText"); }; p.prototype.getParagraphLength = function(a) { s("public flash.text.TextField::getParagraphLength"); }; p.prototype.getTextFormat = function(a, b) { s("public flash.text.TextField::getTextFormat"); }; p.prototype.getTextRuns = function(a, b) { "undefined" === typeof a && (a = 0); "undefined" === typeof b && (b = 2147483647); for (var c = this._textContent.textRuns, d = [], h = 0;h < c.length;h++) { var e = c[h]; e.beginIndex >= a && e.endIndex <= b && d.push(e.clone()); } return d; }; p.prototype.getRawText = function() { s("public flash.text.TextField::getRawText"); }; p.prototype.replaceSelectedText = function(a) { s("public flash.text.TextField::replaceSelectedText"); }; p.prototype.replaceText = function(a, b, c) { a |= 0; b |= 0; c = "" + c; d("public flash.text.TextField::replaceText"); var e = this._textContent.plainText; this._textContent.plainText = e.substring(0, a) + c + e.substring(b); this._invalidateContent(); this._ensureLineMetrics(); }; p.prototype.setSelection = function(a, b) { d("public flash.text.TextField::setSelection"); this._selectionBeginIndex = a | 0; this._selectionEndIndex = b | 0; }; p.prototype.setTextFormat = function(a, b, c) { d("public flash.text.TextField::setTextFormat"); }; p.prototype.getImageReference = function(a) { s("public flash.text.TextField::getImageReference"); }; p.classSymbols = null; p.instanceSymbols = null; p.classInitializer = null; p.initializer = function(a) { this._alwaysShowSelection = !1; this._antiAliasType = g.AntiAliasType.NORMAL; this._autoSize = g.TextFieldAutoSize.NONE; this._background = !1; this._backgroundColor = 4294967295; this._border = !1; this._borderColor = 255; this._bottomScrollV = 1; this._caretIndex = 0; this._embedFonts = this._condenseWhite = !1; this._gridFitType = g.GridFitType.PIXEL; this._htmlText = ""; this._length = 0; this._textInteractionMode = g.TextInteractionMode.NORMAL; this._maxScrollH = this._maxChars = 0; this._maxScrollV = 1; this._multiline = this._mouseWheelEnabled = !1; this._numLines = 1; this._displayAsPassword = !1; this._restrict = null; this._scrollH = 0; this._scrollV = 1; this._selectable = !0; this._selectedText = ""; this._sharpness = this._selectionEndIndex = this._selectionBeginIndex = 0; this._styleSheet = null; this._textColor = -1; this._thickness = this._textWidth = this._textHeight = 0; this._type = g.TextFieldType.DYNAMIC; this._useRichTextClipboard = !1; var c = new f.text.TextFormat("Times Roman", 12, 0, !1, !1, !1, "", "", g.TextFormatAlign.LEFT); this._textContent = new b.TextContent(c); this._lineMetricsData = null; a ? (this._setFillAndLineBoundsFromSymbol(a), c.color = a.color, c.size = a.size / 20 | 0, c.font = a.font, c.align = a.align, c.leftMargin = a.leftMargin / 20 | 0, c.rightMargin = a.rightMargin / 20 | 0, c.indent = a.indent / 20 | 0, c.leading = a.leading / 20 | 0, this._multiline = a.multiline, this._embedFonts = a.embedFonts, this._selectable = a.selectable, this._displayAsPassword = a.displayAsPassword, this._type = a.type, this._maxChars = a.maxChars, a.border && (this.border = this.background = !0), a.html ? this.htmlText = a.initialText : this.text = a.initialText, this.wordWrap = a.wordWrap, this.autoSize = a.autoSize) : this._setFillAndLineBoundsFromWidthAndHeight(2E3, 2E3); }; return p; }(f.display.InteractiveObject); g.TextField = p; })(f.text || (f.text = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.fromNumber = function(a) { switch(a) { case 0: return d.NONE; case 1: return d.CENTER; case 2: return d.LEFT; case 3: return d.RIGHT; default: return null; } }; d.toNumber = function(a) { switch(a) { case d.NONE: return 0; case d.CENTER: return 1; case d.LEFT: return 2; case d.RIGHT: return 3; default: return-1; } }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.NONE = "none"; d.LEFT = "left"; d.CENTER = "center"; d.RIGHT = "right"; return d; }(b.ASNative); f.TextFieldAutoSize = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.INPUT = "input"; d.DYNAMIC = "dynamic"; return d; }(b.ASNative); f.TextFieldType = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(t) { var s = b.AVM2.Runtime.asCoerceString, m = b.NumberUtilities.roundHalfEven, d = b.AVM2.Runtime.throwError, a = function(a) { function b(a, c, d, f, g, k, m, h, n, s, t, I, C) { "undefined" === typeof a && (a = null); "undefined" === typeof c && (c = null); "undefined" === typeof d && (d = null); "undefined" === typeof f && (f = null); "undefined" === typeof g && (g = null); "undefined" === typeof k && (k = null); "undefined" === typeof m && (m = null); "undefined" === typeof h && (h = null); "undefined" === typeof n && (n = null); "undefined" === typeof s && (s = null); "undefined" === typeof t && (t = null); "undefined" === typeof I && (I = null); "undefined" === typeof C && (C = null); this.font = a; this.size = c; this.color = d; this.bold = f; this.italic = g; this.underline = k; this.url = m; this.target = h; this.align = n; this.leftMargin = s; this.rightMargin = t; this.indent = I; this.leading = C; } __extends(b, a); b.prototype.as2GetTextExtent = function(a, c) { b.measureTextField || (b.measureTextField = new f.text.TextField, b.measureTextField._multiline = !0); var d = b.measureTextField; !isNaN(c) && 0 < c ? (d.width = c + 4, d._wordWrap = !0) : d._wordWrap = !1; d.defaultTextFormat = this; d.text = a; var g = {}, k = d.textWidth, m = d.textHeight; g.asSetPublicProperty("width", k); g.asSetPublicProperty("height", m); g.asSetPublicProperty("textFieldWidth", k + 4); g.asSetPublicProperty("textFieldHeight", m + 4); d = d.getLineMetrics(); g.asSetPublicProperty("ascent", d.ascent); g.asSetPublicProperty("descent", d.descent); return g; }; Object.defineProperty(b.prototype, "align", {get:function() { return this._align; }, set:function(a) { this._align = a = s(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "blockIndent", {get:function() { return this._blockIndent; }, set:function(a) { this._blockIndent = b.coerceNumber(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "bold", {get:function() { return this._bold; }, set:function(a) { this._bold = b.coerceBoolean(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "bullet", {get:function() { return this._bullet; }, set:function(a) { this._bullet = b.coerceBoolean(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "color", {get:function() { return this._color; }, set:function(a) { this._color = +a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "display", {get:function() { return this._display; }, set:function(a) { this._display = s(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "font", {get:function() { return this._font; }, set:function(a) { this._font = s(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "indent", {get:function() { return this._indent; }, set:function(a) { this._indent = b.coerceNumber(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "italic", {get:function() { return this._italic; }, set:function(a) { this._italic = b.coerceBoolean(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "kerning", {get:function() { return this._kerning; }, set:function(a) { this._kerning = b.coerceBoolean(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "leading", {get:function() { return this._leading; }, set:function(a) { this._leading = b.coerceNumber(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "leftMargin", {get:function() { return this._leftMargin; }, set:function(a) { this._leftMargin = b.coerceNumber(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "letterSpacing", {get:function() { return this._letterSpacing; }, set:function(a) { this._letterSpacing = b.coerceBoolean(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "rightMargin", {get:function() { return this._rightMargin; }, set:function(a) { this._rightMargin = b.coerceNumber(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "size", {get:function() { return this._size; }, set:function(a) { this._size = b.coerceNumber(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "tabStops", {get:function() { return this._tabStops; }, set:function(a) { a instanceof Array || d("ArgumentError", k.Errors.CheckTypeFailedError, a, "Array"); this._tabStops = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "target", {get:function() { return this._target; }, set:function(a) { this._target = s(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "underline", {get:function() { return this._underline; }, set:function(a) { this._underline = b.coerceBoolean(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "url", {get:function() { return this._url; }, set:function(a) { this._url = s(a); }, enumerable:!0, configurable:!0}); b.coerceNumber = function(a) { return void 0 == a ? null : isNaN(a) || 268435455 < a ? -2147483648 : m(a); }; b.coerceBoolean = function(a) { return void 0 == a ? null : !!a; }; b.prototype.clone = function() { return new f.text.TextFormat(this.font, this.size, this.color, this.bold, this.italic, this.underline, this.url, this.target, this.align, this.leftMargin, this.rightMargin, this.indent, this.leading); }; b.prototype.equals = function(a) { return this._align === a._align && this._blockIndent === a._blockIndent && this._bold === a._bold && this._bullet === a._bullet && this._color === a._color && this._display === a._display && this._font === a._font && this._indent === a._indent && this._italic === a._italic && this._kerning === a._kerning && this._leading === a._leading && this._leftMargin === a._leftMargin && this._letterSpacing === a._letterSpacing && this._rightMargin === a._rightMargin && this._size === a._size && this._tabStops === a._tabStops && this._target === a._target && this._underline === a._underline && this._url === a._url; }; b.prototype.merge = function(a) { null !== a._align && (this._align = a._align); null !== a._blockIndent && (this._blockIndent = a._blockIndent); null !== a._bold && (this._bold = a._bold); null !== a._bullet && (this._bullet = a._bullet); null !== a._color && (this._color = a._color); null !== a._display && (this._display = a._display); null !== a._font && (this._font = a._font); null !== a._indent && (this._indent = a._indent); null !== a._italic && (this._italic = a._italic); null !== a._kerning && (this._kerning = a._kerning); null !== a._leading && (this._leading = a._leading); null !== a._leftMargin && (this._leftMargin = a._leftMargin); null !== a._letterSpacing && (this._letterSpacing = a._letterSpacing); null !== a._rightMargin && (this._rightMargin = a._rightMargin); null !== a._size && (this._size = a._size); null !== a._tabStops && (this._tabStops = a._tabStops); null !== a._target && (this._target = a._target); null !== a._underline && (this._underline = a._underline); null !== a._url && (this._url = a._url); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); t.TextFormat = a; })(f.text || (f.text = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.fromNumber = function(a) { switch(a) { case 0: return d.LEFT; case 1: return d.RIGHT; case 2: return d.CENTER; case 3: return d.JUSTIFY; case 4: return d.START; case 5: return d.END; default: return null; } }; d.toNumber = function(a) { switch(a) { case d.LEFT: return 0; case d.RIGHT: return 1; case d.CENTER: return 2; case d.JUSTIFY: return 3; case d.START: return 4; case d.END: return 5; default: return-1; } }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.LEFT = "left"; d.CENTER = "center"; d.RIGHT = "right"; d.JUSTIFY = "justify"; d.START = "start"; d.END = "end"; return d; }(b.ASNative); f.TextFormatAlign = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.INLINE = "inline"; d.BLOCK = "block"; return d; }(b.ASNative); f.TextFormatDisplay = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(f) { var k = function(b) { function d() { b.call(this); } __extends(d, b); d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; d.NORMAL = "normal"; d.SELECTION = "selection"; return d; }(b.ASNative); f.TextInteractionMode = k; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a(a, b, d, e, f, g) { k("Dummy Constructor: public flash.text.TextLineMetrics"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.TextLineMetrics = m; })(f.text || (f.text = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { (function(k) { var s = function(b) { function d(a, b, d) { this._beginIndex = a | 0; this._endIndex = b | 0; this._textFormat = d; } __extends(d, b); Object.defineProperty(d.prototype, "beginIndex", {get:function() { return this._beginIndex; }, set:function(a) { this._beginIndex = a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "endIndex", {get:function() { return this._endIndex; }, set:function(a) { this._endIndex = a | 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(d.prototype, "textFormat", {get:function() { return this._textFormat; }, set:function(a) { this._textFormat = a; }, enumerable:!0, configurable:!0}); d.prototype.clone = function() { return new f.text.TextRun(this.beginIndex, this.endIndex, this.textFormat); }; d.classInitializer = null; d.initializer = null; d.classSymbols = null; d.instanceSymbols = null; return d; }(b.ASNative); k.TextRun = s; })(f.text || (f.text = {})); })(b.flash || (b.flash = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b() { k("Dummy Constructor: public flash.text.TextSnapshot"); } __extends(b, a); Object.defineProperty(b.prototype, "charCount", {get:function() { k("public flash.text.TextSnapshot::get charCount"); }, enumerable:!0, configurable:!0}); b.prototype.findText = function(a, b, c) { m(b); k("public flash.text.TextSnapshot::findText"); }; b.prototype.getSelected = function(a, b) { k("public flash.text.TextSnapshot::getSelected"); }; b.prototype.getSelectedText = function(a) { k("public flash.text.TextSnapshot::getSelectedText"); }; b.prototype.getText = function(a, b, c) { k("public flash.text.TextSnapshot::getText"); }; b.prototype.getTextRunInfo = function(a, b) { k("public flash.text.TextSnapshot::getTextRunInfo"); }; b.prototype.hitTestTextNearPos = function(a, b, c) { k("public flash.text.TextSnapshot::hitTestTextNearPos"); }; b.prototype.setSelectColor = function(a) { k("public flash.text.TextSnapshot::setSelectColor"); }; b.prototype.setSelected = function(a, b, c) { k("public flash.text.TextSnapshot::setSelected"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); f.TextSnapshot = d; })(f.text || (f.text = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.trace.Trace"); } __extends(a, b); a.setLevel = function(a, b) { k("public flash.trace.Trace::static setLevel"); }; a.getLevel = function(a) { k("public flash.trace.Trace::static getLevel"); }; a.setListener = function(a) { k("public flash.trace.Trace::static setListener"); }; a.getListener = function() { k("public flash.trace.Trace::static getListener"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.OFF = void 0; a.METHODS = 1; a.METHODS_WITH_ARGS = 2; a.METHODS_AND_LINES = 3; a.METHODS_AND_LINES_WITH_ARGS = 4; a.FILE = 1; a.LISTENER = 2; return a; }(g.ASNative); f.Trace = m; })(f.trace || (f.trace = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = function(a) { function b() { k("Dummy Constructor: public flash.ui.ContextMenu"); } __extends(b, a); Object.defineProperty(b.prototype, "builtInItems", {get:function() { m("public flash.ui.ContextMenu::get builtInItems"); return this._builtInItems; }, set:function(a) { m("public flash.ui.ContextMenu::set builtInItems"); this._builtInItems = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "customItems", {get:function() { m("public flash.ui.ContextMenu::get customItems"); return this._customItems; }, set:function(a) { m("public flash.ui.ContextMenu::set customItems"); this._customItems = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "link", {get:function() { k("public flash.ui.ContextMenu::get link"); }, set:function(a) { k("public flash.ui.ContextMenu::set link"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "clipboardMenu", {get:function() { k("public flash.ui.ContextMenu::get clipboardMenu"); }, set:function(a) { k("public flash.ui.ContextMenu::set clipboardMenu"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "clipboardItems", {get:function() { k("public flash.ui.ContextMenu::get clipboardItems"); }, set:function(a) { k("public flash.ui.ContextMenu::set clipboardItems"); }, enumerable:!0, configurable:!0}); b.prototype.cloneLinkAndClipboardProperties = function(a) { k("public flash.ui.ContextMenu::cloneLinkAndClipboardProperties"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(f.display.NativeMenu); g.ContextMenu = d; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.ui.ContextMenuBuiltInItems"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.ContextMenuBuiltInItems = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.ui.ContextMenuClipboardItems"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.ContextMenuClipboardItems = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.AVM2.Runtime.asCoerceString, m = function(b) { function a(a, b, d, e) { "undefined" === typeof b && (b = !1); "undefined" === typeof d && (d = !0); "undefined" === typeof e && (e = !0); this._caption = (a = k(a)) ? a : ""; this._separatorBefore = !!b; this._enabled = !!d; this._visible = !!e; } __extends(a, b); Object.defineProperty(a.prototype, "caption", {get:function() { return this._caption; }, set:function(a) { this._caption = a = k(a); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "separatorBefore", {get:function() { return this._separatorBefore; }, set:function(a) { this._separatorBefore = !!a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "visible", {get:function() { return this._visible; }, set:function(a) { this._visible = !!a; }, enumerable:!0, configurable:!0}); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.display.NativeMenuItem); g.ContextMenuItem = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var s = b.Debug.somewhatImplemented, m = b.Debug.notImplemented, d = b.AVM2.Runtime.throwError, a = function(a) { function b() { m("Dummy Constructor: public flash.ui.GameInput"); } __extends(b, a); Object.defineProperty(b.prototype, "numDevices", {get:function() { s("public flash.ui.GameInput::get numDevices"); return 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "isSupported", {get:function() { s("public flash.ui.GameInput::get isSupported"); return!1; }, enumerable:!0, configurable:!0}); b.getDeviceAt = function(a) { s("public flash.ui.GameInput::static getDeviceAt"); d("RangeError", k.Errors.ParamRangeError, "index"); return null; }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(f.events.EventDispatcher); g.GameInput = a; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.ui.GameInputControl"); } __extends(a, b); Object.defineProperty(a.prototype, "numValues", {get:function() { k("public flash.ui.GameInputControl::get numValues"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "index", {get:function() { k("public flash.ui.GameInputControl::get index"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "relative", {get:function() { k("public flash.ui.GameInputControl::get relative"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "type", {get:function() { k("public flash.ui.GameInputControl::get type"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "hand", {get:function() { k("public flash.ui.GameInputControl::get hand"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "finger", {get:function() { k("public flash.ui.GameInputControl::get finger"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "device", {get:function() { k("public flash.ui.GameInputControl::get device"); }, enumerable:!0, configurable:!0}); a.prototype.getValueAt = function(a) { k("public flash.ui.GameInputControl::getValueAt"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.events.EventDispatcher); g.GameInputControl = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.ui.GameInputControlType"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.MOVEMENT = "movement"; a.ROTATION = "rotation"; a.DIRECTION = "direction"; a.ACCELERATION = "acceleration"; a.BUTTON = "button"; a.TRIGGER = "trigger"; return a; }(g.ASNative); f.GameInputControlType = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.ui.GameInputDevice"); } __extends(a, b); Object.defineProperty(a.prototype, "numControls", {get:function() { k("public flash.ui.GameInputDevice::get numControls"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "sampleInterval", {get:function() { k("public flash.ui.GameInputDevice::get sampleInterval"); }, set:function(a) { k("public flash.ui.GameInputDevice::set sampleInterval"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "enabled", {get:function() { k("public flash.ui.GameInputDevice::get enabled"); }, set:function(a) { k("public flash.ui.GameInputDevice::set enabled"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "id", {get:function() { k("public flash.ui.GameInputDevice::get id"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "name", {get:function() { k("public flash.ui.GameInputDevice::get name"); }, enumerable:!0, configurable:!0}); a.prototype.getControlAt = function(a) { k("public flash.ui.GameInputDevice::getControlAt"); }; a.prototype.startCachingSamples = function(a, b) { k("public flash.ui.GameInputDevice::startCachingSamples"); }; a.prototype.stopCachingSamples = function() { k("public flash.ui.GameInputDevice::stopCachingSamples"); }; a.prototype.getCachedSamples = function(a, b) { k("public flash.ui.GameInputDevice::getCachedSamples"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.MAX_BUFFER_SIZE = 4800; return a; }(f.events.EventDispatcher); g.GameInputDevice = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.ui.GameInputFinger"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.THUMB = "thumb"; a.INDEX = "index"; a.MIDDLE = "middle"; a.UNKNOWN = "unknown"; return a; }(g.ASNative); f.GameInputFinger = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.ui.GameInputHand"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.RIGHT = "right"; a.LEFT = "left"; a.UNKNOWN = "unknown"; return a; }(g.ASNative); f.GameInputHand = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(k) { var s = b.Debug.notImplemented, m = function() { function b() { this._lastKeyCode = 0; this._captureKeyPress = !1; this._charCodeMap = []; } b.prototype.dispatchKeyboardEvent = function(a) { var b = a.keyCode; if ("keydown" === a.type) { this._lastKeyCode = b; if (this._captureKeyPress = 8 === b || 9 === b || 13 === b || 32 === b || 48 <= b && 90 >= b || 145 < b) { return; } this._charCodeMap[b] = 0; } else { if ("keypress" === a.type) { if (this._captureKeyPress) { b = this._lastKeyCode, this._charCodeMap[b] = a.charCode; } else { return; } } } if (this.target) { var d = "keyup" === a.type; this.target.dispatchEvent(new f.events.KeyboardEvent(d ? "keyUp" : "keyDown", !0, !1, d ? this._charCodeMap[b] : a.charCode, d ? a.keyCode : this._lastKeyCode, a.location, a.ctrlKey, a.altKey, a.shiftKey)); } }; return b; }(); k.KeyboardEventDispatcher = m; m = function(b) { function a() { s("Dummy Constructor: public flash.ui.Keyboard"); } __extends(a, b); Object.defineProperty(a.prototype, "capsLock", {get:function() { s("public flash.ui.Keyboard::get capsLock"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "numLock", {get:function() { s("public flash.ui.Keyboard::get numLock"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "hasVirtualKeyboard", {get:function() { s("public flash.ui.Keyboard::get hasVirtualKeyboard"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "physicalKeyboardType", {get:function() { s("public flash.ui.Keyboard::get physicalKeyboardType"); }, enumerable:!0, configurable:!0}); a.isAccessible = function() { s("public flash.ui.Keyboard::static isAccessible"); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.KEYNAME_UPARROW = "Up"; a.KEYNAME_DOWNARROW = "Down"; a.KEYNAME_LEFTARROW = "Left"; a.KEYNAME_RIGHTARROW = "Right"; a.KEYNAME_F1 = "F1"; a.KEYNAME_F2 = "F2"; a.KEYNAME_F3 = "F3"; a.KEYNAME_F4 = "F4"; a.KEYNAME_F5 = "F5"; a.KEYNAME_F6 = "F6"; a.KEYNAME_F7 = "F7"; a.KEYNAME_F8 = "F8"; a.KEYNAME_F9 = "F9"; a.KEYNAME_F10 = "F10"; a.KEYNAME_F11 = "F11"; a.KEYNAME_F12 = "F12"; a.KEYNAME_F13 = "F13"; a.KEYNAME_F14 = "F14"; a.KEYNAME_F15 = "F15"; a.KEYNAME_F16 = "F16"; a.KEYNAME_F17 = "F17"; a.KEYNAME_F18 = "F18"; a.KEYNAME_F19 = "F19"; a.KEYNAME_F20 = "F20"; a.KEYNAME_F21 = "F21"; a.KEYNAME_F22 = "F22"; a.KEYNAME_F23 = "F23"; a.KEYNAME_F24 = "F24"; a.KEYNAME_F25 = "F25"; a.KEYNAME_F26 = "F26"; a.KEYNAME_F27 = "F27"; a.KEYNAME_F28 = "F28"; a.KEYNAME_F29 = "F29"; a.KEYNAME_F30 = "F30"; a.KEYNAME_F31 = "F31"; a.KEYNAME_F32 = "F32"; a.KEYNAME_F33 = "F33"; a.KEYNAME_F34 = "F34"; a.KEYNAME_F35 = "F35"; a.KEYNAME_INSERT = "Insert"; a.KEYNAME_DELETE = "Delete"; a.KEYNAME_HOME = "Home"; a.KEYNAME_BEGIN = "Begin"; a.KEYNAME_END = "End"; a.KEYNAME_PAGEUP = "PgUp"; a.KEYNAME_PAGEDOWN = "PgDn"; a.KEYNAME_PRINTSCREEN = "PrntScrn"; a.KEYNAME_SCROLLLOCK = "ScrlLck"; a.KEYNAME_PAUSE = "Pause"; a.KEYNAME_SYSREQ = "SysReq"; a.KEYNAME_BREAK = "Break"; a.KEYNAME_RESET = "Reset"; a.KEYNAME_STOP = "Stop"; a.KEYNAME_MENU = "Menu"; a.KEYNAME_USER = "User"; a.KEYNAME_SYSTEM = "Sys"; a.KEYNAME_PRINT = "Print"; a.KEYNAME_CLEARLINE = "ClrLn"; a.KEYNAME_CLEARDISPLAY = "ClrDsp"; a.KEYNAME_INSERTLINE = "InsLn"; a.KEYNAME_DELETELINE = "DelLn"; a.KEYNAME_INSERTCHAR = "InsChr"; a.KEYNAME_DELETECHAR = "DelChr"; a.KEYNAME_PREV = "Prev"; a.KEYNAME_NEXT = "Next"; a.KEYNAME_SELECT = "Select"; a.KEYNAME_EXECUTE = "Exec"; a.KEYNAME_UNDO = "Undo"; a.KEYNAME_REDO = "Redo"; a.KEYNAME_FIND = "Find"; a.KEYNAME_HELP = "Help"; a.KEYNAME_MODESWITCH = "ModeSw"; a.STRING_UPARROW = "\uf700"; a.STRING_DOWNARROW = "\uf701"; a.STRING_LEFTARROW = "\uf702"; a.STRING_RIGHTARROW = "\uf703"; a.STRING_F1 = "\uf704"; a.STRING_F2 = "\uf705"; a.STRING_F3 = "\uf706"; a.STRING_F4 = "\uf707"; a.STRING_F5 = "\uf708"; a.STRING_F6 = "\uf709"; a.STRING_F7 = "\uf70a"; a.STRING_F8 = "\uf70b"; a.STRING_F9 = "\uf70c"; a.STRING_F10 = "\uf70d"; a.STRING_F11 = "\uf70e"; a.STRING_F12 = "\uf70f"; a.STRING_F13 = "\uf710"; a.STRING_F14 = "\uf711"; a.STRING_F15 = "\uf712"; a.STRING_F16 = "\uf713"; a.STRING_F17 = "\uf714"; a.STRING_F18 = "\uf715"; a.STRING_F19 = "\uf716"; a.STRING_F20 = "\uf717"; a.STRING_F21 = "\uf718"; a.STRING_F22 = "\uf719"; a.STRING_F23 = "\uf71a"; a.STRING_F24 = "\uf71b"; a.STRING_F25 = "\uf71c"; a.STRING_F26 = "\uf71d"; a.STRING_F27 = "\uf71e"; a.STRING_F28 = "\uf71f"; a.STRING_F29 = "\uf720"; a.STRING_F30 = "\uf721"; a.STRING_F31 = "\uf722"; a.STRING_F32 = "\uf723"; a.STRING_F33 = "\uf724"; a.STRING_F34 = "\uf725"; a.STRING_F35 = "\uf726"; a.STRING_INSERT = "\uf727"; a.STRING_DELETE = "\uf728"; a.STRING_HOME = "\uf729"; a.STRING_BEGIN = "\uf72a"; a.STRING_END = "\uf72b"; a.STRING_PAGEUP = "\uf72c"; a.STRING_PAGEDOWN = "\uf72d"; a.STRING_PRINTSCREEN = "\uf72e"; a.STRING_SCROLLLOCK = "\uf72f"; a.STRING_PAUSE = "\uf730"; a.STRING_SYSREQ = "\uf731"; a.STRING_BREAK = "\uf732"; a.STRING_RESET = "\uf733"; a.STRING_STOP = "\uf734"; a.STRING_MENU = "\uf735"; a.STRING_USER = "\uf736"; a.STRING_SYSTEM = "\uf737"; a.STRING_PRINT = "\uf738"; a.STRING_CLEARLINE = "\uf739"; a.STRING_CLEARDISPLAY = "\uf73a"; a.STRING_INSERTLINE = "\uf73b"; a.STRING_DELETELINE = "\uf73c"; a.STRING_INSERTCHAR = "\uf73d"; a.STRING_DELETECHAR = "\uf73e"; a.STRING_PREV = "\uf73f"; a.STRING_NEXT = "\uf740"; a.STRING_SELECT = "\uf741"; a.STRING_EXECUTE = "\uf742"; a.STRING_UNDO = "\uf743"; a.STRING_REDO = "\uf744"; a.STRING_FIND = "\uf745"; a.STRING_HELP = "\uf746"; a.STRING_MODESWITCH = "\uf747"; a.CharCodeStrings = void 0; a.NUMBER_0 = 48; a.NUMBER_1 = 49; a.NUMBER_2 = 50; a.NUMBER_3 = 51; a.NUMBER_4 = 52; a.NUMBER_5 = 53; a.NUMBER_6 = 54; a.NUMBER_7 = 55; a.NUMBER_8 = 56; a.NUMBER_9 = 57; a.A = 65; a.B = 66; a.C = 67; a.D = 68; a.E = 69; a.F = 70; a.G = 71; a.H = 72; a.I = 73; a.J = 74; a.K = 75; a.L = 76; a.M = 77; a.N = 78; a.O = 79; a.P = 80; a.Q = 81; a.R = 82; a.S = 83; a.T = 84; a.U = 85; a.V = 86; a.W = 87; a.X = 88; a.Y = 89; a.Z = 90; a.SEMICOLON = 186; a.EQUAL = 187; a.COMMA = 188; a.MINUS = 189; a.PERIOD = 190; a.SLASH = 191; a.BACKQUOTE = 192; a.LEFTBRACKET = 219; a.BACKSLASH = 220; a.RIGHTBRACKET = 221; a.QUOTE = 222; a.ALTERNATE = 18; a.BACKSPACE = 8; a.CAPS_LOCK = 20; a.COMMAND = 15; a.CONTROL = 17; a.DELETE = 46; a.DOWN = 40; a.END = 35; a.ENTER = 13; a.ESCAPE = 27; a.F1 = 112; a.F2 = 113; a.F3 = 114; a.F4 = 115; a.F5 = 116; a.F6 = 117; a.F7 = 118; a.F8 = 119; a.F9 = 120; a.F10 = 121; a.F11 = 122; a.F12 = 123; a.F13 = 124; a.F14 = 125; a.F15 = 126; a.HOME = 36; a.INSERT = 45; a.LEFT = 37; a.NUMPAD = 21; a.NUMPAD_0 = 96; a.NUMPAD_1 = 97; a.NUMPAD_2 = 98; a.NUMPAD_3 = 99; a.NUMPAD_4 = 100; a.NUMPAD_5 = 101; a.NUMPAD_6 = 102; a.NUMPAD_7 = 103; a.NUMPAD_8 = 104; a.NUMPAD_9 = 105; a.NUMPAD_ADD = 107; a.NUMPAD_DECIMAL = 110; a.NUMPAD_DIVIDE = 111; a.NUMPAD_ENTER = 108; a.NUMPAD_MULTIPLY = 106; a.NUMPAD_SUBTRACT = 109; a.PAGE_DOWN = 34; a.PAGE_UP = 33; a.RIGHT = 39; a.SHIFT = 16; a.SPACE = 32; a.TAB = 9; a.UP = 38; a.RED = 16777216; a.GREEN = 16777217; a.YELLOW = 16777218; a.BLUE = 16777219; a.CHANNEL_UP = 16777220; a.CHANNEL_DOWN = 16777221; a.RECORD = 16777222; a.PLAY = 16777223; a.PAUSE = 16777224; a.STOP = 16777225; a.FAST_FORWARD = 16777226; a.REWIND = 16777227; a.SKIP_FORWARD = 16777228; a.SKIP_BACKWARD = 16777229; a.NEXT = 16777230; a.PREVIOUS = 16777231; a.LIVE = 16777232; a.LAST = 16777233; a.MENU = 16777234; a.INFO = 16777235; a.GUIDE = 16777236; a.EXIT = 16777237; a.BACK = 16777238; a.AUDIO = 16777239; a.SUBTITLE = 16777240; a.DVR = 16777241; a.VOD = 16777242; a.INPUT = 16777243; a.SETUP = 16777244; a.HELP = 16777245; a.MASTER_SHELL = 16777246; a.SEARCH = 16777247; return a; }(g.ASNative); k.Keyboard = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(k) { var s = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = b.Debug.assert, a = b.AVM2.Runtime.asCoerceString, c = f.events, n = function() { function a() { this.currentTarget = this.stage = null; } a.prototype._findTarget = function(a) { var b = []; this.stage._containsGlobalPoint(20 * a.x | 0, 20 * a.y | 0, 3, b); d(2 > b.length); return b.length ? b[0] : this.stage; }; a.prototype._dispatchMouseEvent = function(a, b, d, f) { "undefined" === typeof f && (f = null); var g = a.globalToLocal(d.point); b = new c.MouseEvent(b, b !== c.MouseEvent.ROLL_OVER && b !== c.MouseEvent.ROLL_OUT && b !== c.MouseEvent.MOUSE_LEAVE, !1, g.x, g.y, f, d.ctrlKey, d.altKey, d.shiftKey, !!d.buttons); a.dispatchEvent(b); }; a.prototype.handleMouseEvent = function(a) { var b = this.stage; if (!b) { return b; } var d = a.point; f.ui.Mouse.updateCurrentPosition(d); var g = this.currentTarget; if (0 > d.x || d.x > b.stageWidth || 0 > d.y || d.y > b.stageHeight) { return g && this._dispatchMouseEvent(b, c.MouseEvent.MOUSE_LEAVE, a), this.currentTarget = null, b; } var d = this._findTarget(d), k = f.events.MouseEvent.typeFromDOMType(a.type); switch(k) { case c.MouseEvent.MOUSE_DOWN: a.buttons & 1 ? a.buttons = 1 : a.buttons & 2 ? (k = c.MouseEvent.MIDDLE_MOUSE_DOWN, a.buttons = 2) : a.buttons & 4 && (k = c.MouseEvent.RIGHT_MOUSE_DOWN, a.buttons = 4); d._mouseDown = !0; break; case c.MouseEvent.MOUSE_UP: a.buttons & 1 ? a.buttons = 1 : a.buttons & 2 ? (k = c.MouseEvent.MIDDLE_MOUSE_UP, a.buttons = 2) : a.buttons & 4 && (k = c.MouseEvent.RIGHT_MOUSE_UP, a.buttons = 4); d._mouseDown = !1; break; case c.MouseEvent.CLICK: a.buttons & 1 || (a.buttons & 2 ? k = c.MouseEvent.MIDDLE_CLICK : a.buttons & 4 && (k = c.MouseEvent.RIGHT_CLICK)); a.buttons = 0; break; case c.MouseEvent.DOUBLE_CLICK: if (!d.doubleClickEnabled) { return; } a.buttons = 0; break; case c.MouseEvent.MOUSE_MOVE: this.currentTarget = d; a.buttons &= 1; if (d === g) { break; } var m = d.findNearestCommonAncestor(g); if (g && g !== b) { g._mouseOver = !1; g._mouseDown = !1; this._dispatchMouseEvent(g, c.MouseEvent.MOUSE_OUT, a, d); for (var h = g;h !== m;) { this._dispatchMouseEvent(h, c.MouseEvent.ROLL_OUT, a, d), h = h.parent; } } if (d === b) { break; } for (b = d;b !== m;) { this._dispatchMouseEvent(b, c.MouseEvent.ROLL_OVER, a, g), b = b.parent; } d._mouseOver = !0; this._dispatchMouseEvent(d, c.MouseEvent.MOUSE_OVER, a, g); return d; } this._dispatchMouseEvent(d, k, a); return d; }; return a; }(); k.MouseEventDispatcher = n; (function(a) { a[a.Left = 1] = "Left"; a[a.Middle = 2] = "Middle"; a[a.Right = 4] = "Right"; })(k.MouseButtonFlags || (k.MouseButtonFlags = {})); n = function(b) { function c() { s("Dummy Constructor: public flash.ui.Mouse"); } __extends(c, b); Object.defineProperty(c.prototype, "supportsCursor", {get:function() { s("public flash.ui.Mouse::get supportsCursor"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "cursor", {get:function() { s("public flash.ui.Mouse::get cursor"); }, set:function(b) { a(b); s("public flash.ui.Mouse::set cursor"); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "supportsNativeCursor", {get:function() { s("public flash.ui.Mouse::get supportsNativeCursor"); }, enumerable:!0, configurable:!0}); c.hide = function() { m("public flash.ui.Mouse::static hide"); }; c.show = function() { m("public flash.ui.Mouse::static show"); }; c.registerCursor = function(b, c) { a(b); s("public flash.ui.Mouse::static registerCursor"); }; c.unregisterCursor = function(b) { a(b); s("public flash.ui.Mouse::static unregisterCursor"); }; c.updateCurrentPosition = function(a) { this._currentPosition.copyFrom(a); }; c.classInitializer = function() { this._currentPosition = new f.geom.Point; }; c.initializer = null; c.classSymbols = null; c.instanceSymbols = null; return c; }(g.ASNative); k.Mouse = n; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.ui.MouseCursorData"); } __extends(a, b); Object.defineProperty(a.prototype, "data", {get:function() { k("public flash.ui.MouseCursorData::get data"); }, set:function(a) { k("public flash.ui.MouseCursorData::set data"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "hotSpot", {get:function() { k("public flash.ui.MouseCursorData::get hotSpot"); }, set:function(a) { k("public flash.ui.MouseCursorData::set hotSpot"); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "frameRate", {get:function() { k("public flash.ui.MouseCursorData::get frameRate"); }, set:function(a) { k("public flash.ui.MouseCursorData::set frameRate"); }, enumerable:!0, configurable:!0}); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.MouseCursorData = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.somewhatImplemented, m = b.Debug.notImplemented, d = b.AVM2.Runtime.asCoerceString, a = function(a) { function b() { m("Dummy Constructor: public flash.ui.Multitouch"); } __extends(b, a); Object.defineProperty(b.prototype, "inputMode", {get:function() { m("public flash.ui.Multitouch::get inputMode"); }, set:function(a) { d(a); m("public flash.ui.Multitouch::set inputMode"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "supportsTouchEvents", {get:function() { k("public flash.ui.Multitouch::get supportsTouchEvents"); return!1; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "supportsGestureEvents", {get:function() { k("public flash.ui.Multitouch::get supportsGestureEvents"); return!1; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "supportedGestures", {get:function() { k("public flash.ui.Multitouch::get supportedGestures"); return null; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "maxTouchPoints", {get:function() { k("public flash.ui.Multitouch::get maxTouchPoints"); return 0; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "mapTouchToMouse", {get:function() { k("public flash.ui.Multitouch::get mapTouchToMouse"); return!0; }, set:function(a) { m("public flash.ui.Multitouch::set mapTouchToMouse"); }, enumerable:!0, configurable:!0}); b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); f.Multitouch = a; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.ui.MultitouchInputMode"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.NONE = "none"; a.GESTURE = "gesture"; a.TOUCH_POINT = "touchPoint"; return a; }(g.ASNative); f.MultitouchInputMode = m; })(f.ui || (f.ui = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.utils.Endian"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; a.BIG_ENDIAN = "bigEndian"; a.LITTLE_ENDIAN = "littleEndian"; return a; }(g.ASNative); f.Endian = m; })(f.utils || (f.utils = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var Shumway$$inline_615 = Shumway || (Shumway = {}), AVM2$$inline_616 = Shumway$$inline_615.AVM2 || (Shumway$$inline_615.AVM2 = {}), AS$$inline_617 = AVM2$$inline_616.AS || (AVM2$$inline_616.AS = {}), flash$$inline_618 = AS$$inline_617.flash || (AS$$inline_617.flash = {}), utils$$inline_619 = flash$$inline_618.utils || (flash$$inline_618.utils = {}), utils$$inline_620 = flash$$inline_618.utils, flash$$inline_621 = AS$$inline_617.flash, AS$$inline_622 = AVM2$$inline_616.AS, AVM2$$inline_623 = Shumway$$inline_615.AVM2, Shumway$$inline_625 = Shumway || (Shumway = {}), AVM2$$inline_626 = Shumway$$inline_625.AVM2 || (Shumway$$inline_625.AVM2 = {}), AS$$inline_627 = AVM2$$inline_626.AS || (AVM2$$inline_626.AS = {}), flash$$inline_628 = AS$$inline_627.flash || (AS$$inline_627.flash = {}), utils$$inline_629 = flash$$inline_628.utils || (flash$$inline_628.utils = {}), utils$$inline_630 = flash$$inline_628.utils, flash$$inline_631 = AS$$inline_627.flash, AS$$inline_632 = AVM2$$inline_626.AS, AVM2$$inline_633 = Shumway$$inline_625.AVM2, Shumway$$inline_635 = Shumway || (Shumway = {}), AVM2$$inline_636 = Shumway$$inline_635.AVM2 || (Shumway$$inline_635.AVM2 = {}), AS$$inline_637 = AVM2$$inline_636.AS || (AVM2$$inline_636.AS = {}), flash$$inline_638 = AS$$inline_637.flash || (AS$$inline_637.flash = {}), utils$$inline_639 = flash$$inline_638.utils || (flash$$inline_638.utils = {}), utils$$inline_640 = flash$$inline_638.utils, flash$$inline_641 = AS$$inline_637.flash, AS$$inline_642 = AVM2$$inline_636.AS, AVM2$$inline_643 = Shumway$$inline_635.AVM2; (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b() { k("Dummy Constructor: packageInternal flash.utils.ObjectInput"); } __extends(b, a); Object.defineProperty(b.prototype, "bytesAvailable", {get:function() { k("packageInternal flash.utils.ObjectInput::get bytesAvailable"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "objectEncoding", {get:function() { k("packageInternal flash.utils.ObjectInput::get objectEncoding"); }, set:function(a) { k("packageInternal flash.utils.ObjectInput::set objectEncoding"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "endian", {get:function() { k("packageInternal flash.utils.ObjectInput::get endian"); }, set:function(a) { m(a); k("packageInternal flash.utils.ObjectInput::set endian"); }, enumerable:!0, configurable:!0}); b.prototype.readBytes = function(a, b, c) { k("packageInternal flash.utils.ObjectInput::readBytes"); }; b.prototype.readBoolean = function() { k("packageInternal flash.utils.ObjectInput::readBoolean"); }; b.prototype.readByte = function() { k("packageInternal flash.utils.ObjectInput::readByte"); }; b.prototype.readUnsignedByte = function() { k("packageInternal flash.utils.ObjectInput::readUnsignedByte"); }; b.prototype.readShort = function() { k("packageInternal flash.utils.ObjectInput::readShort"); }; b.prototype.readUnsignedShort = function() { k("packageInternal flash.utils.ObjectInput::readUnsignedShort"); }; b.prototype.readInt = function() { k("packageInternal flash.utils.ObjectInput::readInt"); }; b.prototype.readUnsignedInt = function() { k("packageInternal flash.utils.ObjectInput::readUnsignedInt"); }; b.prototype.readFloat = function() { k("packageInternal flash.utils.ObjectInput::readFloat"); }; b.prototype.readDouble = function() { k("packageInternal flash.utils.ObjectInput::readDouble"); }; b.prototype.readMultiByte = function(a, b) { m(b); k("packageInternal flash.utils.ObjectInput::readMultiByte"); }; b.prototype.readUTF = function() { k("packageInternal flash.utils.ObjectInput::readUTF"); }; b.prototype.readUTFBytes = function(a) { k("packageInternal flash.utils.ObjectInput::readUTFBytes"); }; b.prototype.readObject = function() { k("packageInternal flash.utils.ObjectInput::readObject"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); f.ObjectInput = d; })(f.utils || (f.utils = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b() { k("Dummy Constructor: packageInternal flash.utils.ObjectOutput"); } __extends(b, a); Object.defineProperty(b.prototype, "objectEncoding", {get:function() { k("packageInternal flash.utils.ObjectOutput::get objectEncoding"); }, set:function(a) { k("packageInternal flash.utils.ObjectOutput::set objectEncoding"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "endian", {get:function() { k("packageInternal flash.utils.ObjectOutput::get endian"); }, set:function(a) { m(a); k("packageInternal flash.utils.ObjectOutput::set endian"); }, enumerable:!0, configurable:!0}); b.prototype.writeBytes = function(a, b, c) { k("packageInternal flash.utils.ObjectOutput::writeBytes"); }; b.prototype.writeBoolean = function(a) { k("packageInternal flash.utils.ObjectOutput::writeBoolean"); }; b.prototype.writeByte = function(a) { k("packageInternal flash.utils.ObjectOutput::writeByte"); }; b.prototype.writeShort = function(a) { k("packageInternal flash.utils.ObjectOutput::writeShort"); }; b.prototype.writeInt = function(a) { k("packageInternal flash.utils.ObjectOutput::writeInt"); }; b.prototype.writeUnsignedInt = function(a) { k("packageInternal flash.utils.ObjectOutput::writeUnsignedInt"); }; b.prototype.writeFloat = function(a) { k("packageInternal flash.utils.ObjectOutput::writeFloat"); }; b.prototype.writeDouble = function(a) { k("packageInternal flash.utils.ObjectOutput::writeDouble"); }; b.prototype.writeMultiByte = function(a, b) { m(a); m(b); k("packageInternal flash.utils.ObjectOutput::writeMultiByte"); }; b.prototype.writeUTF = function(a) { m(a); k("packageInternal flash.utils.ObjectOutput::writeUTF"); }; b.prototype.writeUTFBytes = function(a) { m(a); k("packageInternal flash.utils.ObjectOutput::writeUTFBytes"); }; b.prototype.writeObject = function(a) { k("packageInternal flash.utils.ObjectOutput::writeObject"); }; b.classInitializer = null; b.initializer = null; b.classSymbols = null; b.instanceSymbols = null; return b; }(g.ASNative); f.ObjectOutput = d; })(f.utils || (f.utils = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, b) { k("Dummy Constructor: public flash.utils.Timer"); } __extends(a, b); Object.defineProperty(a.prototype, "running", {get:function() { return this._running; }, enumerable:!0, configurable:!0}); a.prototype.stop = function() { this._running = !1; clearInterval(this._interval); }; a.prototype._start = function(a, b) { this._delay = +a; this._running = !0; this._interval = setInterval(b, a); }; a.prototype._tick = function() { this._running && f.utils.Timer.dispatchingEnabled && this.dispatchEvent(new f.events.TimerEvent("timer", !0, !1)); }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = ["start!"]; a.dispatchingEnabled = !0; return a; }(f.events.EventDispatcher); g.Timer = m; })(f.utils || (f.utils = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = function(b) { function a(a, b, d, e) { k("Dummy Constructor: packageInternal flash.utils.SetIntervalTimer"); } __extends(a, b); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(f.utils.Timer); g.SetIntervalTimer = m; })(f.utils || (f.utils = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b(a, c) { m(c); k("Dummy Constructor: public flash.xml.XMLNode"); } __extends(b, a); b.escapeXML = function(a) { m(a); k("public flash.xml.XMLNode::static escapeXML"); }; b.initializer = null; return b; }(g.ASNative); f.XMLNode = d; })(f.xml || (f.xml = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(g) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b(a) { "undefined" === typeof a && (a = null); m(a); k("Dummy Constructor: public flash.xml.XMLDocument"); } __extends(b, a); b.initializer = null; return b; }(f.xml.XMLNode); g.XMLDocument = d; })(f.xml || (f.xml = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = function(b) { function a() { k("Dummy Constructor: public flash.xml.XMLNodeType"); } __extends(a, b); a.initializer = null; return a; }(g.ASNative); f.XMLNodeType = m; })(f.xml || (f.xml = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b() { k("Dummy Constructor: packageInternal flash.xml.XMLParser"); } __extends(b, a); b.prototype.startParse = function(a, b) { m(a); k("packageInternal flash.xml.XMLParser::startParse"); }; b.prototype.getNext = function(a) { k("packageInternal flash.xml.XMLParser::getNext"); }; b.initializer = null; return b; }(g.ASNative); f.XMLParser = d; })(f.xml || (f.xml = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { (function(f) { var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) { function b() { k("Dummy Constructor: packageInternal flash.xml.XMLTag"); } __extends(b, a); Object.defineProperty(b.prototype, "type", {get:function() { k("packageInternal flash.xml.XMLTag::get type"); }, set:function(a) { k("packageInternal flash.xml.XMLTag::set type"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "empty", {get:function() { k("packageInternal flash.xml.XMLTag::get empty"); }, set:function(a) { k("packageInternal flash.xml.XMLTag::set empty"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "value", {get:function() { k("packageInternal flash.xml.XMLTag::get value"); }, set:function(a) { m(a); k("packageInternal flash.xml.XMLTag::set value"); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "attrs", {get:function() { k("packageInternal flash.xml.XMLTag::get attrs"); }, set:function(a) { k("packageInternal flash.xml.XMLTag::set attrs"); }, enumerable:!0, configurable:!0}); b.initializer = null; return b; }(g.ASNative); f.XMLTag = d; })(f.xml || (f.xml = {})); })(g.flash || (g.flash = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = b.Debug.notImplemented, f = b.isInteger, t = b.Debug.assert, s = b.Debug.warning, m = b.Bounds, d = b.AVM2.AS.flash, a = b.AVM2.AS.flash.display.ActionScriptVersion, c = function() { return function(a, b) { this.id = -1; t(f(a)); this.id = a; this.symbolClass = b; this.isAVM1Object = !1; }; }(); k.Symbol = c; var n = function(a) { function b(c, d, h) { "undefined" === typeof h && (h = !0); a.call(this, c, d); this.dynamic = h; } __extends(b, a); b.prototype._setBoundsFromData = function(a) { this.fillBounds = a.fillBounds ? m.FromUntyped(a.fillBounds) : null; this.lineBounds = a.lineBounds ? m.FromUntyped(a.lineBounds) : null; !this.lineBounds && this.fillBounds && (this.lineBounds = this.fillBounds.clone()); }; return b; }(c); k.DisplaySymbol = n; var p = function(a) { function b(c, e) { "undefined" === typeof e && (e = d.display.Shape); a.call(this, c, e, !1); this.graphics = null; } __extends(b, a); b.FromData = function(a, c) { var h = new b(a.id); h._setBoundsFromData(a); h.graphics = d.display.Graphics.FromData(a); h.processRequires(a.require, c); return h; }; b.prototype.processRequires = function(a, b) { if (a) { for (var c = this.graphics._textures, d = 0;d < a.length;d++) { var e = b.getSymbolById(a[d]); t(e, "Bitmap symbol is not defined."); var f = e.symbolClass.initializeFrom(e); e.symbolClass.instanceConstructorNoInitialize.call(f); c.push(f); } } }; return b; }(n); k.ShapeSymbol = p; p = function(a) { function b(c) { a.call(this, c, d.display.MorphShape); } __extends(b, a); b.FromData = function(a, c) { var h = new b(a.id); h._setBoundsFromData(a); h.graphics = d.display.Graphics.FromData(a); h.processRequires(a.require, c); h.morphFillBounds = a.morphFillBounds; h.morphLineBounds = a.morphLineBounds; return h; }; return b; }(p); k.MorphShapeSymbol = p; p = function(a) { function b(c) { a.call(this, c, d.display.BitmapData); } __extends(b, a); b.FromData = function(a) { var c = new b(a.id); c.width = a.width; c.height = a.height; c.data = a.data; switch(a.mimeType) { case "application/octet-stream": c.type = a.dataType; break; case "image/jpeg": c.type = 4; break; case "image/png": c.type = 5; break; case "image/gif": c.type = 6; break; default: g(a.mimeType); } return c; }; return b; }(n); k.BitmapSymbol = p; p = function(a) { function c(b) { a.call(this, b, d.text.TextField); this.size = this.color = 0; this.font = ""; this.fontClass = null; this.align = d.text.TextFormatAlign.LEFT; this.leading = this.indent = this.rightMargin = this.leftMargin = 0; this.embedFonts = this.wordWrap = this.multiline = !1; this.selectable = !0; this.border = !1; this.initialText = ""; this.displayAsPassword = this.html = !1; this.type = d.text.TextFieldType.DYNAMIC; this.maxChars = 0; this.autoSize = d.text.TextFieldAutoSize.NONE; this.textContent = this.variableName = null; } __extends(c, a); c.FromTextData = function(a) { var e = new c(a.id); e._setBoundsFromData(a); var h = a.tag; if (a.static && (e.dynamic = !1, e.symbolClass = d.text.StaticText, h.initialText)) { var f = new b.TextContent; f.bounds = e.lineBounds; f.parseHtml(h.initialText); f.matrix = d.geom.Matrix.FromUntyped(a.matrix); f.coords = a.coords; e.textContent = f; } h.hasColor && (e.color = h.color >>> 8); h.hasFont && (e.size = h.fontHeight, (a = d.text.Font.getBySymbolId(h.fontId)) ? (e.font = a.fontName, h.fontClass && (e.fontClass = b.AVM2.Runtime.AVM2.instance.applicationDomain.getClass(h.fontClass))) : s("Font " + h.fontId + " is not defined.")); h.hasLayout && (e.align = d.text.TextFormatAlign.fromNumber(h.align), e.leftMargin = h.leftMargin, e.rightMargin = h.rightMargin, e.indent = h.indent, e.leading = h.leading); e.multiline = !!h.multiline; e.wordWrap = !!h.wordWrap; e.embedFonts = !!h.useOutlines; e.selectable = !h.noSelect; e.border = !!h.border; h.hasText && (e.initialText = h.initialText); e.html = !!h.html; e.displayAsPassword = !!h.password; e.type = h.readonly ? d.text.TextFieldType.DYNAMIC : d.text.TextFieldType.INPUT; h.hasMaxLength && (e.maxChars = h.maxLength); e.autoSize = h.autoSize ? d.text.TextFieldAutoSize.LEFT : d.text.TextFieldAutoSize.NONE; e.variableName = h.variableName; return e; }; return c; }(n); k.TextSymbol = p; p = function(b) { function c(a) { b.call(this, a, d.display.SimpleButton); this.hitTestState = this.downState = this.overState = this.upState = null; } __extends(c, b); c.FromData = function(b, e) { var h = new c(b.id); e.actionScriptVersion === a.ACTIONSCRIPT2 && (h.isAVM1Object = !0, h.buttonActions = b.buttonActions); var f = b.states, g, l, m, n; for (n in f) { var p = f[n]; 1 === p.length ? (p = p[0], g = e.getSymbolById(p.symbolId), l = d.geom.Matrix.FromUntyped(p.matrix), p.cxform && (m = d.geom.ColorTransform.FromCXForm(p.cxform))) : (g = new k.SpriteSymbol(-1), g.frames.push(new q(e, p))); h[n + "State"] = new k.AnimationState(g, 0, l, m); } return h; }; return c; }(n); k.ButtonSymbol = p; n = function(b) { function c(a, e) { "undefined" === typeof e && (e = !1); b.call(this, a, d.display.MovieClip); this.numFrames = 1; this.frames = []; this.labels = []; this.frameScripts = []; this.isRoot = e; } __extends(c, b); c.FromData = function(b, e) { var h = new c(b.id); h.numFrames = b.frameCount; e.actionScriptVersion === a.ACTIONSCRIPT2 && (h.isAVM1Object = !0, h.avm1Context = e._avm1Context); h.frameScripts = b.frameScripts; for (var f = b.frames, g = 1, k = 0;k < f.length;k++) { for (var l = f[k], m = new q(e, l.commands), n = l.repeat;n--;) { h.frames.push(m); } l.labelName && h.labels.push(new d.display.FrameLabel(l.labelName, g)); g += l.repeat; } return h; }; return c; }(n); k.SpriteSymbol = n; n = function(a) { function b(c) { a.call(this, c, d.text.Font); this.name = ""; this.italic = this.bold = !1; } __extends(b, a); b.FromData = function(a) { var c = new b(a.id); c.name = a.name; c.bold = a.bold; c.italic = a.italic; c.data = a.data; c.metrics = a.metrics; return c; }; return b; }(c); k.FontSymbol = n; n = function(a) { function b(c) { a.call(this, c, d.media.Sound); } __extends(b, a); b.FromData = function(a) { var c = new b(a.id); c.channels = a.channels; c.sampleRate = a.sampleRate; c.pcm = a.pcm; c.packaged = a.packaged; return c; }; return b; }(c); k.SoundSymbol = n; c = function(a) { function b(c) { a.call(this, c, d.utils.ByteArray); } __extends(b, a); b.FromData = function(a) { var c = new b(a.id); c.buffer = a.data; c.byteLength = a.data.byteLength; return c; }; return b; }(c); k.BinarySymbol = c; c = function() { function a(b, c, d, h, e, f, g, k, l, m, n, p, q) { "undefined" === typeof b && (b = null); "undefined" === typeof c && (c = 0); "undefined" === typeof d && (d = null); "undefined" === typeof h && (h = null); "undefined" === typeof e && (e = 0); "undefined" === typeof f && (f = null); "undefined" === typeof g && (g = -1); "undefined" === typeof k && (k = null); "undefined" === typeof l && (l = null); "undefined" === typeof m && (m = !1); "undefined" === typeof n && (n = !0); "undefined" === typeof p && (p = null); "undefined" === typeof q && (q = null); this.symbol = b; this.depth = c; this.matrix = d; this.colorTransform = h; this.ratio = e; this.name = f; this.clipDepth = g; this.filters = k; this.blendMode = l; this.cacheAsBitmap = m; this.visible = n; this.events = p; this.variableName = q; } a.prototype.canBeAnimated = function(a) { if (!a._hasFlags(2048) || a._depth !== this.depth) { return!1; } var b = this.symbol; return!b || !b.dynamic && a._clipDepth === this.clipDepth && b.symbolClass.isType(a) ? !0 : !1; }; return a; }(); k.AnimationState = c; var e = function() { return function(a, b) { this.soundId = a; this.soundInfo = b; }; }(); k.SoundStart = e; var q = function() { function c(a, b) { this.loaderInfo = a; this.commands = b; this._stateAtDepth = null; this._soundStarts = void 0; } Object.defineProperty(c.prototype, "stateAtDepth", {get:function() { return this._stateAtDepth || this._initialize(); }, enumerable:!0, configurable:!0}); Object.defineProperty(c.prototype, "soundStarts", {get:function() { void 0 === this._soundStarts && this._initialize(); return this._soundStarts; }, enumerable:!0, configurable:!0}); c.prototype._initialize = function() { for (var c = this._stateAtDepth = Object.create(null), f = null, g = this.commands, h = this.loaderInfo, l = 0;l < g.length;l++) { var m = g[l], n = m.depth; switch(m.code) { case 5: ; case 28: c[n] = null; break; case 15: f || (f = []); f.push(new e(m.soundId, m.soundInfo)); break; default: var p = null, q = null, E = null, O = null, K = null; if (m.symbolId && (p = h.getSymbolById(m.symbolId), !p)) { s("Symbol " + m.symbolId + " is not defined."); continue; } m.flags & 4 && (q = d.geom.Matrix.FromUntyped(m.matrix)); m.flags & 8 && (E = d.geom.ColorTransform.FromCXForm(m.cxform)); if (m.flags & 256) { for (var O = [], F = m.filters, J = 0;J < F.length;J++) { var A = F[J], B; switch(A.type) { case 0: B = d.filters.DropShadowFilter.FromUntyped(A); break; case 1: B = d.filters.BlurFilter.FromUntyped(A); break; case 2: B = d.filters.GlowFilter.FromUntyped(A); break; case 3: B = d.filters.BevelFilter.FromUntyped(A); break; case 4: B = d.filters.GradientGlowFilter.FromUntyped(A); break; case 5: B = d.filters.ConvolutionFilter.FromUntyped(A); break; case 6: B = d.filters.ColorMatrixFilter.FromUntyped(A); break; case 7: B = d.filters.GradientBevelFilter.FromUntyped(A); } t(B, "Unknown filter type."); O.push(B); } } if (m.flags & 128 && h._allowCodeExecution && h._actionScriptVersion === a.ACTIONSCRIPT2) { for (F = m.events, K = [], J = 0;J < F.length;J++) { A = F[J]; if (A.eoe) { break; } var z = function(a, c) { return function() { var d = c._avm1Context, h = b.AVM2.AS.avm1lib.getAVM1Object(this); return d.executeActions(a, h); }; }(new b.AVM1.AVM1ActionsData(A.actionsData, "s" + m.symbolId + "e" + J), h), P = [], D; for (D in A) { if (0 === D.indexOf("on") && A[D]) { var L = D[2].toLowerCase() + D.substring(3); "enterFrame" === L && (L = "frameConstructed"); P.push(L); } } K.push({eventNames:P, handler:z, keyPress:A.keyPress}); } } m = new k.AnimationState(p, n, q, E, m.ratio, m.name, m.clipDepth, O, d.display.BlendMode.fromNumber(m.blendMode), !!(m.flags & 1024), m.flags & 512 ? !!m.visibility : !0, K, m.variableName); c[n] = m; } } this._soundStarts = f; this.commands = null; return c; }; return c; }(); k.FrameDelta = q; })(b.Timeline || (b.Timeline = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { function f(a, b, d) { return{classSimpleName:a, nativeName:b, cls:d}; } function t(c, d, f) { Object.defineProperty(c, f, {get:function() { a(b.AVM2.Runtime.AVM2.instance, "AVM2 needs to be initialized."); var e = b.AVM2.Runtime.AVM2.instance.systemDomain.getClass(d); a(e.instanceConstructor); Object.defineProperty(c, f, {value:e.instanceConstructor, writable:!1}); return c[f]; }, configurable:!0}); } var s = b.AVM2.Runtime.throwError, m = b.AVM2.AS.flash, d = b.AVM2.ABC.Multiname, a = b.Debug.assert; jsGlobal.flash = b.AVM2.AS.flash; g.linkNatives = function(a) { [f("flash.display.DisplayObject", "DisplayObjectClass", m.display.DisplayObject), f("flash.display.InteractiveObject", "InteractiveObjectClass", m.display.InteractiveObject), f("flash.display.DisplayObjectContainer", "ContainerClass", m.display.DisplayObjectContainer), f("flash.display.Sprite", "SpriteClass", m.display.Sprite), f("flash.display.MovieClip", "MovieClipClass", m.display.MovieClip), f("flash.display.Shape", "ShapeClass", m.display.Shape), f("flash.display.Bitmap", "BitmapClass", m.display.Bitmap), f("flash.display.BitmapData", "BitmapDataClass", m.display.BitmapData), f("flash.display.Stage", "StageClass", m.display.Stage), f("flash.display.Loader", "LoaderClass", m.display.Loader), f("flash.display.LoaderInfo", "LoaderInfoClass", m.display.LoaderInfo), f("flash.display.Graphics", "GraphicsClass", m.display.Graphics), f("flash.display.SimpleButton", "SimpleButtonClass", m.display.SimpleButton), f("flash.display.MorphShape", "MorphShapeClass", m.display.MorphShape), f("flash.display.NativeMenu", "MenuClass", m.display.NativeMenu), f("flash.display.NativeMenuItem", "MenuItemClass", m.display.NativeMenuItem), f("flash.display.FrameLabel", "FrameLabelClass", m.display.FrameLabel), f("flash.display.Scene", "SceneClass", m.display.Scene), f("flash.display.AVM1Movie", "AVM1MovieClass", m.display.AVM1Movie), f("flash.filters.BevelFilter", "BevelFilterClass", m.filters.BevelFilter), f("flash.filters.BitmapFilter", "BitmapFilterClass", m.filters.BitmapFilter), f("flash.filters.BlurFilter", "BlurFilterClass", m.filters.BlurFilter), f("flash.filters.ColorMatrixFilter", "ColorMatrixFilterClass", m.filters.ColorMatrixFilter), f("flash.filters.ConvolutionFilter", "ConvolutionFilterClass", m.filters.ConvolutionFilter), f("flash.filters.DisplacementMapFilter", "DisplacementMapFilterClass", m.filters.DisplacementMapFilter), f("flash.filters.DropShadowFilter", "DropShadowFilterClass", m.filters.DropShadowFilter), f("flash.filters.GlowFilter", "GlowFilterClass", m.filters.GlowFilter), f("flash.filters.GradientBevelFilter", "GradientBevelFilterClass", m.filters.GradientBevelFilter), f("flash.filters.GradientGlowFilter", "GradientGlowFilterClass", m.filters.GradientGlowFilter), f("flash.geom.Point", "PointClass", m.geom.Point), f("flash.geom.Rectangle", "RectangleClass", m.geom.Rectangle), f("flash.geom.Matrix", "MatrixClass", m.geom.Matrix), f("flash.geom.Matrix3D", "Matrix3DClass", m.geom.Matrix3D), f("flash.geom.Vector3D", "Vector3DClass", m.geom.Vector3D), f("flash.geom.Transform", "TransformClass", m.geom.Transform), f("flash.geom.ColorTransform", "ColorTransformClass", m.geom.ColorTransform), f("flash.events.EventDispatcher", "EventDispatcherClass", m.events.EventDispatcher), f("flash.events.Event", "EventClass", m.events.Event), f("flash.events.IOErrorEvent"), f("flash.events.KeyboardEvent", "KeyboardEventClass", m.events.KeyboardEvent), f("flash.events.MouseEvent", "MouseEventClass", m.events.MouseEvent), f("flash.events.GestureEvent", "GestureEventClass", m.events.GestureEvent), f("flash.events.TextEvent", "TextEventClass", m.events.TextEvent), f("flash.events.TimerEvent", "TimerEventClass", m.events.TimerEvent), f("flash.events.ProgressEvent", "ProgressEventClass", m.events.ProgressEvent), f("flash.events.NetStatusEvent"), f("flash.events.HTTPStatusEvent"), f("flash.external.ExternalInterface", "ExternalInterfaceClass", m.external.ExternalInterface), f("flash.ui.ContextMenu", "ContextMenuClass", m.ui.ContextMenu), f("flash.ui.ContextMenuItem", "ContextMenuItemClass", m.ui.ContextMenuItem), f("flash.ui.Keyboard", "KeyboardClass", m.ui.Keyboard), f("flash.ui.Mouse", "MouseClass", m.ui.Mouse), f("flash.ui.MouseCursorData", "MouseCursorDataClass", m.ui.MouseCursorData), f("flash.ui.GameInput", "GameInputClass", m.ui.GameInput), f("flash.events.GameInputEvent", "GameInputEventClass", m.events.GameInputEvent), f("flash.ui.GameInputControl", "GameInputControlClass", m.ui.GameInputControl), f("flash.ui.GameInputControlType", "GameInputControlTypeClass", m.ui.GameInputControlType), f("flash.ui.GameInputDevice", "GameInputDeviceClass", m.ui.GameInputDevice), f("flash.ui.GameInputFinger", "GameInputFingerClass", m.ui.GameInputFinger), f("flash.ui.GameInputHand", "GameInputHandClass", m.ui.GameInputHand), f("flash.ui.Multitouch", "MultitouchClass", m.ui.Multitouch), f("flash.ui.MultitouchInputMode", "MultitouchInputModeClass", m.ui.MultitouchInputMode), f("flash.events.TouchEvent", "TouchEventClass", m.events.TouchEvent), f("flash.text.Font", "FontClass", m.text.Font), f("flash.text.TextField", "TextFieldClass", m.text.TextField), f("flash.text.StaticText", "StaticTextClass", m.text.StaticText), f("flash.text.StyleSheet", "StyleSheetClass", m.text.StyleSheet), f("flash.text.TextFormat", "TextFormatClass", m.text.TextFormat), f("flash.text.TextRun", "TextRunClass", m.text.TextRun), f("flash.text.TextLineMetrics"), f("flash.media.Sound", "SoundClass", m.media.Sound), f("flash.media.SoundChannel", "SoundChannelClass", m.media.SoundChannel), f("flash.media.SoundMixer", "SoundMixerClass", m.media.SoundMixer), f("flash.media.SoundTransform", "SoundTransformClass", m.media.SoundTransform), f("flash.media.Video", "VideoClass", m.media.Video), f("flash.media.ID3Info", "ID3InfoClass", m.media.ID3Info), f("flash.media.Microphone", "MicrophoneClass", m.media.Microphone), f("flash.net.FileFilter", "FileFilterClass", m.net.FileFilter), f("flash.net.NetConnection", "NetConnectionClass", m.net.NetConnection), f("flash.net.NetStream", "NetStreamClass", m.net.NetStream), f("flash.net.Responder", "ResponderClass", m.net.Responder), f("flash.net.URLRequest", "URLRequestClass", m.net.URLRequest), f("flash.net.URLRequestHeader"), f("flash.net.URLStream", "URLStreamClass", m.net.URLStream), f("flash.net.URLLoader", "URLLoaderClass", m.net.URLLoader), f("flash.net.SharedObject", "SharedObjectClass", m.net.SharedObject), f("flash.net.ObjectEncoding", "ObjectEncodingClass", m.net.ObjectEncoding), f("flash.net.LocalConnection", "LocalConnectionClass", m.net.LocalConnection), f("flash.net.Socket", "SocketClass", m.net.Socket), f("flash.net.URLVariables", "URLVariablesClass", m.net.URLVariables), f("packageInternal flash.system.FSCommand", "FSCommandClass", m.system.FSCommand), f("flash.system.Capabilities", "CapabilitiesClass", m.system.Capabilities), f("flash.system.Security", "SecurityClass", m.system.Security), f("flash.system.SecurityDomain", "SecurityDomainClass", m.system.SecurityDomain), f("flash.system.ApplicationDomain", "ApplicationDomainClass", m.system.ApplicationDomain), f("flash.system.JPEGLoaderContext", "JPEGLoaderContextClass", m.system.JPEGLoaderContext), f("flash.accessibility.Accessibility", "AccessibilityClass", m.accessibility.Accessibility), f("flash.utils.Timer", "TimerClass", m.utils.Timer), f("flash.utils.ByteArray", "ByteArrayClass", m.utils.ByteArray), f("avm1lib.AVM1Utils", "AVM1Utils", b.AVM2.AS.avm1lib.AVM1Utils), f("avm1lib.AVM1Broadcaster"), f("avm1lib.AVM1Key"), f("avm1lib.AVM1Mouse"), f("avm1lib.AVM1MovieClip", "AVM1MovieClip", b.AVM2.AS.avm1lib.AVM1MovieClip), f("avm1lib.AVM1BitmapData", "AVM1BitmapData", b.AVM2.AS.avm1lib.AVM1BitmapData), f("avm1lib.AVM1Button", "AVM1Button", b.AVM2.AS.avm1lib.AVM1Button), f("avm1lib.AVM1Sound"), f("avm1lib.AVM1TextField", "AVM1TextField", b.AVM2.AS.avm1lib.AVM1TextField), f("avm1lib.AVM1Stage"), f("avm1lib.AVM1System"), f("avm1lib.AVM1Color"), f("avm1lib.AVM1Transform"), f("avm1lib.AVM1Globals", "AVM1Globals", b.AVM2.AS.avm1lib.AVM1Globals), f("avm1lib.AVM1MovieClipLoader", "AVM1MovieClipLoader", b.AVM2.AS.avm1lib.AVM1MovieClipLoader)].forEach(function(a) { for (var c = d.fromSimpleName(a.classSimpleName).getOriginalName().split("."), e = b.AVM2.AS, f = 0, k = c.length - 1;f < k;f++) { e[c[f]] || (e[c[f]] = {}), e = e[c[f]]; } t(e, a.classSimpleName, c[c.length - 1]); g.registerNativeClass(a.nativeName, a.cls); }); g.registerNativeFunction("FlashUtilScript::getDefinitionByName", b.AVM2.AS.Natives.getDefinitionByName); g.registerNativeFunction("FlashUtilScript::getTimer", function() { return Date.now() - m.display.Loader.runtimeStartTime; }); g.registerNativeFunction("FlashUtilScript::escapeMultiByte", escape); g.registerNativeFunction("FlashUtilScript::unescapeMultiByte", unescape); g.registerNativeFunction("FlashNetScript::navigateToURL", function(a, c) { null !== a && void 0 !== a || s("TypeError", k.Errors.NullPointerError, "request"); b.AVM2.Runtime.AVM2.instance.systemDomain.getClass("flash.net.URLRequest").isInstanceOf(a) || s("TypeError", k.Errors.CheckTypeFailedError, a, "flash.net.URLRequest"); var e = a.url; if (/^fscommand:/i.test(e)) { b.AVM2.Runtime.AVM2.instance.applicationDomain.getProperty(d.fromSimpleName("flash.system.fscommand"), !0, !0).call(null, e.substring(10), c); } else { var f = c || "_parent"; window.open(b.FileLoadingService.instance.resolveUrl(e), f); } }); g.registerNativeFunction("FlashNetScript::sendToURL", function(a) { null !== a && void 0 !== a || s("TypeError", k.Errors.NullPointerError, "request"); b.AVM2.Runtime.AVM2.instance.systemDomain.getClass("flash.net.URLRequest").isInstanceOf(a) || s("TypeError", k.Errors.CheckTypeFailedError, a, "flash.net.URLRequest"); var c = b.FileLoadingService.instance.createSession(); c.onprogress = function() { }; c.open(a); }); g.registerNativeFunction("Toplevel::registerClassAlias", function(a, b) { a || s("TypeError", k.Errors.NullPointerError, "aliasName"); b || s("TypeError", k.Errors.NullPointerError, "classObject"); k.aliasesCache.classes.set(b, a); k.aliasesCache.names[a] = b; }); g.registerNativeFunction("Toplevel::getClassByAlias", function(a) { a || s("TypeError", k.Errors.NullPointerError, "aliasName"); var b = k.aliasesCache.names[a]; b || s("ReferenceError", k.Errors.ClassNotFoundError, a); return b; }); g.registerNativeFunction("isFinite", isFinite); }; })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); console.timeEnd("Load Flash TS Dependencies"); console.time("Load AVM1 Dependencies"); (function(b) { (function(b) { var g = function() { function b(f, g) { this.array = f; this.position = 0; this.end = f.length; this.readANSI = 6 > g; var k = new ArrayBuffer(4); (new Int32Array(k))[0] = 1; if (!(new Uint8Array(k))[0]) { throw Error("big-endian platform"); } } b.prototype.readUI8 = function() { return this.array[this.position++]; }; b.prototype.readUI16 = function() { var b = this.position, f = this.array, f = f[b + 1] << 8 | f[b]; this.position = b + 2; return f; }; b.prototype.readSI16 = function() { var b = this.position, f = this.array, f = f[b + 1] << 8 | f[b]; this.position = b + 2; return 32768 > f ? f : f - 65536; }; b.prototype.readInteger = function() { var b = this.position, f = this.array, f = f[b] | f[b + 1] << 8 | f[b + 2] << 16 | f[b + 3] << 24; this.position = b + 4; return f; }; b.prototype.readFloat = function() { var b = this.position, f = this.array, g = new ArrayBuffer(4), d = new Uint8Array(g); d[0] = f[b]; d[1] = f[b + 1]; d[2] = f[b + 2]; d[3] = f[b + 3]; this.position = b + 4; return(new Float32Array(g))[0]; }; b.prototype.readDouble = function() { var b = this.position, f = this.array, g = new ArrayBuffer(8), d = new Uint8Array(g); d[4] = f[b]; d[5] = f[b + 1]; d[6] = f[b + 2]; d[7] = f[b + 3]; d[0] = f[b + 4]; d[1] = f[b + 5]; d[2] = f[b + 6]; d[3] = f[b + 7]; this.position = b + 8; return(new Float64Array(g))[0]; }; b.prototype.readBoolean = function() { return!!this.readUI8(); }; b.prototype.readANSIString = function() { for (var b = "", f;f = this.readUI8();) { b += String.fromCharCode(f); } return b; }; b.prototype.readUTF8String = function() { for (var b = "", f;f = this.readUI8();) { if (128 > f) { b += String.fromCharCode(f); } else { if (128 === (f & 192)) { throw Error("Invalid UTF8 encoding"); } var g = 192, d = 5; do { var a = g >> 1 | 128; if ((f & a) === g) { break; } g = a; --d; } while (0 <= d); g = f & (1 << d) - 1; for (a = 5;a >= d;--a) { f = this.readUI8(); if (128 !== (f & 192)) { throw Error("Invalid UTF8 encoding"); } g = g << 6 | f & 63; } b = 65536 <= g ? b + String.fromCharCode(g - 65536 >> 10 & 1023 | 55296, g & 1023 | 56320) : b + String.fromCharCode(g); } } return b; }; b.prototype.readString = function() { return this.readANSI ? this.readANSIString() : this.readUTF8String(); }; b.prototype.readBytes = function(b) { var f = this.position, g = Math.max(this.end - f, 0); g < b && (b = g); g = this.array.subarray(f, f + b); this.position = f + b; return g; }; return b; }(); b.ActionsDataStream = g; })(b.AVM1 || (b.AVM1 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { b[b.None = 0] = "None"; b[b.ActionGotoFrame = 129] = "ActionGotoFrame"; b[b.ActionGetURL = 131] = "ActionGetURL"; b[b.ActionNextFrame = 4] = "ActionNextFrame"; b[b.ActionPreviousFrame = 5] = "ActionPreviousFrame"; b[b.ActionPlay = 6] = "ActionPlay"; b[b.ActionStop = 7] = "ActionStop"; b[b.ActionToggleQuality = 8] = "ActionToggleQuality"; b[b.ActionStopSounds = 9] = "ActionStopSounds"; b[b.ActionWaitForFrame = 138] = "ActionWaitForFrame"; b[b.ActionSetTarget = 139] = "ActionSetTarget"; b[b.ActionGoToLabel = 140] = "ActionGoToLabel"; b[b.ActionPush = 150] = "ActionPush"; b[b.ActionPop = 23] = "ActionPop"; b[b.ActionAdd = 10] = "ActionAdd"; b[b.ActionSubtract = 11] = "ActionSubtract"; b[b.ActionMultiply = 12] = "ActionMultiply"; b[b.ActionDivide = 13] = "ActionDivide"; b[b.ActionEquals = 14] = "ActionEquals"; b[b.ActionLess = 15] = "ActionLess"; b[b.ActionAnd = 16] = "ActionAnd"; b[b.ActionOr = 17] = "ActionOr"; b[b.ActionNot = 18] = "ActionNot"; b[b.ActionStringEquals = 19] = "ActionStringEquals"; b[b.ActionStringLength = 20] = "ActionStringLength"; b[b.ActionMBStringLength = 49] = "ActionMBStringLength"; b[b.ActionStringAdd = 33] = "ActionStringAdd"; b[b.ActionStringExtract = 21] = "ActionStringExtract"; b[b.ActionMBStringExtract = 53] = "ActionMBStringExtract"; b[b.ActionStringLess = 41] = "ActionStringLess"; b[b.ActionToInteger = 24] = "ActionToInteger"; b[b.ActionCharToAscii = 50] = "ActionCharToAscii"; b[b.ActionMBCharToAscii = 54] = "ActionMBCharToAscii"; b[b.ActionAsciiToChar = 51] = "ActionAsciiToChar"; b[b.ActionMBAsciiToChar = 55] = "ActionMBAsciiToChar"; b[b.ActionJump = 153] = "ActionJump"; b[b.ActionIf = 157] = "ActionIf"; b[b.ActionCall = 158] = "ActionCall"; b[b.ActionGetVariable = 28] = "ActionGetVariable"; b[b.ActionSetVariable = 29] = "ActionSetVariable"; b[b.ActionGetURL2 = 154] = "ActionGetURL2"; b[b.ActionGotoFrame2 = 159] = "ActionGotoFrame2"; b[b.ActionSetTarget2 = 32] = "ActionSetTarget2"; b[b.ActionGetProperty = 34] = "ActionGetProperty"; b[b.ActionSetProperty = 35] = "ActionSetProperty"; b[b.ActionCloneSprite = 36] = "ActionCloneSprite"; b[b.ActionRemoveSprite = 37] = "ActionRemoveSprite"; b[b.ActionStartDrag = 39] = "ActionStartDrag"; b[b.ActionEndDrag = 40] = "ActionEndDrag"; b[b.ActionWaitForFrame2 = 141] = "ActionWaitForFrame2"; b[b.ActionTrace = 38] = "ActionTrace"; b[b.ActionGetTime = 52] = "ActionGetTime"; b[b.ActionRandomNumber = 48] = "ActionRandomNumber"; b[b.ActionCallFunction = 61] = "ActionCallFunction"; b[b.ActionCallMethod = 82] = "ActionCallMethod"; b[b.ActionConstantPool = 136] = "ActionConstantPool"; b[b.ActionDefineFunction = 155] = "ActionDefineFunction"; b[b.ActionDefineLocal = 60] = "ActionDefineLocal"; b[b.ActionDefineLocal2 = 65] = "ActionDefineLocal2"; b[b.ActionDelete = 58] = "ActionDelete"; b[b.ActionDelete2 = 59] = "ActionDelete2"; b[b.ActionEnumerate = 70] = "ActionEnumerate"; b[b.ActionEquals2 = 73] = "ActionEquals2"; b[b.ActionGetMember = 78] = "ActionGetMember"; b[b.ActionInitArray = 66] = "ActionInitArray"; b[b.ActionInitObject = 67] = "ActionInitObject"; b[b.ActionNewMethod = 83] = "ActionNewMethod"; b[b.ActionNewObject = 64] = "ActionNewObject"; b[b.ActionSetMember = 79] = "ActionSetMember"; b[b.ActionTargetPath = 69] = "ActionTargetPath"; b[b.ActionWith = 148] = "ActionWith"; b[b.ActionToNumber = 74] = "ActionToNumber"; b[b.ActionToString = 75] = "ActionToString"; b[b.ActionTypeOf = 68] = "ActionTypeOf"; b[b.ActionAdd2 = 71] = "ActionAdd2"; b[b.ActionLess2 = 72] = "ActionLess2"; b[b.ActionModulo = 63] = "ActionModulo"; b[b.ActionBitAnd = 96] = "ActionBitAnd"; b[b.ActionBitLShift = 99] = "ActionBitLShift"; b[b.ActionBitOr = 97] = "ActionBitOr"; b[b.ActionBitRShift = 100] = "ActionBitRShift"; b[b.ActionBitURShift = 101] = "ActionBitURShift"; b[b.ActionBitXor = 98] = "ActionBitXor"; b[b.ActionDecrement = 81] = "ActionDecrement"; b[b.ActionIncrement = 80] = "ActionIncrement"; b[b.ActionPushDuplicate = 76] = "ActionPushDuplicate"; b[b.ActionReturn = 62] = "ActionReturn"; b[b.ActionStackSwap = 77] = "ActionStackSwap"; b[b.ActionStoreRegister = 135] = "ActionStoreRegister"; b[b.ActionInstanceOf = 84] = "ActionInstanceOf"; b[b.ActionEnumerate2 = 85] = "ActionEnumerate2"; b[b.ActionStrictEquals = 102] = "ActionStrictEquals"; b[b.ActionGreater = 103] = "ActionGreater"; b[b.ActionStringGreater = 104] = "ActionStringGreater"; b[b.ActionDefineFunction2 = 142] = "ActionDefineFunction2"; b[b.ActionExtends = 105] = "ActionExtends"; b[b.ActionCastOp = 43] = "ActionCastOp"; b[b.ActionImplementsOp = 44] = "ActionImplementsOp"; b[b.ActionTry = 143] = "ActionTry"; b[b.ActionThrow = 42] = "ActionThrow"; b[b.ActionFSCommand2 = 45] = "ActionFSCommand2"; b[b.ActionStrictMode = 137] = "ActionStrictMode"; })(b.ActionCode || (b.ActionCode = {})); var g = function() { return function(b) { this.registerNumber = b; }; }(); b.ParsedPushRegisterAction = g; var f = function() { return function(b) { this.constantIndex = b; }; }(); b.ParsedPushConstantAction = f; (function(b) { b[b.None = 0] = "None"; b[b.Argument = 1] = "Argument"; b[b.This = 2] = "This"; b[b.Arguments = 4] = "Arguments"; b[b.Super = 8] = "Super"; b[b.Global = 16] = "Global"; b[b.Parent = 32] = "Parent"; b[b.Root = 64] = "Root"; })(b.ArgumentAssignmentType || (b.ArgumentAssignmentType = {})); var t = function() { function m(b) { this.stream = b; } Object.defineProperty(m.prototype, "position", {get:function() { return this.stream.position; }, set:function(b) { this.stream.position = b; }, enumerable:!0, configurable:!0}); Object.defineProperty(m.prototype, "eof", {get:function() { return this.stream.position >= this.stream.end; }, enumerable:!0, configurable:!0}); Object.defineProperty(m.prototype, "length", {get:function() { return this.stream.end; }, enumerable:!0, configurable:!0}); m.prototype.readNext = function() { var d = this.stream, a = d.position, c = d.readUI8(), m = 128 <= c ? d.readUI16() : 0, m = d.position + m, p = null; switch(c | 0) { case 129: var e = d.readUI16(), p = d.readUI8(), q = !1; 6 !== p && 7 !== p ? d.position-- : (m++, q = 6 === p); p = [e, q]; break; case 131: e = d.readString(); p = d.readString(); p = [e, p]; break; case 138: var e = d.readUI16(), l = d.readUI8(), p = [e, l]; break; case 139: p = [d.readString()]; break; case 140: p = [d.readString()]; break; case 150: for (p = [];d.position < m;) { e = d.readUI8(); switch(e | 0) { case 0: e = d.readString(); break; case 1: e = d.readFloat(); break; case 2: e = null; break; case 3: e = void 0; break; case 4: e = new g(d.readUI8()); break; case 5: e = d.readBoolean(); break; case 6: e = d.readDouble(); break; case 7: e = d.readInteger(); break; case 8: e = new f(d.readUI8()); break; case 9: e = new f(d.readUI16()); break; default: console.error("Unknown value type: " + e); d.position = m; continue; } p.push(e); } break; case 153: e = d.readSI16(); p = [e]; break; case 157: e = d.readSI16(); p = [e]; break; case 154: e = d.readUI8(); p = [e]; break; case 159: e = d.readUI8(); p = [e]; e & 2 && p.push(d.readUI16()); break; case 141: l = d.readUI8(); p = [l]; break; case 136: for (var l = d.readUI16(), e = [], u = 0;u < l;u++) { e.push(d.readString()); } p = [e]; break; case 155: p = d.readString(); l = d.readUI16(); q = []; for (u = 0;u < l;u++) { q.push(d.readString()); } e = d.readUI16(); m += e; e = new b.AVM1ActionsData(d.readBytes(e), this.dataId + "_f" + d.position); p = [e, p, q]; break; case 148: e = d.readUI16(); m += e; p = [new b.AVM1ActionsData(d.readBytes(e), this.dataId + "_w" + d.position)]; break; case 135: var w = d.readUI8(), p = [w]; break; case 142: for (var p = d.readString(), l = d.readUI16(), r = d.readUI8(), e = d.readUI16(), h = [], q = [], u = 0;u < l;u++) { var w = d.readUI8(), x = d.readString(); q.push(x); w && (h[w] = {type:1, name:x, index:u}); } l = 1; e & 1 && (h[l++] = {type:2}); e & 4 && (h[l++] = {type:4}); e & 16 && (h[l++] = {type:8}); e & 64 && (h[l++] = {type:64}); e & 128 && (h[l++] = {type:32}); e & 256 && (h[l++] = {type:16}); l = 0; e & 2 && (l |= 2); e & 8 && (l |= 4); e & 32 && (l |= 8); e = d.readUI16(); m += e; e = new b.AVM1ActionsData(d.readBytes(e), this.dataId + "_f" + d.position); p = [e, p, q, r, h, l]; break; case 143: e = d.readUI8(); p = !!(e & 4); q = !!(e & 2); e = !!(e & 1); l = d.readUI16(); u = d.readUI16(); h = d.readUI16(); r = p ? d.readUI8() : d.readString(); m += l + u + h; l = new b.AVM1ActionsData(d.readBytes(l), this.dataId + "_t" + d.position); u = new b.AVM1ActionsData(d.readBytes(u), this.dataId + "_c" + d.position); h = new b.AVM1ActionsData(d.readBytes(h), this.dataId + "_z" + d.position); p = [p, r, l, e, u, q, h]; break; case 137: p = [d.readUI8()]; } d.position = m; return{position:a, actionCode:c, actionName:s[c], args:p}; }; m.prototype.skip = function(b) { for (var a = this.stream;0 < b && a.position < a.end;) { var c = 128 <= a.readUI8() ? a.readUI16() : 0; a.position += c; b--; } }; return m; }(); b.ActionsDataParser = t; var s = {0:"EOA", 4:"ActionNextFrame", 5:"ActionPreviousFrame", 6:"ActionPlay", 7:"ActionStop", 8:"ActionToggleQuality", 9:"ActionStopSounds", 10:"ActionAdd", 11:"ActionSubtract", 12:"ActionMultiply", 13:"ActionDivide", 14:"ActionEquals", 15:"ActionLess", 16:"ActionAnd", 17:"ActionOr", 18:"ActionNot", 19:"ActionStringEquals", 20:"ActionStringLength", 21:"ActionStringExtract", 23:"ActionPop", 24:"ActionToInteger", 28:"ActionGetVariable", 29:"ActionSetVariable", 32:"ActionSetTarget2", 33:"ActionStringAdd", 34:"ActionGetProperty", 35:"ActionSetProperty", 36:"ActionCloneSprite", 37:"ActionRemoveSprite", 38:"ActionTrace", 39:"ActionStartDrag", 40:"ActionEndDrag", 41:"ActionStringLess", 42:"ActionThrow", 43:"ActionCastOp", 44:"ActionImplementsOp", 45:"ActionFSCommand2", 48:"ActionRandomNumber", 49:"ActionMBStringLength", 50:"ActionCharToAscii", 51:"ActionAsciiToChar", 52:"ActionGetTime", 53:"ActionMBStringExtract", 54:"ActionMBCharToAscii", 55:"ActionMBAsciiToChar", 58:"ActionDelete", 59:"ActionDelete2", 60:"ActionDefineLocal", 61:"ActionCallFunction", 62:"ActionReturn", 63:"ActionModulo", 64:"ActionNewObject", 65:"ActionDefineLocal2", 66:"ActionInitArray", 67:"ActionInitObject", 68:"ActionTypeOf", 69:"ActionTargetPath", 70:"ActionEnumerate", 71:"ActionAdd2", 72:"ActionLess2", 73:"ActionEquals2", 74:"ActionToNumber", 75:"ActionToString", 76:"ActionPushDuplicate", 77:"ActionStackSwap", 78:"ActionGetMember", 79:"ActionSetMember", 80:"ActionIncrement", 81:"ActionDecrement", 82:"ActionCallMethod", 83:"ActionNewMethod", 84:"ActionInstanceOf", 85:"ActionEnumerate2", 96:"ActionBitAnd", 97:"ActionBitOr", 98:"ActionBitXor", 99:"ActionBitLShift", 100:"ActionBitRShift", 101:"ActionBitURShift", 102:"ActionStrictEquals", 103:"ActionGreater", 104:"ActionStringGreater", 105:"ActionExtends", 129:"ActionGotoFrame", 131:"ActionGetURL", 135:"ActionStoreRegister", 136:"ActionConstantPool", 137:"ActionStrictMode", 138:"ActionWaitForFrame", 139:"ActionSetTarget", 140:"ActionGoToLabel", 141:"ActionWaitForFrame2", 142:"ActionDefineFunction2", 143:"ActionTry", 148:"ActionWith", 150:"ActionPush", 153:"ActionJump", 154:"ActionGetURL2", 155:"ActionDefineFunction", 157:"ActionIf", 158:"ActionCall", 159:"ActionGotoFrame2"}; })(b.AVM1 || (b.AVM1 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { var g = function() { function b() { } b.prototype.analyze = function(b) { for (var f = [], g = [0], d = [!0], a = [0];0 < a.length;) { var c = a.shift(); if (!f[c]) { for (b.position = c;!b.eof && !f[c];) { var k = b.readNext(); if (0 === k.actionCode) { break; } var p = b.position, e = {action:k, next:p, conditionalJumpTo:-1}, q = 0, l = !1, u = !1; switch(k.actionCode) { case 138: ; case 141: l = !0; b.skip(138 === k.actionCode ? k.args[1] : k.args[0]); q = b.position; b.position = p; break; case 153: l = u = !0; q = p + k.args[0]; break; case 157: l = !0; q = p + k.args[0]; break; case 42: ; case 62: ; case 0: l = u = !0, q = b.length; } if (l) { if (0 > q || q > b.length) { console.error("jump outside the action block;"), q = b.length; } u ? e.next = q : e.conditionalJumpTo = q; d[q] || (g.push(q), a.push(q), d[q] = !0); } f[c] = e; if (u) { break; } c = p; } } } var w = []; g.forEach(function(a) { if (f[a]) { var b = [], c = a; do { c = f[c], b.push(c), c = c.next; } while (!d[c] && f[c]); w.push({label:a, items:b, jump:c}); } }); return{actions:f, blocks:w, dataId:b.dataId}; }; return b; }(); b.ActionsDataAnalyzer = g; })(b.AVM1 || (b.AVM1 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = b.Debug.assert; k.AVM1ActionsData = function() { return function(b, f) { this.bytes = b; this.id = f; g(b instanceof Uint8Array); }; }(); var f = function() { function b() { this.root = null; this.swfVersion = 0; this.globals = null; } b.prototype.flushPendingScripts = function() { }; b.prototype.addAsset = function(b, f, d) { }; b.prototype.registerClass = function(b, f) { }; b.prototype.getAsset = function(b) { }; b.prototype.resolveTarget = function(b) { }; b.prototype.resolveLevel = function(b) { }; b.prototype.addToPendingScripts = function(b) { }; b.prototype.executeActions = function(b, f) { }; b.instance = null; return b; }(); k.AVM1Context = f; })(b.AVM1 || (b.AVM1 = {})); })(Shumway || (Shumway = {})); __extends = this.__extends || function(b, k) { function g() { this.constructor = b; } for (var f in k) { k.hasOwnProperty(f) && (b[f] = k[f]); } g.prototype = k.prototype; b.prototype = new g; }; (function(b) { (function(k) { function g(a) { for (var b = 0;b < arguments.length - 1;b++) { } if (k.avm1ErrorsEnabled.value) { try { throw Error(a); } catch (c) { } } warn.apply(null, arguments); } function f(a) { return "object" === typeof a && a && a instanceof b.AVM2.AS.avm1lib.AVM1MovieClip; } function t(a) { if (null === a) { return "null"; } var b = typeof a; return "function" === b ? "object" : "object" === b && f(a) ? "movieclip" : b; } function s(a) { return "object" !== t(a) ? a : a.valueOf(); } function m() { return k.AVM1Context.instance.swfVersion; } function d(a) { return "object" !== t(a) ? a : a instanceof Date && 6 <= m() ? a.toString() : a.valueOf(); } function a(a) { switch(t(a)) { default: ; case "undefined": ; case "null": return!1; case "boolean": return a; case "number": return 0 !== a && !isNaN(a); case "string": return 0 !== a.length; case "movieclip": ; case "object": return!0; } } function c(a) { a = s(a); switch(t(a)) { case "undefined": ; case "null": return 7 <= m() ? NaN : 0; case "boolean": return a ? 1 : 0; case "number": return a; case "string": return "" === a && 5 > m() ? 0 : +a; default: return 5 <= m() ? NaN : 0; } } function n(a) { a = c(a); return isNaN(a) || !isFinite(a) || 0 === a ? 0 : a | 0; } function p(a) { switch(t(a)) { case "undefined": return 7 <= m() ? "undefined" : ""; case "null": return "null"; case "boolean": return a ? "true" : "false"; case "number": return a.toString(); case "string": return a; case "movieclip": return a.__targetPath; case "object": if ("function" === typeof a && a.asGetPublicProperty("toString") === b.AVM2.AS.ASFunction.traitsPrototype.asGetPublicProperty("toString")) { return "[type Function]"; } var c = a.asCallPublicProperty("toString", null); return "string" === typeof c ? c : "function" === typeof a ? "[type Function]" : "[type Object]"; } } function e(a, b) { var d = s(a), h = s(b); return "string" === typeof d && "string" === typeof h ? d < h : c(d) < c(h); } function q(a, c) { if (b.isNullOrUndefined(a)) { return g("AVM1 warning: cannot look up member '" + c + "' on undefined object"), null; } a = Object(a); if (Lb.getPublicQualifiedName(c) in a) { return c; } if (Mb(c)) { return null; } if (f(a) && a.__lookupChild(c)) { return c; } if (6 < m()) { return null; } var d = null, e = c.toLowerCase(); h(a, function(a) { a.toLowerCase() === e && (d = a); }); return d; } function l(a, c) { if (b.isNullOrUndefined(a)) { g("AVM1 warning: cannot get property '" + c + "' on undefined object"); } else { return a = Object(a), !a.asHasProperty(void 0, c, 0) && f(a) ? a.__lookupChild(c) : a.asGetPublicProperty(c); } } function u(a) { return a && a.asGetPublicProperty("prototype"); } function w(a) { return "undefined" !== typeof InternalError && a instanceof InternalError && "too much recursion" === a.message ? new ua("long running script -- AVM1 recursion limit is reached") : a; } function r(a, c) { var d; if (a instanceof b.AVM2.AS.ASClass) { d = Nb(a, c); } else { if (!La(a)) { return; } d = Object.create(u(a) || u(Object)); a.apply(d, c); } d.constructor = a; return d; } function h(a, b) { Ob(a, b, null); if (f(a)) { for (var c = a._nativeAS3Object, d = 0, h = c._children.length;d < h;d++) { var e = c._children[d].name; a.asHasProperty(void 0, e, 0) || b.call(null, e); } } } function x(a) { var b = a.asGetPublicProperty("prototype"); return "undefined" === typeof Proxy ? (console.error("ES6 proxies are not found"), b) : Proxy.create({getOwnPropertyDescriptor:function(a) { return Object.getOwnPropertyDescriptor(b, a); }, getPropertyDescriptor:function(a) { for (var c = b;c;c = Object.getPrototypeOf(c)) { var d = Object.getOwnPropertyDescriptor(c, a); if (d) { return d; } } }, getOwnPropertyNames:function() { return Object.getOwnPropertyNames(b); }, getPropertyNames:function() { for (var a = Object.getOwnPropertyNames(b), c = Object.getPrototypeOf(b);c;c = Object.getPrototypeOf(c)) { a = a.concat(Object.getOwnPropertyNames(c)); } return a; }, defineProperty:function(c, d) { d && ("function" === typeof d.value && "_setClass" in d.value && d.value._setClass(a), "function" === typeof d.get && "_setClass" in d.get && d.get._setClass(a), "function" === typeof d.set && "_setClass" in d.set && d.set._setClass(a)); return Object.defineProperty(b, c, d); }, delete:function(a) { return delete b[a]; }, fix:function() { }}); } function y(a, b, c) { if (!b.executionProhibited) { var d = Va.get(), h = b.initialScope.create(c), e = k.AVM1Context.instance, f; try { k.AVM1Context.instance = b, b.isActive = !0, b.abortExecutionAt = k.avm1TimeoutDisabled.value ? Number.MAX_VALUE : Date.now() + 1E3, b.errorsIgnored = 0, b.defaultTarget = c, b.currentTarget = null, d.message("ActionScript Execution Starts"), d.indent(), za(a, h, [], []); } catch (g) { f = w(g), f instanceof ua && (b.executionProhibited = !0, console.error("Disabling AVM1 execution")); } b.isActive = !1; b.defaultTarget = null; b.currentTarget = null; d.unindent(); d.message("ActionScript Execution Stops"); k.AVM1Context.instance = e; if (f) { throw f; } } } function G(a, b, c) { var d = a.split(/[\/.]/g); "" === d[d.length - 1] && d.pop(); if ("" === d[0] || "_level0" === d[0] || "_root" === d[0]) { b = c, d.shift(); } for (;0 < d.length;) { c = b; b = b.__lookupChild(d[0]); if (!b) { throw Error(d[0] + " (expr " + a + ") is not found in " + c._target); } d.shift(); } return b; } function I(a, b) { if (a === Array) { var c = b; 1 == b.length && "number" === typeof b[0] && (c = [], c.length = b[0]); return c; } if (a === Boolean || a === Number || a === String || a === Function) { return a.apply(null, b); } if (a === Date) { switch(b.length) { case 0: return new Date; case 1: return new Date(b[0]); default: return new Date(b[0], b[1], 2 < b.length ? b[2] : 1, 3 < b.length ? b[3] : 0, 4 < b.length ? b[4] : 0, 5 < b.length ? b[5] : 0, 6 < b.length ? b[6] : 0); } } if (a === Object) { return{}; } } function C(a, b) { if (isNaN(a) || 0 > a || a > b || a != (0 | a)) { throw Error("Invalid number of arguments: " + a); } } function E(a) { var b = +a.pop(); C(b, a.length); for (var c = [], d = 0;d < b;d++) { c.push(a.pop()); } return c; } function O(a, b) { var c = a.context, d = a.global; if (b) { try { var h = G(b, c.currentTarget || c.defaultTarget, d.asGetPublicProperty("_root")); c.currentTarget = h; } catch (e) { throw c.currentTarget = null, e; } } else { c.currentTarget = null; } } function K(a, b, c, d, h, e, f) { function g() { if (!l.executionProhibited) { var a, c = {}; f & 4 || c.asSetPublicProperty("arguments", arguments); f & 2 || c.asSetPublicProperty("this", this); f & 8 || c.asSetPublicProperty("super", Ja); c.asSetPublicProperty("__class", s); a = n.create(c); var h, y = []; if (e) { for (h = 0;h < e.length;h++) { var Ca = e[h]; if (Ca) { switch(Ca.type) { case 1: y[h] = arguments[Ca.index]; break; case 2: y[h] = this; break; case 4: y[h] = arguments; break; case 8: y[h] = Ja; break; case 16: y[h] = m; break; case 32: y[h] = r.asGetPublicProperty("_parent"); break; case 64: y[h] = m.asGetPublicProperty("_root"); } } } } for (h = 0;h < arguments.length || h < d.length;h++) { u && u[h] || c.asSetPublicProperty(d[h], arguments[h]); } c = k.AVM1Context.instance; h = l.isActive; var Ca = l.defaultTarget, w = l.currentTarget, t, G; try { k.AVM1Context.instance = l; h || (l.abortExecutionAt = k.avm1TimeoutDisabled.value ? Number.MAX_VALUE : Date.now() + 1E3, l.errorsIgnored = 0, l.isActive = !0); l.defaultTarget = x; l.currentTarget = null; p.indent(); if (256 <= ++l.stackDepth) { throw new ua("long running script -- AVM1 recursion limit is reached"); } t = za(b, a, q, y); } catch (E) { G = E; } l.defaultTarget = Ca; l.currentTarget = w; l.isActive = h; l.stackDepth--; p.unindent(); k.AVM1Context.instance = c; if (G) { throw G; } return t; } } var l = a.context, m = a.global, n = a.scopeContainer, r = a.scope, p = a.actionTracer, x = l.defaultTarget, q = a.constantPool, u = null; if (e) { for (a = 0;a < e.length;a++) { (h = e[a]) && 1 === h.type && (u || (u = []), u[e[a].index] = !0); } } var s; s = g; g._setClass = function(a) { s = a; }; g.instanceConstructor = g; g.debugName = "avm1 " + (c || ""); c && (g.name = c); return g; } function F(a, b, c) { var d = a.global; a = a.context; a = a.currentTarget || a.defaultTarget; var h, e; if (0 <= b.indexOf(":")) { e = b.split(":"); h = G(e[0], a, d.asGetPublicProperty("_root")); if (!h) { throw Error(e[0] + " is undefined"); } e = e[1]; } else { if (0 <= b.indexOf(".")) { for (b = b.split("."), e = b.pop(), h = d, d = 0;d < b.length;d++) { if (h = h.asGetPublicProperty(b[d]) || h[b[d]], !h) { throw Error(b.slice(0, d + 1) + " is undefined"); } } } } if (!h) { return null; } d = q(h, e); return(b = null !== d) || c ? {obj:h, name:d || e, resolved:b} : null; } function J(a, b) { var c = a.scopeContainer, d = a.context, d = d.currentTarget || d.defaultTarget, h = a.scope; if (h.asHasProperty(void 0, b, 0)) { return h.asGetPublicProperty(b); } var e = F(a, b, !1); if (e) { return e.obj.asGetPublicProperty(e.name); } if (e = q(h, b)) { return h.asGetPublicProperty(e); } for (;c;c = c.next) { if (e = q(c.scope, b), null !== e) { return c.scope.asGetPublicProperty(e); } } if (d.asHasProperty(void 0, b, 0)) { return d.asGetPublicProperty(b); } if ("this" === b) { return d; } if (c = f(d) && d.__lookupChild(b)) { return c; } } function A(a, b) { var c = a.global, d = b[0]; b[1] ? c.gotoAndPlay(d + 1) : c.gotoAndStop(d + 1); } function B(a, b) { a.global.getURL(b[0], b[1]); } function z(a) { a.global.nextFrame(); } function P(a) { a.global.prevFrame(); } function D(a) { a.global.play(); } function L(a) { a.global.stop(); } function M(a) { a.global.toggleHighQuality(); } function V(a) { a.global.stopAllSounds(); } function Q(a, b) { return!a.global.ifFrameLoaded(b[0]); } function U(a, b) { O(a, b[0]); } function S(a, b) { a.global.gotoLabel(b[0]); } function aa(a, b) { var c = a.registers, d = a.constantPool, h = a.stack; b.forEach(function(a) { a instanceof k.ParsedPushConstantAction ? h.push(d[a.constantIndex]) : a instanceof k.ParsedPushRegisterAction ? h.push(c[a.registerNumber]) : h.push(a); }); } function $(a) { a.stack.pop(); } function ea(a) { a = a.stack; var b = c(a.pop()), d = c(a.pop()); a.push(b + d); } function Z(a) { a = a.stack; var b = c(a.pop()), d = c(a.pop()); a.push(d - b); } function v(a) { a = a.stack; var b = c(a.pop()), d = c(a.pop()); a.push(b * d); } function X(a) { var b = a.stack; a = a.isSwfVersion5; var d = c(b.pop()), d = c(b.pop()) / d; b.push(a ? d : isFinite(d) ? d : "#ERROR#"); } function ba(a) { var b = a.stack; a = a.isSwfVersion5; var d = c(b.pop()), h = c(b.pop()), d = d == h; b.push(a ? d : d ? 1 : 0); } function R(a) { var b = a.stack; a = a.isSwfVersion5; var d = c(b.pop()), d = c(b.pop()) < d; b.push(a ? d : d ? 1 : 0); } function H(b) { var c = b.stack; b = b.isSwfVersion5; var d = a(c.pop()), h = a(c.pop()), d = d && h; c.push(b ? d : d ? 1 : 0); } function Y(b) { var c = b.stack; b = b.isSwfVersion5; var d = a(c.pop()), h = a(c.pop()), d = d || h; c.push(b ? d : d ? 1 : 0); } function ga(b) { var c = b.stack; b = b.isSwfVersion5; var d = !a(c.pop()); c.push(b ? d : d ? 1 : 0); } function ca(a) { var b = a.stack; a = a.isSwfVersion5; var c = p(b.pop()), d = p(b.pop()), c = c == d; b.push(a ? c : c ? 1 : 0); } function ka(a) { var b = a.stack; a = a.global; var c = p(b.pop()); b.push(a.length(c)); } function W(a) { var b = a.stack; a = a.global; var c = p(b.pop()); b.push(a.length(c)); } function ha(a) { a = a.stack; var b = p(a.pop()), c = p(a.pop()); a.push(c + b); } function da(a) { var b = a.stack; a = a.global; var c = b.pop(), d = b.pop(), h = p(b.pop()); b.push(a.substring(h, d, c)); } function ja(a) { var b = a.stack; a = a.global; var c = b.pop(), d = b.pop(), h = p(b.pop()); b.push(a.mbsubstring(h, d, c)); } function N(a) { var b = a.stack; a = a.isSwfVersion5; var c = p(b.pop()), c = p(b.pop()) < c; b.push(a ? c : c ? 1 : 0); } function ma(a) { var b = a.stack; b.push(a.global.int(b.pop())); } function T(a) { var b = a.stack; a = a.global; var c = b.pop(); a = a.ord(c); b.push(a); } function oa(a) { var b = a.stack; a = a.global; var c = b.pop(); a = a.mbord(c); b.push(a); } function pa(a) { var b = a.stack; a = a.global; var c = +b.pop(); a = a.chr(c); b.push(a); } function na(a) { var b = a.stack; a = a.global; var c = +b.pop(); a = a.mbchr(c); b.push(a); } function fa(a, b) { } function sa(a, b) { return!!a.stack.pop(); } function xa(a) { var b = a.global; a = a.stack.pop(); b.call(a); } function la(a) { var b = a.stack, c = "" + b.pop(), d = b.length; b.push(void 0); b[d] = J(a, c); } function qa(a) { var b = a.stack, c = b.pop(); a: { var b = "" + b.pop(), d = a.scopeContainer, h = a.context, e = h.currentTarget || h.defaultTarget, f = a.scope; if (h.currentTarget) { e.asSetPublicProperty(b, c); } else { if (f.asHasProperty(void 0, b, 0)) { f.asSetPublicProperty(b, c); } else { if (a = F(a, b, !0)) { a.obj.asSetPublicProperty(a.name, c); } else { for (a = d;a.next;a = a.next) { if (d = q(a.scope, b), null !== d) { a.scope.asSetPublicProperty(d, c); break a; } } e.asSetPublicProperty(b, c); } } } } } function ia(a, b) { var c = a.global, d = a.stack, h = b[0], e = d.pop(), d = d.pop(), f; h & 1 ? f = "GET" : h & 2 && (f = "POST"); h & 64 ? h & 128 ? c.loadVariables(d, e, f) : c.loadMovie(d, e, f) : c.getURL(d, e, f); } function wa(a, b) { var c = a.global, d = b[0], h = [a.stack.pop()]; d & 2 && h.push(b[1]); (d & 1 ? c.gotoAndPlay : c.gotoAndStop).apply(c, h); } function Ia(a) { var b = a.stack.pop(); O(a, b); } function va(a) { var b = a.global; a = a.stack; var c = a.pop(), d = a.pop(), h = a.length; a.push(void 0); a[h] = b.getAVM1Property(d, c); } function ya(a) { var b = a.global, c = a.stack; a = c.pop(); var d = c.pop(), c = c.pop(); b.setAVM1Property(c, d, a); } function Ga(a) { var b = a.global, c = a.stack; a = c.pop(); var d = c.pop(), c = c.pop(); b.duplicateMovieClip(c, d, a); } function Ha(a) { var b = a.global; a = a.stack.pop(); b.removeMovieClip(a); } function Aa(a) { var b = a.global, c = a.stack; a = c.pop(); var d = c.pop(), c = c.pop() ? {y2:c.pop(), x2:c.pop(), y1:c.pop(), x1:c.pop()} : null; a = [a, d]; c && (a = a.concat(c.x1, c.y1, c.x2, c.y2)); b.startDrag.apply(b, a); } function ra(a) { a.global.stopDrag(); } function ta(a, b) { var c = a.global, d = a.stack.pop(); return!c.ifFrameLoaded(d); } function Ba(a) { var b = a.global; a = a.stack.pop(); b.trace(a); } function Ma(a) { a.stack.push(a.global.getTimer()); } function Na(a) { var b = a.stack; b.push(a.global.random(b.pop())); } function Oa(a) { var b = a.stack, c = a.scope, d = b.pop(), h = E(b), e = b.length; b.push(void 0); a = J(a, d); a instanceof Function ? (Da(b.length === e + 1), b[e] = a.apply(c, h)) : g("AVM1 warning: function '" + d + (a ? "' is not callable" : "' is undefined")); } function Pa(a) { var c = a.stack, d = c.pop(), h = c.pop(), e = E(c), f, k = c.length; c.push(void 0); b.isNullOrUndefined(h) ? g("AVM1 warning: method '" + d + "' can't be called on undefined object") : b.isNullOrUndefined(d) || "" === d ? (h === Ja ? (h = J(a, "__class").__super, f = J(a, "this")) : f = h, La(h) ? c[k] = h.apply(f, e) : g("AVM1 warning: obj '" + h + (h ? "' is not callable" : "' is undefined")), Da(c.length === k + 1)) : (h === Ja ? (f = u(J(a, "__class").__super), h = J(a, "this")) : f = h, a = q(f, d), f = f.asGetPublicProperty(a), La(f) ? (Da(c.length === k + 1), c[k] = f.apply(h, e)) : g("AVM1 warning: method '" + d + "' on object", h, b.isNullOrUndefined(f) ? "is undefined" : "is not callable")); } function Qa(a, b) { a.constantPool = b[0]; } function Ra(a, b) { var c = a.stack, d = a.scope, h = b[1], e = K(a, b[0], h, b[2], 0, null, 0); h ? d.asSetPublicProperty(h, e) : c.push(e); } function Sa(a) { var b = a.stack; a = a.scope; var c = b.pop(), b = b.pop(); a.asSetPublicProperty(b, c); } function Ta(a) { var b = a.scope; a = a.stack.pop(); b.asSetPublicProperty(a, void 0); } function Ua(a) { a = a.stack; var b = a.pop(), c = a.pop(); c.asSetPublicProperty(b, void 0); a.push(c.asDeleteProperty(void 0, b, 0)); } function Wa(a) { var b = a.stack, c; a: { c = b.pop(); for (a = a.scopeContainer;a;a = a.next) { if (a.scope.asHasProperty(void 0, c, 0)) { a.scope.asSetPublicProperty(c, void 0); c = a.scope.asDeleteProperty(void 0, c, 0); break a; } } c = !1; } b.push(c); } function Xa(a) { var c = a.stack, d = c.pop(); c.push(null); a = J(a, d); b.isNullOrUndefined(a) || h(a, function(a) { c.push(a); }); } function Ya(a) { a = a.stack; var b = a.pop(), c = a.pop(); a.push(b == c); } function Za(a) { a = a.stack; var b = a.pop(), c = a.pop(); "prototype" === b ? a.push(x(c)) : (b = q(c, b), a.push(null === b ? void 0 : l(c, b))); } function $a(a) { a = a.stack; var b = E(a); a.push(b); } function ab(a) { a = a.stack; var b = +a.pop(); C(b, a.length >> 1); for (var c = {}, d = 0;d < b;d++) { var h = a.pop(), e = a.pop(); c.asSetPublicProperty(e, h); } a.push(c); } function bb(a) { a = a.stack; var c = a.pop(), d = a.pop(), h = E(a), e = a.length; a.push(void 0); if (b.isNullOrUndefined(d)) { g("AVM1 warning: method '" + c + "' can't be constructed on undefined object"); } else { var f; b.isNullOrUndefined(c) || "" === c ? f = d : (f = q(d, c), f = d.asGetPublicProperty(f)); h = r(f, h); void 0 === h && g("AVM1 warning: method '" + c + "' on object", d, "is not constructible"); a[e] = h; Da(a.length === e + 1); } } function cb(a) { var b = a.stack, c = b.pop(), d = E(b), h = b.length; b.push(void 0); a = J(a, c); var e = I(a, d); void 0 === e && (e = r(a, d), void 0 === e && g("AVM1 warning: object '" + c + (a ? "' is not constructible" : "' is undefined"))); Da(b.length === h + 1); b[h] = e; } function db(a) { var c = a.stack; a = c.pop(); var d = c.pop(), c = c.pop(); b.isNullOrUndefined(c) ? g("AVM1 warning: cannot set member '" + d + "' on undefined object") : c.asSetPublicProperty(d, a); } function eb(a) { a = a.stack; var b = a.pop(); a.push("movieclip" === t(b) ? b._target : void 0); } function fb(a, b) { var c = b[0], d = a.stack.pop(), h = a.constantPool, e = a.registers, d = a.scopeContainer.create(Object(d)); za(c, d, h, e); } function gb(a) { a = a.stack; a.push(c(a.pop())); } function hb(a) { a = a.stack; a.push(p(a.pop())); } function ib(a) { a = a.stack; var b = a.pop(); a.push(t(b)); } function jb(a) { a = a.stack; var b = d(a.pop()), h = d(a.pop()); "string" === typeof b || "string" === typeof h ? a.push(p(h) + p(b)) : a.push(c(h) + c(b)); } function kb(a) { a = a.stack; var b = a.pop(), c = a.pop(); a.push(e(c, b)); } function lb(a) { a = a.stack; var b = c(a.pop()), d = c(a.pop()); a.push(d % b); } function mb(a) { a = a.stack; var b = n(a.pop()), c = n(a.pop()); a.push(c & b); } function nb(a) { a = a.stack; var b = n(a.pop()), c = n(a.pop()); a.push(c << b); } function ob(a) { a = a.stack; var b = n(a.pop()), c = n(a.pop()); a.push(c | b); } function pb(a) { a = a.stack; var b = n(a.pop()), c = n(a.pop()); a.push(c >> b); } function qb(a) { a = a.stack; var b = n(a.pop()), c = n(a.pop()); a.push(c >>> b); } function rb(a) { a = a.stack; var b = n(a.pop()), c = n(a.pop()); a.push(c ^ b); } function sb(a) { a = a.stack; var b = c(a.pop()); b--; a.push(b); } function tb(a) { a = a.stack; var b = c(a.pop()); b++; a.push(b); } function ub(a) { a = a.stack; a.push(a[a.length - 1]); } function vb(a) { a.isEndOfActions = !0; } function wb(a) { a = a.stack; a.push(a.pop(), a.pop()); } function xb(a, b) { var c = a.stack; a.registers[b[0]] = c[c.length - 1]; } function yb(a) { a = a.stack; var b = a.pop(), c = a.pop(); a.push(c instanceof b ? !0 : !1); } function zb(a) { var c = a.stack; a = c.pop(); c.push(null); b.isNullOrUndefined(a) ? g("AVM1 warning: cannot iterate over undefined object") : h(a, function(a) { c.push(a); }); } function Ab(a) { a = a.stack; var b = a.pop(), c = a.pop(); a.push(c === b); } function Bb(a) { a = a.stack; var b = a.pop(), c = a.pop(); a.push(e(b, c)); } function Cb(a) { var b = a.stack; a = a.isSwfVersion5; var c = p(b.pop()), c = p(b.pop()) > c; b.push(a ? c : c ? 1 : 0); } function Db(a, b) { var c = a.stack, d = a.scope, h = b[1], e = K(a, b[0], h, b[2], b[3], b[4], b[5]); h ? d.asSetPublicProperty(h, e) : c.push(e); } function Eb(a) { var b = a.stack; a = b.pop(); var b = b.pop(), c = Object.create(a.traitsPrototype || u(a), {constructor:{value:b, enumerable:!1}}); b.__super = a; b.prototype = c; } function Fb(a) { a = a.stack; var b = a.pop(), c = a.pop(); a.push(b instanceof c ? b : null); } function Gb(a) { a = a.stack; var b = a.pop(), c = +a.pop(); C(c, a.length); for (var d = [], h = 0;h < c;h++) { d.push(a.pop()); } b._as2Interfaces = d; } function Hb(a, b) { var c = b[5], d = b[3], h = b[1], e = b[2], f = b[4], g = b[6], k = a.context, l = a.scopeContainer, m = a.scope, n = a.constantPool, r = a.registers, p = k.isTryCatchListening, x; try { k.isTryCatchListening = !0, za(e, l, n, r); } catch (q) { k.isTryCatchListening = p, d && q instanceof Ka ? ("string" === typeof h ? m.asSetPublicProperty(h, q.error) : r[h] = q.error, za(f, l, n, r)) : x = q; } k.isTryCatchListening = p; c && za(g, l, n, r); if (x) { throw x; } } function Ib(a) { a = a.stack.pop(); throw new Ka(a); } function Jb(a) { var b = a.stack, c = a.global, d = E(b); a = b.length; b.push(void 0); c = c.fscommand.apply(null, d); b[a] = c; } function Pb(a, b) { } function Qb(a) { return function(c, d) { var h; try { a(c, d), c.recoveringFromError = !1; } catch (e) { h = c.context; e = w(e); if (e instanceof ua) { throw e; } if (e instanceof Ka) { throw e; } Kb.instance.reportTelemetry({topic:"error", error:1}); if (!c.recoveringFromError) { if (1E3 <= h.errorsIgnored++) { throw new ua("long running script -- AVM1 errors limit is reached"); } console.log(typeof e); console.log(Object.getPrototypeOf(e)); console.log(Object.getPrototypeOf(Object.getPrototypeOf(e))); console.error("AVM1 error: " + e); b.AVM2.Runtime.AVM2.instance.exceptions.push({source:"avm1", message:e.message, stack:e.stack}); c.recoveringFromError = !0; } } }; } function Rb() { var a; a = k.avm1ErrorsEnabled.value ? function(a) { return a; } : Qb; return{ActionGotoFrame:a(A), ActionGetURL:a(B), ActionNextFrame:a(z), ActionPreviousFrame:a(P), ActionPlay:a(D), ActionStop:a(L), ActionToggleQuality:a(M), ActionStopSounds:a(V), ActionWaitForFrame:a(Q), ActionSetTarget:a(U), ActionGoToLabel:a(S), ActionPush:a(aa), ActionPop:a($), ActionAdd:a(ea), ActionSubtract:a(Z), ActionMultiply:a(v), ActionDivide:a(X), ActionEquals:a(ba), ActionLess:a(R), ActionAnd:a(H), ActionOr:a(Y), ActionNot:a(ga), ActionStringEquals:a(ca), ActionStringLength:a(ka), ActionMBStringLength:a(W), ActionStringAdd:a(ha), ActionStringExtract:a(da), ActionMBStringExtract:a(ja), ActionStringLess:a(N), ActionToInteger:a(ma), ActionCharToAscii:a(T), ActionMBCharToAscii:a(oa), ActionAsciiToChar:a(pa), ActionMBAsciiToChar:a(na), ActionJump:a(fa), ActionIf:a(sa), ActionCall:a(xa), ActionGetVariable:a(la), ActionSetVariable:a(qa), ActionGetURL2:a(ia), ActionGotoFrame2:a(wa), ActionSetTarget2:a(Ia), ActionGetProperty:a(va), ActionSetProperty:a(ya), ActionCloneSprite:a(Ga), ActionRemoveSprite:a(Ha), ActionStartDrag:a(Aa), ActionEndDrag:a(ra), ActionWaitForFrame2:a(ta), ActionTrace:a(Ba), ActionGetTime:a(Ma), ActionRandomNumber:a(Na), ActionCallFunction:a(Oa), ActionCallMethod:a(Pa), ActionConstantPool:a(Qa), ActionDefineFunction:a(Ra), ActionDefineLocal:a(Sa), ActionDefineLocal2:a(Ta), ActionDelete:a(Ua), ActionDelete2:a(Wa), ActionEnumerate:a(Xa), ActionEquals2:a(Ya), ActionGetMember:a(Za), ActionInitArray:a($a), ActionInitObject:a(ab), ActionNewMethod:a(bb), ActionNewObject:a(cb), ActionSetMember:a(db), ActionTargetPath:a(eb), ActionWith:a(fb), ActionToNumber:a(gb), ActionToString:a(hb), ActionTypeOf:a(ib), ActionAdd2:a(jb), ActionLess2:a(kb), ActionModulo:a(lb), ActionBitAnd:a(mb), ActionBitLShift:a(nb), ActionBitOr:a(ob), ActionBitRShift:a(pb), ActionBitURShift:a(qb), ActionBitXor:a(rb), ActionDecrement:a(sb), ActionIncrement:a(tb), ActionPushDuplicate:a(ub), ActionReturn:a(vb), ActionStackSwap:a(wb), ActionStoreRegister:a(xb), ActionInstanceOf:a(yb), ActionEnumerate2:a(zb), ActionStrictEquals:a(Ab), ActionGreater:a(Bb), ActionStringGreater:a(Cb), ActionDefineFunction2:a(Db), ActionExtends:a(Eb), ActionCastOp:a(Fb), ActionImplementsOp:a(Gb), ActionTry:a(Hb), ActionThrow:a(Ib), ActionFSCommand2:a(Jb), ActionStrictMode:a(Pb)}; } function za(a, c, d, h) { var e = k.AVM1Context.instance; if (!a.ir) { var f = new k.ActionsDataStream(a.bytes, e.swfVersion), f = new k.ActionsDataParser(f); f.dataId = a.id; var g = new k.ActionsDataAnalyzer; a.ir = g.analyze(f); if (k.avm1CompilerEnabled.value) { try { var l = new Sb; a.ir.compiled = l.generate(a.ir); } catch (m) { console.error("Unable to compile AVM1 function: " + m); } } } a = a.ir; var f = a.compiled, l = [], n = 5 <= e.swfVersion, r = Va.get(), g = c.scope; c = {context:e, global:e.globals, scopeContainer:c, scope:g, actionTracer:r, constantPool:d, registers:h, stack:l, isSwfVersion5:n, recoveringFromError:!1, isEndOfActions:!1}; g._nativeAS3Object && g._nativeAS3Object._deferScriptExecution && (e.deferScriptExecution = !0); if (f) { return f(c); } d = 0; e = e.abortExecutionAt; if (k.avm1DebuggerEnabled.value && (k.Debugger.pause || k.Debugger.breakpoints[a.dataId])) { debugger; } for (h = a.actions[0];h && !c.isEndOfActions;) { if (0 === d++ % 1E3 && Date.now() >= e) { throw new ua("long running script -- AVM1 instruction hang timeout"); } f = c; g = n = void 0; try { var n = f, p = h.action, x = p.actionCode, q = p.args; n.actionTracer.print(p, n.stack); r = !1; switch(x | 0) { case 129: A(n, q); break; case 131: B(n, q); break; case 4: z(n); break; case 5: P(n); break; case 6: D(n); break; case 7: L(n); break; case 8: M(n); break; case 9: V(n); break; case 138: r = Q(n, q); break; case 139: U(n, q); break; case 140: S(n, q); break; case 150: aa(n, q); break; case 23: $(n); break; case 10: ea(n); break; case 11: Z(n); break; case 12: v(n); break; case 13: X(n); break; case 14: ba(n); break; case 15: R(n); break; case 16: H(n); break; case 17: Y(n); break; case 18: ga(n); break; case 19: ca(n); break; case 20: ka(n); break; case 49: W(n); break; case 33: ha(n); break; case 21: da(n); break; case 53: ja(n); break; case 41: N(n); break; case 24: ma(n); break; case 50: T(n); break; case 54: oa(n); break; case 51: pa(n); break; case 55: na(n); break; case 153: break; case 157: r = sa(n, q); break; case 158: xa(n); break; case 28: la(n); break; case 29: qa(n); break; case 154: ia(n, q); break; case 159: wa(n, q); break; case 32: Ia(n); break; case 34: va(n); break; case 35: ya(n); break; case 36: Ga(n); break; case 37: Ha(n); break; case 39: Aa(n); break; case 40: ra(n); break; case 141: r = ta(n, q); break; case 38: Ba(n); break; case 52: Ma(n); break; case 48: Na(n); break; case 61: Oa(n); break; case 82: Pa(n); break; case 136: Qa(n, q); break; case 155: Ra(n, q); break; case 60: Sa(n); break; case 65: Ta(n); break; case 58: Ua(n); break; case 59: Wa(n); break; case 70: Xa(n); break; case 73: Ya(n); break; case 78: Za(n); break; case 66: $a(n); break; case 67: ab(n); break; case 83: bb(n); break; case 64: cb(n); break; case 79: db(n); break; case 69: eb(n); break; case 148: fb(n, q); break; case 74: gb(n); break; case 75: hb(n); break; case 68: ib(n); break; case 71: jb(n); break; case 72: kb(n); break; case 63: lb(n); break; case 96: mb(n); break; case 99: nb(n); break; case 97: ob(n); break; case 100: pb(n); break; case 101: qb(n); break; case 98: rb(n); break; case 81: sb(n); break; case 80: tb(n); break; case 76: ub(n); break; case 62: vb(n); break; case 77: wb(n); break; case 135: xb(n, q); break; case 84: yb(n); break; case 85: zb(n); break; case 102: Ab(n); break; case 103: Bb(n); break; case 104: Cb(n); break; case 142: Db(n, q); break; case 105: Eb(n); break; case 43: Fb(n); break; case 44: Gb(n); break; case 143: Hb(n, q); break; case 42: Ib(n); break; case 45: Jb(n); break; case 137: break; case 0: n.isEndOfActions = !0; break; default: throw Error("Unknown action code: " + x);; } g = r; f.recoveringFromError = !1; } catch (u) { n = f.context; u = w(u); if (k.avm1ErrorsEnabled.value && !n.isTryCatchListening || u instanceof ua) { throw u; } if (u instanceof Ka) { throw u; } Kb.instance.reportTelemetry({topic:"error", error:1}); if (!f.recoveringFromError) { if (1E3 <= n.errorsIgnored++) { throw new ua("long running script -- AVM1 errors limit is reached"); } console.error("AVM1 error: " + u); b.AVM2.Runtime.AVM2.instance.exceptions.push({source:"avm1", message:u.message, stack:u.stack}); f.recoveringFromError = !0; } } h = g ? h.conditionalJumpTo : h.next; h = a.actions[h]; } return l.pop(); } var Lb = b.AVM2.ABC.Multiname, Ob = b.AVM2.Runtime.forEachPublicProperty, Nb = b.AVM2.Runtime.construct, Mb = b.isNumeric, La = b.isFunction, Tb = b.Debug.notImplemented, Ea = b.Options.Option, Kb = b.Telemetry, Da = b.Debug.assert, Fa = b.Settings.shumwayOptions.register(new b.Options.OptionSet("AVM1")); k.avm1TraceEnabled = Fa.register(new Ea("t1", "traceAvm1", "boolean", !1, "trace AVM1 execution")); k.avm1ErrorsEnabled = Fa.register(new Ea("e1", "errorsAvm1", "boolean", !1, "fail on AVM1 warnings and errors")); k.avm1TimeoutDisabled = Fa.register(new Ea("ha1", "nohangAvm1", "boolean", !1, "disable fail on AVM1 hang")); k.avm1CompilerEnabled = Fa.register(new Ea("ca1", "compileAvm1", "boolean", !0, "compiles AVM1 code")); k.avm1DebuggerEnabled = Fa.register(new Ea("da1", "debugAvm1", "boolean", !1, "allows AVM1 code debugging")); k.Debugger = {pause:!1, breakpoints:{}}; var Ub = function() { function a(b, c) { this.scope = b; this.next = c; } a.prototype.create = function(b) { return new a(b, this); }; return a; }(), Vb = function(a) { function c(d) { a.call(this); this.swfVersion = d; this.globals = new b.AVM2.AS.avm1lib.AVM1Globals; 8 <= d && this.globals.asSetPublicProperty("flash", b.AVM2.AS.avm1lib.createFlashObject()); this.initialScope = new Ub(this.globals, null); this.assets = {}; this.assetsSymbols = []; this.assetsClasses = []; this.executionProhibited = this.isActive = !1; this.stackDepth = this.abortExecutionAt = 0; this.isTryCatchListening = !1; this.errorsIgnored = 0; this.deferScriptExecution = !0; this.pendingScripts = []; } __extends(c, a); c.prototype.addAsset = function(a, c, d) { this.assets[a] = c; this.assetsSymbols[c] && b.Debug.warning("Symbol " + c + " was exported already under different name"); this.assetsSymbols[c] = d; }; c.prototype.registerClass = function(a, c) { var d = this.assets[a]; void 0 === d ? b.Debug.error("Cannot register " + a + " class for symbol") : this.assetsClasses[d] = c; }; c.prototype.getAsset = function(a) { a = this.assets[a]; return void 0 === a ? void 0 : {symbolId:a, symbolProps:this.assetsSymbols[a], theClass:this.assetsClasses[a]}; }; c.prototype.resolveTarget = function(a) { var b = this.currentTarget || this.defaultTarget; a ? "string" === typeof a && (a = G(a, b, this.globals.asGetPublicProperty("_root"))) : a = b; if ("object" !== typeof a || null === a || !("_nativeAS3Object" in a)) { throw Error("Invalid AVM1 target object: " + Object.prototype.toString.call(a)); } return a; }; c.prototype.resolveLevel = function(a) { return this.resolveTarget(this.globals["_level" + a]); }; c.prototype.addToPendingScripts = function(a) { this.deferScriptExecution ? this.pendingScripts.push(a) : a(); }; c.prototype.flushPendingScripts = function() { for (var a = this.pendingScripts;a.length;) { a.shift()(); } this.deferScriptExecution = !1; }; c.prototype.executeActions = function(a, b) { y(a, this, b); }; return c; }(k.AVM1Context); k.AVM1Context.create = function(a) { return new Vb(a); }; var Ka = function() { return function(a) { this.error = a; }; }(), ua = function(a) { function b(c, d) { a.call(this, c); this.error = d; } __extends(b, a); return b; }(Error); k.executeActions = y; var Ja = {}, Sb = function() { function a() { a.cachedCalls || (a.cachedCalls = Rb()); } a.prototype.convertArgs = function(a, b, c) { for (var d = [], h = 0;h < a.length;h++) { var e = a[h]; if ("object" !== typeof e || null === e || Array.isArray(e)) { void 0 === e ? d.push("undefined") : d.push(JSON.stringify(e)); } else { if (e instanceof k.ParsedPushConstantAction) { var f = "", g = c.constantPool; g && (f = g[e.constantIndex], f = void 0 === f ? "undefined" : JSON.stringify(f), f = 0 <= f.indexOf("*/") ? "" : " /* " + f + " */"); d.push("constantPool[" + e.constantIndex + "]" + f); } else { e instanceof k.ParsedPushRegisterAction ? d.push("registers[" + e.registerNumber + "]") : e instanceof k.AVM1ActionsData ? (f = "code_" + b + "_" + h, c[f] = e, d.push("res." + f)) : Tb("Unknown AVM1 action argument type"); } } } return d.join(","); }; a.prototype.convertAction = function(a, b, c) { switch(a.action.actionCode) { case 153: ; case 62: return ""; case 136: return c.constantPool = a.action.args[0], " constantPool = [" + this.convertArgs(a.action.args[0], b, c) + "];\n ectx.constantPool = constantPool;\n"; case 150: return " stack.push(" + this.convertArgs(a.action.args, b, c) + ");\n"; case 138: ; case 141: return " if (calls." + a.action.actionName + "(ectx,[" + this.convertArgs(a.action.args, b, c) + "])) { position = " + a.conditionalJumpTo + "; break; }\n"; case 157: return " if (!!stack.pop()) { position = " + a.conditionalJumpTo + "; break; }\n"; default: return " calls." + a.action.actionName + "(ectx" + (a.action.args ? ",[" + this.convertArgs(a.action.args, b, c) + "]" : "") + ");\n"; } }; a.prototype.checkAvm1Timeout = function(a) { if (Date.now() >= a.context.abortExecutionAt) { throw new ua("long running script -- AVM1 instruction hang timeout"); } }; a.prototype.generate = function(b) { var c = this, d = b.blocks, h = {}, e = 0; b = b.dataId; var f = "return function avm1gen_" + b + "(ectx) {\nvar position = 0;\nvar checkTimeAfter = 0;\nvar constantPool = ectx.constantPool, registers = ectx.registers, stack = ectx.stack;\n"; k.avm1DebuggerEnabled.value && (f += "/* Running " + b + " */ if (Shumway.AVM1.Debugger.pause || Shumway.AVM1.Debugger.breakpoints." + b + ") { debugger; }\n"); f += "while (!ectx.isEndOfActions) {\nif (checkTimeAfter <= 0) { checkTimeAfter = 1000; checkTimeout(ectx); }\nswitch(position) {\n"; d.forEach(function(a) { f += " case " + a.label + ":\n"; a.items.forEach(function(a) { f += c.convertAction(a, e++, h); }); f += " position = " + a.jump + ";\n checkTimeAfter -= " + a.items.length + ";\n break;\n"; }); f += " default: ectx.isEndOfActions = true; break;\n}\n}\nreturn stack.pop();};"; return(new Function("calls", "res", "checkTimeout", f))(a.cachedCalls, h, this.checkAvm1Timeout); }; return a; }(), Va = function() { function a() { } a.get = function() { return k.avm1TraceEnabled.value ? a.tracer : a.nullTracer; }; a.tracer = function() { var a = 0; return{print:function(b, c) { for (var d = b.position, h = b.actionCode, e = b.actionName, f = [], g = 0;g < c.length;g++) { var k = c[g]; f.push(k && "object" === typeof k ? "[" + (k.constructor && k.constructor.name ? k.constructor.name : "Object") + "]" : k); } g = Array(a + 1).join(".."); console.log("AVM1 trace: " + g + d + ": " + e + "(" + h.toString(16) + "), stack=" + f); }, indent:function() { a++; }, unindent:function() { a--; }, message:function(a) { console.log("AVM1 trace: ------- " + a); }}; }(); a.nullTracer = {print:function(a, b) { }, indent:function() { }, unindent:function() { }, message:function(a) { }}; return a; }(); })(b.AVM1 || (b.AVM1 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { var g = b.AVM2.AS.ASObject, k = b.AVM2.AS.flash, m = b.AVM1.AVM1Context, d = function(a) { function b() { } __extends(b, a); b.addProperty = function(a, b, c, d, f) { "undefined" === typeof f && (f = !0); a.asDefinePublicProperty(b, {get:c, set:d || void 0, enumerable:f, configurable:!0}); }; b.resolveTarget = function(a) { "undefined" === typeof a && (a = void 0); return m.instance.resolveTarget(a); }; b.resolveLevel = function(a) { return m.instance.resolveLevel(+a); }; Object.defineProperty(b, "currentStage", {get:function() { return f.getAVM1Object(m.instance.root._nativeAS3Object.stage); }, enumerable:!0, configurable:!0}); Object.defineProperty(b, "swfVersion", {get:function() { return m.instance.swfVersion; }, enumerable:!0, configurable:!0}); b.getAVM1Object = function(a) { return f.getAVM1Object(a); }; b._installObjectMethods = function() { var a = g.asGetPublicProperty("prototype"); g.asSetPublicProperty("registerClass", function(a, b) { m.instance.registerClass(a, b); }); a.asDefinePublicProperty("addProperty", {value:function(a, b, c) { if ("string" !== typeof a || "" === a || "function" !== typeof b || "function" !== typeof c && null !== c) { return!1; } this.asDefinePublicProperty(a, {get:b, set:c || void 0, configurable:!0, enumerable:!0}); return!0; }, writable:!1, enumerable:!1, configurable:!1}); }; b.classInitializer = null; b.initializer = null; b.classSymbols = ["createFlashObject!"]; b.instanceSymbols = null; return b; }(b.AVM2.AS.ASNative); f.AVM1Utils = d; f.initDefaultListeners = function(a) { var b = a.asGetPublicProperty("_as2DefaultListeners"); if (b) { for (var d = 0;d < b.length;d++) { var f = b[d]; f.asGetPublicProperty("setter").call(a, f.value); } } }; f.createFlashObject = function() { return d.createFlashObject(); }; f.getAVM1Object = function(a) { return a ? a._as2Object ? a._as2Object : k.display.MovieClip.isType(a) ? a._avm1SymbolClass ? b.AVM2.AS.avm1lib.AVM1MovieClip._initFromConstructor(a._avm1SymbolClass, a) : new b.AVM2.AS.avm1lib.AVM1MovieClip(a) : k.display.SimpleButton.isType(a) ? new b.AVM2.AS.avm1lib.AVM1Button(a) : k.text.TextField.isType(a) ? new b.AVM2.AS.avm1lib.AVM1TextField(a) : k.display.BitmapData.isType(a) ? new a : null : null; }; })(g.avm1lib || (g.avm1lib = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { var k = b.Debug.somewhatImplemented, s; (function(b) { b[b.IdleToOverUp = 1] = "IdleToOverUp"; b[b.OverUpToIdle = 2] = "OverUpToIdle"; b[b.OverUpToOverDown = 4] = "OverUpToOverDown"; b[b.OverDownToOverUp = 8] = "OverDownToOverUp"; b[b.OverDownToOutDown = 16] = "OverDownToOutDown"; b[b.OutDownToOverDown = 32] = "OutDownToOverDown"; b[b.OutDownToIdle = 64] = "OutDownToIdle"; b[b.IdleToOverDown = 128] = "IdleToOverDown"; b[b.OverDownToIdle = 256] = "OverDownToIdle"; })(s || (s = {})); var m = [-1, 37, 39, 36, 35, 45, 46, -1, 8, -1, -1, -1, -1, 13, 38, 40, 33, 34, 9, 27]; s = function(d) { function a(a) { a && this._init(a); } __extends(a, d); a.prototype._init = function(a) { this._nativeAS3Object = a; f.initDefaultListeners(this); if (a._symbol && a._symbol.buttonActions) { this._nativeAS3Object.addEventListener("addedToStage", this._addListeners.bind(this)); this._nativeAS3Object.addEventListener("removedFromStage", this._removeListeners.bind(this)); var d = this._requiredListeners = Object.create(null); a = this._actions = a._symbol.buttonActions; for (var g = 0;g < a.length;g++) { var e = a[g]; e.actionsBlock || (e.actionsBlock = new b.AVM1.AVM1ActionsData(e.actionsData, "i" + g)); if (e.keyCode) { d.keyDown = this._keyDownHandler.bind(this); } else { var m; switch(e.stateTransitionFlags) { case 64: m = "releaseOutside"; break; case 1: m = "rollOver"; break; case 2: m = "rollOut"; break; case 4: m = "mouseDown"; break; case 8: m = "mouseUp"; break; case 16: ; case 32: k("AVM1 drag over/out button actions"); break; case 128: ; case 256: k("AVM1 drag trackAsMenu over/out button actions"); break; default: warn("Unknown AVM1 button action type: " + e.stateTransitionFlags); continue; } d[m] = this._mouseEventHandler.bind(this, e.stateTransitionFlags); } } } }; a.prototype._addListeners = function() { for (var a in this._requiredListeners) { ("keyDown" === a ? this._nativeAS3Object.stage : this._nativeAS3Object).addEventListener(a, this._requiredListeners[a]); } }; a.prototype._removeListeners = function() { for (var a in this._requiredListeners) { ("keyDown" === a ? this._nativeAS3Object.stage : this._nativeAS3Object).removeEventListener(a, this._requiredListeners[a]); } }; a.prototype._keyDownHandler = function(a) { for (var b = this._actions, d = 0;d < b.length;d++) { var e = b[d]; e.keyCode && (32 > e.keyCode && m[e.keyCode] === a.asGetPublicProperty("keyCode") || e.keyCode === a.asGetPublicProperty("charCode")) && this._runAction(e); } }; a.prototype._mouseEventHandler = function(a) { for (var b = this._actions, d = 0;d < b.length;d++) { var e = b[d]; e.stateTransitionFlags === a && this._runAction(e); } }; a.prototype._runAction = function(a) { this._nativeAS3Object.loaderInfo._avm1Context.executeActions(a.actionsBlock, f.getAVM1Object(this._nativeAS3Object._parent)); }; Object.defineProperty(a.prototype, "_as3Object", {get:function() { return this._nativeAS3Object; }, enumerable:!0, configurable:!0}); a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(g.ASNative); f.AVM1Button = s; })(g.avm1lib || (g.avm1lib = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { var k = b.Debug.assert, s = b.Debug.notImplemented, m = b.AVM2.AS.flash.text.TextFormat, d = b.AVM1.AVM1Context, a = b.AVM2.AS.Natives, c = function(b) { function c() { s("Dummy Constructor: public avm1lib.AVM1Globals"); } __extends(c, b); c._addInternalClasses = function(a) { a.asSetPublicProperty("Object", g.ASObject); a.asSetPublicProperty("Function", g.ASFunction); a.asSetPublicProperty("Array", g.ASArray); a.asSetPublicProperty("Number", g.ASNumber); a.asSetPublicProperty("Math", g.ASMath); a.asSetPublicProperty("Boolean", g.ASBoolean); a.asSetPublicProperty("Date", g.ASDate); a.asSetPublicProperty("RegExp", g.ASRegExp); a.asSetPublicProperty("String", g.ASString); }; c.prototype.ASSetPropFlags = function(a, b, c, d) { }; c.prototype._addToPendingScripts = function(a, b, c) { "undefined" === typeof c && (c = null); k(b, "invalid function in _addToPendingScripts"); d.instance.addToPendingScripts(function() { b.apply(a, c); }); }; c.prototype.escape = function(a) { return encodeURIComponent(a).replace(/\!|'|\(|\)|\*|-|\.|_|~/g, function(a) { switch(a) { case "*": return "%2A"; case "-": return "%2D"; case ".": return "%2E"; case "_": return "%5F"; default: return globalEscape(a); } }); }; c.prototype.unescape = function(a) { return decodeURIComponent(a); }; c.prototype._setLevel = function(a, b) { }; c.prototype.trace = function(b) { a.print(b); }; c.classInitializer = null; c.initializer = function() { m.prototype.asDefinePublicProperty("getTextExtent", {value:f.AVM1TextFormat.prototype._as2GetTextExtent, writable:!1, enumerable:!1, configurable:!1}); }; c.classSymbols = null; c.instanceSymbols = "_global! flash $asfunction call! chr! clearInterval! clearTimeout! duplicateMovieClip! fscommand! getAVM1Property! getTimer! getURL! getVersion! gotoAndPlay! gotoAndStop! gotoLabel! ifFrameLoaded! int! length! loadMovie! loadMovieNum! loadVariables! mbchr! mblength! mbord! mbsubstring! nextFrame! nextScene! ord! play! prevFrame! prevScene! print! printAsBitmap! printAsBitmapNum! printNum! random! removeMovieClip! setInterval! setAVM1Property! setTimeout! showRedrawRegions! startDrag! stop! stopAllSounds! stopDrag! substring! targetPath! toggleHighQuality! unloadMovie! unloadMovieNum! updateAfterEvent!".split(" "); return c; }(g.ASNative); f.AVM1Globals = c; })(g.avm1lib || (g.avm1lib = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); var globalEscape = this.escape; (function(b) { (function(k) { (function(g) { (function(f) { var k = b.Debug.assert, s = b.AVM2.Runtime.construct, m = b.AVM1.AVM1Context, d = function(a) { function c(a) { this._nativeAS3Object = a; this._boundExecuteFrameScripts = this._frameScripts = null; } __extends(c, a); c.prototype._init = function(a) { !this._nativeAS3Object && a && (this._nativeAS3Object = a, a._as2Object = this, f.initDefaultListeners(this)); }; Object.defineProperty(c.prototype, "context", {set:function(a) { k(!this._context); this._context = a; }, enumerable:!0, configurable:!0}); c._initFromConstructor = function(a, b) { var c = Object.create(a.asGetPublicProperty("prototype")); c._nativeAS3Object = b; b._as2Object = c; f.initDefaultListeners(c); a.call(c); return c; }; Object.defineProperty(c.prototype, "_as3Object", {get:function() { return this._nativeAS3Object; }, enumerable:!0, configurable:!0}); c.prototype.attachBitmap = function(a, b, c, d) { "undefined" === typeof c && (c = "auto"); "undefined" === typeof d && (d = !1); a = s(g.flash.display.Bitmap, [a, c, d]); this._insertChildAtDepth(a, b); }; c.prototype._constructMovieClipSymbol = function(a, b) { var c = m.instance.getAsset(a), d = Object.create(c.symbolProps); d.avm1Name = b; d.avm1SymbolClass = c.theClass; c = g.flash.display.MovieClip.initializeFrom(d); g.flash.display.MovieClip.instanceConstructorNoInitialize.call(c); return c; }; c.prototype.addFrameActionBlocks = function(a, b) { var c = b.initActionBlocks, d = b.actionBlocks; c && this._addInitActionBlocks(a, c); if (d) { for (c = 0;c < d.length;c++) { this.addFrameScript(a, d[c]); } } }; c.prototype.addFrameScript = function(a, c) { var d = this._frameScripts; d || (k(!this._boundExecuteFrameScripts), this._boundExecuteFrameScripts = this._executeFrameScripts.bind(this), d = this._frameScripts = []); var f = d[a + 1]; f || (f = d[a + 1] = [], this._nativeAS3Object.addFrameScript(a, this._boundExecuteFrameScripts)); d = new b.AVM1.AVM1ActionsData(c, "f" + a + "i" + f.length); f.push(d); }; c.prototype._addInitActionBlocks = function(a, c) { function d(k) { if (f.currentFrame === a + 1) { f.removeEventListener("enterFrame", d); k = g._context; for (var m = 0;m < c.length;m++) { var r = new b.AVM1.AVM1ActionsData(c[m].actionsData, "f" + a + "i" + m); k.executeActions(r, g); } } } var f = this._nativeAS3Object, g = this; f.addEventListener("enterFrame", d); }; c.prototype._executeFrameScripts = function() { var a = this._context, b = this._frameScripts[this._nativeAS3Object.currentFrame]; k(b && b.length); for (var c = 0;c < b.length;c++) { a.executeActions(b[c], this); } }; c.prototype._callFrame = function(a) { }; c.prototype._insertChildAtDepth = function(a, b) { var c = this._nativeAS3Object; c.addTimelineObjectAtDepth(a, Math.min(c.numChildren, b)); if (!g.flash.display.Bitmap.isType(a)) { var c = f.getAVM1Object(a), d = a.name; d && void 0 === this.asGetPublicProperty(d) && this.asSetPublicProperty(d, c); } }; c.prototype.getInstanceAtDepth = function(a) { for (var b = this._nativeAS3Object, c = 0, d = b.numChildren;c < d;c++) { var k = b.getChildAt(c); if (k && k._depth === a) { return g.flash.display.Bitmap.isType(k) ? this : f.getAVM1Object(k); } } return null; }; c.prototype.getNextHighestDepth = function() { for (var a = this._nativeAS3Object, b = 0, c = 0, d = a.numChildren;c < d;c++) { var f = a.getChildAt(c); f._depth > b && (b = f._depth); } return b + 1; }; c.prototype._duplicate = function(a, b, c) { }; c.prototype._gotoLabel = function(a) { this._nativeAS3Object._gotoFrame(a, null); }; c.classInitializer = null; c.initializer = null; c.classSymbols = null; c.instanceSymbols = ["__lookupChild!", "__targetPath!"]; return c; }(g.ASNative); f.AVM1MovieClip = d; })(g.avm1lib || (g.avm1lib = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { var k = function(b) { function f() { } __extends(f, b); Object.defineProperty(f.prototype, "_as3Object", {get:function() { return this._nativeAS3Object; }, enumerable:!0, configurable:!0}); f.prototype._setAS3Object = function(b) { this._nativeAS3Object = b; }; Object.defineProperty(f.prototype, "_bytesLoaded", {get:function() { return this._nativeAS3Object._contentLoaderInfo._bytesLoaded; }, enumerable:!0, configurable:!0}); f.classInitializer = null; f.initializer = null; f.classSymbols = null; f.instanceSymbols = null; return f; }(b.ASNative); f.AVM1MovieClipLoader = k; })(b.avm1lib || (b.avm1lib = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { var g = b.AVM2.Runtime.asCoerceString, k = b.AVM1.AVM1Context, m = function(d) { function a(a, b, d) { } __extends(a, d); a.loadBitmap = function(c) { c = g(c); return(c = k.instance.getAsset(c)) && c.symbolProps instanceof b.Timeline.BitmapSymbol ? (c = a.initializeFrom(c), c.class.instanceConstructorNoInitialize.call(c), c) : null; }; a.classInitializer = null; a.initializer = null; a.classSymbols = null; a.instanceSymbols = null; return a; }(b.AVM2.AS.flash.display.BitmapData); f.AVM1BitmapData = m; })(g.avm1lib || (g.avm1lib = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { (function(f) { var k = function(b) { function g(b) { this._variable = ""; this._init(b); } __extends(g, b); g.prototype._init = function(b) { this._nativeAS3Object = b; b._as2Object = this; f.initDefaultListeners(this); }; Object.defineProperty(g.prototype, "_as3Object", {get:function() { return this._nativeAS3Object; }, enumerable:!0, configurable:!0}); Object.defineProperty(g.prototype, "variable", {get:function() { return this._variable; }, set:function(b) { if (b !== this._variable) { this._variable = b; var a = this._nativeAS3Object, c; if (0 <= b.indexOf(".") || 0 <= b.indexOf(":")) { var g = b.split(/[.:\/]/g); b = g.pop(); "_root" == g[0] || "" === g[0] ? (c = f.getAVM1Object(a.root), g.shift(), "" === g[0] && g.shift()) : c = f.getAVM1Object(a._parent); for (;0 < g.length;) { var k = g.shift(); c = c.asGetPublicProperty(k) || c[k]; if (!c) { throw Error("Cannot find " + k + " variable"); } } } else { c = f.getAVM1Object(a._parent); } c.asHasProperty(void 0, b, 0) || c.asSetPublicProperty(b, a.text); a._addEventListener("advanceFrame", function() { a.text = "" + c.asGetPublicProperty(b); }); } }, enumerable:!0, configurable:!0}); g.classInitializer = null; g.initializer = null; g.classSymbols = null; g.instanceSymbols = null; return g; }(b.ASNative); f.AVM1TextField = k; })(b.avm1lib || (b.avm1lib = {})); })(b.AS || (b.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { (function(f) { var g = b.AVM2.AS.flash.text.TextField, k = function(b) { function d() { b.apply(this, arguments); } __extends(d, b); d.prototype._as2GetTextExtent = function(a, b) { var f = d._measureTextField; f || (f = new g, f.multiline = !0, d._measureTextField = f); !isNaN(b) && 0 < b ? (f.width = b + 4, f.wordWrap = !0) : f.wordWrap = !1; f.defaultTextFormat = this; f.text = a; var k = {}, e = f.textWidth, m = f.textHeight; k.asSetPublicProperty("width", e); k.asSetPublicProperty("height", m); k.asSetPublicProperty("textFieldWidth", e + 4); k.asSetPublicProperty("textFieldHeight", m + 4); f = f.getLineMetrics(); k.asSetPublicProperty("ascent", f.asGetPublicProperty("ascent")); k.asSetPublicProperty("descent", f.asGetPublicProperty("descent")); return k; }; return d; }(b.AVM2.AS.flash.text.TextFormat); f.AVM1TextFormat = k; })(g.avm1lib || (g.avm1lib = {})); })(k.AS || (k.AS = {})); })(b.AVM2 || (b.AVM2 = {})); })(Shumway || (Shumway = {})); console.timeEnd("Load AVM1 Dependencies"); (function(b) { (function(k) { function g(a, d, h) { return c && h ? "string" === typeof d ? (a = b.ColorUtilities.cssStyleToRGBA(d), b.ColorUtilities.rgbaToCSSStyle(h.transformRGBA(a))) : d instanceof CanvasGradient && d._template ? d._template.createCanvasGradient(a, h) : d : d; } var f = b.Debug.assert, t = b.NumberUtilities.clamp; (function(a) { a[a.None = 0] = "None"; a[a.Brief = 1] = "Brief"; a[a.Verbose = 2] = "Verbose"; })(k.TraceLevel || (k.TraceLevel = {})); var s = b.Metrics.Counter.instance; k.frameCounter = new b.Metrics.Counter(!0); k.traceLevel = 2; k.writer = null; k.frameCount = function(a) { s.count(a); k.frameCounter.count(a); }; k.timelineBuffer = new b.Tools.Profiler.TimelineBuffer("GFX"); k.enterTimeline = function(a, b) { }; k.leaveTimeline = function(a, b) { }; var m = null, d = null, a = null, c = !0; c && "undefined" !== typeof CanvasRenderingContext2D && (m = CanvasGradient.prototype.addColorStop, d = CanvasRenderingContext2D.prototype.createLinearGradient, a = CanvasRenderingContext2D.prototype.createRadialGradient, CanvasRenderingContext2D.prototype.createLinearGradient = function(a, b, c, d) { return(new p(a, b, c, d)).createCanvasGradient(this, null); }, CanvasRenderingContext2D.prototype.createRadialGradient = function(a, b, c, d, h, f) { return(new e(a, b, c, d, h, f)).createCanvasGradient(this, null); }, CanvasGradient.prototype.addColorStop = function(a, b) { m.call(this, a, b); this._template.addColorStop(a, b); }); var n = function() { return function(a, b) { this.offset = a; this.color = b; }; }(), p = function() { function a(b, c, d, h) { this.x0 = b; this.y0 = c; this.x1 = d; this.y1 = h; this.colorStops = []; } a.prototype.addColorStop = function(a, b) { this.colorStops.push(new n(a, b)); }; a.prototype.createCanvasGradient = function(a, b) { for (var c = d.call(a, this.x0, this.y0, this.x1, this.y1), h = this.colorStops, e = 0;e < h.length;e++) { var f = h[e], k = f.offset, f = f.color, f = b ? g(a, f, b) : f; m.call(c, k, f); } c._template = this; c._transform = this._transform; return c; }; return a; }(), e = function() { function b(a, c, d, h, f, e) { this.x0 = a; this.y0 = c; this.r0 = d; this.x1 = h; this.y1 = f; this.r1 = e; this.colorStops = []; } b.prototype.addColorStop = function(a, b) { this.colorStops.push(new n(a, b)); }; b.prototype.createCanvasGradient = function(b, c) { for (var d = a.call(b, this.x0, this.y0, this.r0, this.x1, this.y1, this.r1), h = this.colorStops, f = 0;f < h.length;f++) { var e = h[f], k = e.offset, e = e.color, e = c ? g(b, e, c) : e; m.call(d, k, e); } d._template = this; d._transform = this._transform; return d; }; return b; }(), q; (function(a) { a[a.ClosePath = 1] = "ClosePath"; a[a.MoveTo = 2] = "MoveTo"; a[a.LineTo = 3] = "LineTo"; a[a.QuadraticCurveTo = 4] = "QuadraticCurveTo"; a[a.BezierCurveTo = 5] = "BezierCurveTo"; a[a.ArcTo = 6] = "ArcTo"; a[a.Rect = 7] = "Rect"; a[a.Arc = 8] = "Arc"; a[a.Save = 9] = "Save"; a[a.Restore = 10] = "Restore"; a[a.Transform = 11] = "Transform"; })(q || (q = {})); var l = function() { function a(b) { this._commands = new Uint8Array(a._arrayBufferPool.acquire(8), 0, 8); this._commandPosition = 0; this._data = new Float64Array(a._arrayBufferPool.acquire(8 * Float64Array.BYTES_PER_ELEMENT), 0, 8); this._dataPosition = 0; b instanceof a && this.addPath(b); } a._apply = function(a, b) { var c = a._commands, d = a._data, h = 0, e = 0; b.beginPath(); for (var f = a._commandPosition;h < f;) { switch(c[h++]) { case 1: b.closePath(); break; case 2: b.moveTo(d[e++], d[e++]); break; case 3: b.lineTo(d[e++], d[e++]); break; case 4: b.quadraticCurveTo(d[e++], d[e++], d[e++], d[e++]); break; case 5: b.bezierCurveTo(d[e++], d[e++], d[e++], d[e++], d[e++], d[e++]); break; case 6: b.arcTo(d[e++], d[e++], d[e++], d[e++], d[e++]); break; case 7: b.rect(d[e++], d[e++], d[e++], d[e++]); break; case 8: b.arc(d[e++], d[e++], d[e++], d[e++], d[e++], !!d[e++]); break; case 9: b.save(); break; case 10: b.restore(); break; case 11: b.transform(d[e++], d[e++], d[e++], d[e++], d[e++], d[e++]); } } }; a.prototype._ensureCommandCapacity = function(b) { this._commands = a._arrayBufferPool.ensureUint8ArrayLength(this._commands, b); }; a.prototype._ensureDataCapacity = function(b) { this._data = a._arrayBufferPool.ensureFloat64ArrayLength(this._data, b); }; a.prototype._writeCommand = function(a) { this._commandPosition >= this._commands.length && this._ensureCommandCapacity(this._commandPosition + 1); this._commands[this._commandPosition++] = a; }; a.prototype._writeData = function(a, b, c, d, h, e) { var g = arguments.length; f(6 >= g && (0 === g % 2 || 5 === g)); this._dataPosition + g >= this._data.length && this._ensureDataCapacity(this._dataPosition + g); var k = this._data, l = this._dataPosition; k[l] = a; k[l + 1] = b; 2 < g && (k[l + 2] = c, k[l + 3] = d, 4 < g && (k[l + 4] = h, 6 === g && (k[l + 5] = e))); this._dataPosition += g; }; a.prototype.closePath = function() { this._writeCommand(1); }; a.prototype.moveTo = function(a, b) { this._writeCommand(2); this._writeData(a, b); }; a.prototype.lineTo = function(a, b) { this._writeCommand(3); this._writeData(a, b); }; a.prototype.quadraticCurveTo = function(a, b, c, d) { this._writeCommand(4); this._writeData(a, b, c, d); }; a.prototype.bezierCurveTo = function(a, b, c, d, h, e) { this._writeCommand(5); this._writeData(a, b, c, d, h, e); }; a.prototype.arcTo = function(a, b, c, d, h) { this._writeCommand(6); this._writeData(a, b, c, d, h); }; a.prototype.rect = function(a, b, c, d) { this._writeCommand(7); this._writeData(a, b, c, d); }; a.prototype.arc = function(a, b, c, d, h, e) { this._writeCommand(8); this._writeData(a, b, c, d, h, +e); }; a.prototype.addPath = function(a, b) { b && (this._writeCommand(9), this._writeCommand(11), this._writeData(b.a, b.b, b.c, b.d, b.e, b.f)); var c = this._commandPosition + a._commandPosition; c >= this._commands.length && this._ensureCommandCapacity(c); for (var d = this._commands, h = a._commands, e = this._commandPosition, f = 0;e < c;e++) { d[e] = h[f++]; } this._commandPosition = c; c = this._dataPosition + a._dataPosition; c >= this._data.length && this._ensureDataCapacity(c); d = this._data; h = a._data; e = this._dataPosition; for (f = 0;e < c;e++) { d[e] = h[f++]; } this._dataPosition = c; b && this._writeCommand(10); }; a._arrayBufferPool = new b.ArrayBufferPool; return a; }(); k.Path = l; if ("undefined" !== typeof CanvasRenderingContext2D && ("undefined" === typeof Path2D || !Path2D.prototype.addPath)) { var u = CanvasRenderingContext2D.prototype.fill; CanvasRenderingContext2D.prototype.fill = function(a, b) { arguments.length && (a instanceof l ? l._apply(a, this) : b = a); b ? u.call(this, b) : u.call(this); }; var w = CanvasRenderingContext2D.prototype.stroke; CanvasRenderingContext2D.prototype.stroke = function(a, b) { arguments.length && (a instanceof l ? l._apply(a, this) : b = a); b ? w.call(this, b) : w.call(this); }; var r = CanvasRenderingContext2D.prototype.clip; CanvasRenderingContext2D.prototype.clip = function(a, b) { arguments.length && (a instanceof l ? l._apply(a, this) : b = a); b ? r.call(this, b) : r.call(this); }; window.Path2D = l; } if ("undefined" !== typeof CanvasPattern && Path2D.prototype.addPath) { q = function(a) { this._transform = a; this._template && (this._template._transform = a); }; CanvasPattern.prototype.setTransform || (CanvasPattern.prototype.setTransform = q); CanvasGradient.prototype.setTransform || (CanvasGradient.prototype.setTransform = q); var h = CanvasRenderingContext2D.prototype.fill, x = CanvasRenderingContext2D.prototype.stroke; CanvasRenderingContext2D.prototype.fill = function(a, b) { var c = !!this.fillStyle._transform; if ((this.fillStyle instanceof CanvasPattern || this.fillStyle instanceof CanvasGradient) && c && a instanceof Path2D) { var c = this.fillStyle._transform, d; try { d = c.inverse(); } catch (e) { d = c = k.Geometry.Matrix.createIdentitySVGMatrix(); } this.transform(c.a, c.b, c.c, c.d, c.e, c.f); c = new Path2D; c.addPath(a, d); h.call(this, c, b); this.transform(d.a, d.b, d.c, d.d, d.e, d.f); } else { 0 === arguments.length ? h.call(this) : 1 === arguments.length ? h.call(this, a) : 2 === arguments.length && h.call(this, a, b); } }; CanvasRenderingContext2D.prototype.stroke = function(a) { var b = !!this.strokeStyle._transform; if ((this.strokeStyle instanceof CanvasPattern || this.strokeStyle instanceof CanvasGradient) && b && a instanceof Path2D) { var c = this.strokeStyle._transform, b = c.inverse(); this.transform(c.a, c.b, c.c, c.d, c.e, c.f); c = new Path2D; c.addPath(a, b); var d = this.lineWidth; this.lineWidth *= (b.a + b.d) / 2; x.call(this, c); this.transform(b.a, b.b, b.c, b.d, b.e, b.f); this.lineWidth = d; } else { 0 === arguments.length ? x.call(this) : 1 === arguments.length && x.call(this, a); } }; } "undefined" !== typeof CanvasRenderingContext2D && function() { function a(b) { return b.a; } function b(a) { return a.d; } CanvasRenderingContext2D.prototype.flashStroke = function(c, d) { var h = this.currentTransform; if (!h) { if (h = this.mozCurrentTransform) { h = k.Geometry.Matrix.createSVGMatrixFromArray(h); } else { this.stroke(c); return; } } var e = new Path2D; e.addPath(c, h); var f = this.lineWidth; this.setTransform(1, 0, 0, 1, 0, 0); switch(d) { case 1: this.lineWidth = t(f * (a(h) + b(h)) / 2, 1, 1024); break; case 2: this.lineWidth = t(f * b(h), 1, 1024); break; case 3: this.lineWidth = t(f * a(h), 1, 1024); } this.stroke(e); this.setTransform(h.a, h.b, h.c, h.d, h.e, h.f); this.lineWidth = f; }; }(); if ("undefined" !== typeof CanvasRenderingContext2D && void 0 === CanvasRenderingContext2D.prototype.globalColorMatrix) { var y = CanvasRenderingContext2D.prototype.fill, G = CanvasRenderingContext2D.prototype.stroke, I = CanvasRenderingContext2D.prototype.fillText, C = CanvasRenderingContext2D.prototype.strokeText; Object.defineProperty(CanvasRenderingContext2D.prototype, "globalColorMatrix", {get:function() { return this._globalColorMatrix ? this._globalColorMatrix.clone() : null; }, set:function(a) { a ? this._globalColorMatrix ? this._globalColorMatrix.set(a) : this._globalColorMatrix = a.clone() : this._globalColorMatrix = null; }, enumerable:!0, configurable:!0}); CanvasRenderingContext2D.prototype.fill = function(a, b) { var c = null; this._globalColorMatrix && (c = this.fillStyle, this.fillStyle = g(this, this.fillStyle, this._globalColorMatrix)); 0 === arguments.length ? y.call(this) : 1 === arguments.length ? y.call(this, a) : 2 === arguments.length && y.call(this, a, b); c && (this.fillStyle = c); }; CanvasRenderingContext2D.prototype.stroke = function(a, b) { var c = null; this._globalColorMatrix && (c = this.strokeStyle, this.strokeStyle = g(this, this.strokeStyle, this._globalColorMatrix)); 0 === arguments.length ? G.call(this) : 1 === arguments.length && G.call(this, a); c && (this.strokeStyle = c); }; CanvasRenderingContext2D.prototype.fillText = function(a, c, d, h) { var e = null; this._globalColorMatrix && (e = this.fillStyle, this.fillStyle = g(this, this.fillStyle, this._globalColorMatrix)); 3 === arguments.length ? I.call(this, a, c, d) : 4 === arguments.length ? I.call(this, a, c, d, h) : b.Debug.unexpected(); e && (this.fillStyle = e); }; CanvasRenderingContext2D.prototype.strokeText = function(a, c, d, h) { var e = null; this._globalColorMatrix && (e = this.strokeStyle, this.strokeStyle = g(this, this.strokeStyle, this._globalColorMatrix)); 3 === arguments.length ? C.call(this, a, c, d) : 4 === arguments.length ? C.call(this, a, c, d, h) : b.Debug.unexpected(); e && (this.strokeStyle = e); }; } })(b.GFX || (b.GFX = {})); })(Shumway || (Shumway = {})); (function(b) { var k = b.Debug.assert, g = function() { function b() { this._count = 0; this._head = this._tail = null; } Object.defineProperty(b.prototype, "count", {get:function() { return this._count; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "head", {get:function() { return this._head; }, enumerable:!0, configurable:!0}); b.prototype._unshift = function(b) { k(!b.next && !b.previous); 0 === this._count ? this._head = this._tail = b : (b.next = this._head, this._head = b.next.previous = b); this._count++; }; b.prototype._remove = function(b) { k(0 < this._count); b === this._head && b === this._tail ? this._head = this._tail = null : b === this._head ? (this._head = b.next, this._head.previous = null) : b == this._tail ? (this._tail = b.previous, this._tail.next = null) : (b.previous.next = b.next, b.next.previous = b.previous); b.previous = b.next = null; this._count--; }; b.prototype.use = function(b) { this._head !== b && ((b.next || b.previous || this._tail === b) && this._remove(b), this._unshift(b)); }; b.prototype.pop = function() { if (!this._tail) { return null; } var b = this._tail; this._remove(b); return b; }; b.prototype.visit = function(b, f) { "undefined" === typeof f && (f = !0); for (var g = f ? this._head : this._tail;g && b(g);) { g = f ? g.next : g.previous; } }; return b; }(); b.LRUList = g; })(Shumway || (Shumway = {})); var Shumway$$inline_404 = Shumway || (Shumway = {}), GFX$$inline_405 = Shumway$$inline_404.GFX || (Shumway$$inline_404.GFX = {}), Option$$inline_406 = Shumway$$inline_404.Options.Option, OptionSet$$inline_407 = Shumway$$inline_404.Options.OptionSet, shumwayOptions$$inline_408 = Shumway$$inline_404.Settings.shumwayOptions, rendererOptions$$inline_409 = shumwayOptions$$inline_408.register(new OptionSet$$inline_407("Renderer Options")); GFX$$inline_405.imageUpdateOption = rendererOptions$$inline_409.register(new Option$$inline_406("", "imageUpdate", "boolean", !0, "Enable image updating.")); GFX$$inline_405.imageConvertOption = rendererOptions$$inline_409.register(new Option$$inline_406("", "imageConvert", "boolean", !0, "Enable image conversion.")); GFX$$inline_405.stageOptions = shumwayOptions$$inline_408.register(new OptionSet$$inline_407("Stage Renderer Options")); GFX$$inline_405.forcePaint = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "forcePaint", "boolean", !1, "Force repainting.")); GFX$$inline_405.ignoreViewport = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "ignoreViewport", "boolean", !1, "Cull elements outside of the viewport.")); GFX$$inline_405.viewportLoupeDiameter = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "viewportLoupeDiameter", "number", 256, "Size of the viewport loupe.", {range:{min:1, max:1024, step:1}})); GFX$$inline_405.disableClipping = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "disableClipping", "boolean", !1, "Disable clipping.")); GFX$$inline_405.debugClipping = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "debugClipping", "boolean", !1, "Disable clipping.")); GFX$$inline_405.backend = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "backend", "number", 0, "Backends", {choices:{Canvas2D:0, WebGL:1, Both:2}})); GFX$$inline_405.hud = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "hud", "boolean", !1, "Enable HUD.")); var webGLOptions$$inline_410 = GFX$$inline_405.stageOptions.register(new OptionSet$$inline_407("WebGL Options")); GFX$$inline_405.perspectiveCamera = webGLOptions$$inline_410.register(new Option$$inline_406("", "pc", "boolean", !1, "Use perspective camera.")); GFX$$inline_405.perspectiveCameraFOV = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcFOV", "number", 60, "Perspective Camera FOV.")); GFX$$inline_405.perspectiveCameraDistance = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcDistance", "number", 2, "Perspective Camera Distance.")); GFX$$inline_405.perspectiveCameraAngle = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcAngle", "number", 0, "Perspective Camera Angle.")); GFX$$inline_405.perspectiveCameraAngleRotate = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcRotate", "boolean", !1, "Rotate Use perspective camera.")); GFX$$inline_405.perspectiveCameraSpacing = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcSpacing", "number", .01, "Element Spacing.")); GFX$$inline_405.perspectiveCameraSpacingInflate = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcInflate", "boolean", !1, "Rotate Use perspective camera.")); GFX$$inline_405.drawTiles = webGLOptions$$inline_410.register(new Option$$inline_406("", "drawTiles", "boolean", !1, "Draw WebGL Tiles")); GFX$$inline_405.drawSurfaces = webGLOptions$$inline_410.register(new Option$$inline_406("", "drawSurfaces", "boolean", !1, "Draw WebGL Surfaces.")); GFX$$inline_405.drawSurface = webGLOptions$$inline_410.register(new Option$$inline_406("", "drawSurface", "number", -1, "Draw WebGL Surface #")); GFX$$inline_405.drawElements = webGLOptions$$inline_410.register(new Option$$inline_406("", "drawElements", "boolean", !0, "Actually call gl.drawElements. This is useful to test if the GPU is the bottleneck.")); GFX$$inline_405.disableSurfaceUploads = webGLOptions$$inline_410.register(new Option$$inline_406("", "disableSurfaceUploads", "boolean", !1, "Disable surface uploads.")); GFX$$inline_405.premultipliedAlpha = webGLOptions$$inline_410.register(new Option$$inline_406("", "premultipliedAlpha", "boolean", !1, "Set the premultipliedAlpha flag on getContext().")); GFX$$inline_405.unpackPremultiplyAlpha = webGLOptions$$inline_410.register(new Option$$inline_406("", "unpackPremultiplyAlpha", "boolean", !0, "Use UNPACK_PREMULTIPLY_ALPHA_WEBGL in pixelStorei.")); var factorChoices$$inline_411 = {ZERO:0, ONE:1, SRC_COLOR:768, ONE_MINUS_SRC_COLOR:769, DST_COLOR:774, ONE_MINUS_DST_COLOR:775, SRC_ALPHA:770, ONE_MINUS_SRC_ALPHA:771, DST_ALPHA:772, ONE_MINUS_DST_ALPHA:773, SRC_ALPHA_SATURATE:776, CONSTANT_COLOR:32769, ONE_MINUS_CONSTANT_COLOR:32770, CONSTANT_ALPHA:32771, ONE_MINUS_CONSTANT_ALPHA:32772}; GFX$$inline_405.sourceBlendFactor = webGLOptions$$inline_410.register(new Option$$inline_406("", "sourceBlendFactor", "number", factorChoices$$inline_411.ONE, "", {choices:factorChoices$$inline_411})); GFX$$inline_405.destinationBlendFactor = webGLOptions$$inline_410.register(new Option$$inline_406("", "destinationBlendFactor", "number", factorChoices$$inline_411.ONE_MINUS_SRC_ALPHA, "", {choices:factorChoices$$inline_411})); var canvas2DOptions$$inline_412 = GFX$$inline_405.stageOptions.register(new OptionSet$$inline_407("Canvas2D Options")); GFX$$inline_405.clipDirtyRegions = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "clipDirtyRegions", "boolean", !1, "Clip dirty regions.")); GFX$$inline_405.clipCanvas = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "clipCanvas", "boolean", !1, "Clip Regions.")); GFX$$inline_405.cull = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "cull", "boolean", !1, "Enable culling.")); GFX$$inline_405.compositeMask = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "compositeMask", "boolean", !1, "Composite Mask.")); GFX$$inline_405.snapToDevicePixels = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "snapToDevicePixels", "boolean", !1, "")); GFX$$inline_405.imageSmoothing = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "imageSmoothing", "boolean", !1, "")); GFX$$inline_405.blending = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "blending", "boolean", !0, "")); GFX$$inline_405.cacheShapes = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "cacheShapes", "boolean", !1, "")); GFX$$inline_405.cacheShapesMaxSize = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "cacheShapesMaxSize", "number", 256, "", {range:{min:1, max:1024, step:1}})); GFX$$inline_405.cacheShapesThreshold = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "cacheShapesThreshold", "number", 256, "", {range:{min:1, max:1024, step:1}})); var GFX$$inline_413 = Shumway$$inline_404.GFX; (function(b) { (function(k) { (function(g) { function f(a, b, c, d) { var e = 1 - d; return a * e * e + 2 * b * e * d + c * d * d; } function t(a, b, c, d, e) { var f = e * e, g = 1 - e, k = g * g; return a * g * k + 3 * b * e * k + 3 * c * g * f + d * e * f; } var s = b.NumberUtilities.clamp, m = b.NumberUtilities.pow2, d = b.NumberUtilities.epsilonEquals, a = b.Debug.assert; g.radianToDegrees = function(a) { return 180 * a / Math.PI; }; g.degreesToRadian = function(a) { return a * Math.PI / 180; }; g.quadraticBezier = f; g.quadraticBezierExtreme = function(a, b, c) { var d = (a - b) / (a - 2 * b + c); return 0 > d ? a : 1 < d ? c : f(a, b, c, d); }; g.cubicBezier = t; g.cubicBezierExtremes = function(a, b, c, d) { var e = b - a, f; f = 2 * (c - b); var g = d - c; e + g === f && (g *= 1.0001); var k = 2 * e - f, l = f - 2 * e, l = Math.sqrt(l * l - 4 * e * (e - f + g)); f = 2 * (e - f + g); e = (k + l) / f; k = (k - l) / f; l = []; 0 <= e && 1 >= e && l.push(t(a, b, c, d, e)); 0 <= k && 1 >= k && l.push(t(a, b, c, d, k)); return l; }; var c = function() { function a(b, c) { this.x = b; this.y = c; } a.prototype.setElements = function(a, b) { this.x = a; this.y = b; return this; }; a.prototype.set = function(a) { this.x = a.x; this.y = a.y; return this; }; a.prototype.dot = function(a) { return this.x * a.x + this.y * a.y; }; a.prototype.squaredLength = function() { return this.dot(this); }; a.prototype.distanceTo = function(a) { return Math.sqrt(this.dot(a)); }; a.prototype.sub = function(a) { this.x -= a.x; this.y -= a.y; return this; }; a.prototype.mul = function(a) { this.x *= a; this.y *= a; return this; }; a.prototype.clone = function() { return new a(this.x, this.y); }; a.prototype.toString = function() { return "{x: " + this.x + ", y: " + this.y + "}"; }; a.prototype.inTriangle = function(a, b, c) { var d = a.y * c.x - a.x * c.y + (c.y - a.y) * this.x + (a.x - c.x) * this.y, e = a.x * b.y - a.y * b.x + (a.y - b.y) * this.x + (b.x - a.x) * this.y; if (0 > d != 0 > e) { return!1; } a = -b.y * c.x + a.y * (c.x - b.x) + a.x * (b.y - c.y) + b.x * c.y; 0 > a && (d = -d, e = -e, a = -a); return 0 < d && 0 < e && d + e < a; }; a.createEmpty = function() { return new a(0, 0); }; a.createEmptyPoints = function(b) { for (var c = [], d = 0;d < b;d++) { c.push(new a(0, 0)); } return c; }; return a; }(); g.Point = c; var n = function() { function a(b, c, d) { this.x = b; this.y = c; this.z = d; } a.prototype.setElements = function(a, b, c) { this.x = a; this.y = b; this.z = c; return this; }; a.prototype.set = function(a) { this.x = a.x; this.y = a.y; this.z = a.z; return this; }; a.prototype.dot = function(a) { return this.x * a.x + this.y * a.y + this.z * a.z; }; a.prototype.cross = function(a) { var b = this.z * a.x - this.x * a.z, c = this.x * a.y - this.y * a.x; this.x = this.y * a.z - this.z * a.y; this.y = b; this.z = c; return this; }; a.prototype.squaredLength = function() { return this.dot(this); }; a.prototype.sub = function(a) { this.x -= a.x; this.y -= a.y; this.z -= a.z; return this; }; a.prototype.mul = function(a) { this.x *= a; this.y *= a; this.z *= a; return this; }; a.prototype.normalize = function() { var a = Math.sqrt(this.squaredLength()); 1E-5 < a ? this.mul(1 / a) : this.setElements(0, 0, 0); return this; }; a.prototype.clone = function() { return new a(this.x, this.y, this.z); }; a.prototype.toString = function() { return "{x: " + this.x + ", y: " + this.y + ", z: " + this.z + "}"; }; a.createEmpty = function() { return new a(0, 0, 0); }; a.createEmptyPoints = function(b) { for (var c = [], d = 0;d < b;d++) { c.push(new a(0, 0, 0)); } return c; }; return a; }(); g.Point3D = n; var p = function() { function a(b, c, d, e) { this.setElements(b, c, d, e); } a.prototype.setElements = function(a, b, c, d) { this.x = a; this.y = b; this.w = c; this.h = d; }; a.prototype.set = function(a) { this.x = a.x; this.y = a.y; this.w = a.w; this.h = a.h; }; a.prototype.contains = function(a) { var b = a.x + a.w, c = a.y + a.h, d = this.x + this.w, e = this.y + this.h; return a.x >= this.x && a.x < d && a.y >= this.y && a.y < e && b > this.x && b <= d && c > this.y && c <= e; }; a.prototype.containsPoint = function(a) { return a.x >= this.x && a.x < this.x + this.w && a.y >= this.y && a.y < this.y + this.h; }; a.prototype.isContained = function(a) { for (var b = 0;b < a.length;b++) { if (a[b].contains(this)) { return!0; } } return!1; }; a.prototype.isSmallerThan = function(a) { return this.w < a.w && this.h < a.h; }; a.prototype.isLargerThan = function(a) { return this.w > a.w && this.h > a.h; }; a.prototype.union = function(a) { if (this.isEmpty()) { this.set(a); } else { var b = this.x, c = this.y; this.x > a.x && (b = a.x); this.y > a.y && (c = a.y); var d = this.x + this.w; d < a.x + a.w && (d = a.x + a.w); var e = this.y + this.h; e < a.y + a.h && (e = a.y + a.h); this.x = b; this.y = c; this.w = d - b; this.h = e - c; } }; a.prototype.isEmpty = function() { return 0 >= this.w || 0 >= this.h; }; a.prototype.setEmpty = function() { this.h = this.w = 0; }; a.prototype.intersect = function(b) { var c = a.createEmpty(); if (this.isEmpty() || b.isEmpty()) { return c.setEmpty(), c; } c.x = Math.max(this.x, b.x); c.y = Math.max(this.y, b.y); c.w = Math.min(this.x + this.w, b.x + b.w) - c.x; c.h = Math.min(this.y + this.h, b.y + b.h) - c.y; c.isEmpty() && c.setEmpty(); this.set(c); }; a.prototype.intersects = function(a) { if (this.isEmpty() || a.isEmpty()) { return!1; } var b = Math.max(this.x, a.x), c = Math.max(this.y, a.y), b = Math.min(this.x + this.w, a.x + a.w) - b; a = Math.min(this.y + this.h, a.y + a.h) - c; return!(0 >= b || 0 >= a); }; a.prototype.intersectsTransformedAABB = function(b, c) { var d = a._temporary; d.set(b); c.transformRectangleAABB(d); return this.intersects(d); }; a.prototype.intersectsTranslated = function(a, b, c) { if (this.isEmpty() || a.isEmpty()) { return!1; } var d = Math.max(this.x, a.x + b), e = Math.max(this.y, a.y + c); b = Math.min(this.x + this.w, a.x + b + a.w) - d; a = Math.min(this.y + this.h, a.y + c + a.h) - e; return!(0 >= b || 0 >= a); }; a.prototype.area = function() { return this.w * this.h; }; a.prototype.clone = function() { return new a(this.x, this.y, this.w, this.h); }; a.prototype.snap = function() { var a = Math.ceil(this.x + this.w), b = Math.ceil(this.y + this.h); this.x = Math.floor(this.x); this.y = Math.floor(this.y); this.w = a - this.x; this.h = b - this.y; return this; }; a.prototype.scale = function(a, b) { this.x *= a; this.y *= b; this.w *= a; this.h *= b; return this; }; a.prototype.offset = function(a, b) { this.x += a; this.y += b; return this; }; a.prototype.resize = function(a, b) { this.w += a; this.h += b; return this; }; a.prototype.expand = function(a, b) { this.offset(-a, -b).resize(2 * a, 2 * b); return this; }; a.prototype.getCenter = function() { return new c(this.x + this.w / 2, this.y + this.h / 2); }; a.prototype.getAbsoluteBounds = function() { return new a(0, 0, this.w, this.h); }; a.prototype.toString = function() { return "{" + this.x + ", " + this.y + ", " + this.w + ", " + this.h + "}"; }; a.createEmpty = function() { return new a(0, 0, 0, 0); }; a.createSquare = function() { return new a(-512, -512, 1024, 1024); }; a.createMaxI16 = function() { return new a(b.Numbers.MinI16, b.Numbers.MinI16, 65535, 65535); }; a.prototype.getCorners = function(a) { a[0].x = this.x; a[0].y = this.y; a[1].x = this.x + this.w; a[1].y = this.y; a[2].x = this.x + this.w; a[2].y = this.y + this.h; a[3].x = this.x; a[3].y = this.y + this.h; }; a._temporary = a.createEmpty(); return a; }(); g.Rectangle = p; var e = function() { function a(b) { this.corners = b.map(function(a) { return a.clone(); }); this.axes = [b[1].clone().sub(b[0]), b[3].clone().sub(b[0])]; this.origins = []; for (var c = 0;2 > c;c++) { this.axes[c].mul(1 / this.axes[c].squaredLength()), this.origins.push(b[0].dot(this.axes[c])); } } a.prototype.getBounds = function() { return a.getBounds(this.corners); }; a.getBounds = function(a) { for (var b = new c(Number.MAX_VALUE, Number.MAX_VALUE), d = new c(Number.MIN_VALUE, Number.MIN_VALUE), e = 0;4 > e;e++) { var f = a[e].x, g = a[e].y; b.x = Math.min(b.x, f); b.y = Math.min(b.y, g); d.x = Math.max(d.x, f); d.y = Math.max(d.y, g); } return new p(b.x, b.y, d.x - b.x, d.y - b.y); }; a.prototype.intersects = function(a) { return this.intersectsOneWay(a) && a.intersectsOneWay(this); }; a.prototype.intersectsOneWay = function(a) { for (var b = 0;2 > b;b++) { for (var c = 0;4 > c;c++) { var d = a.corners[c].dot(this.axes[b]), e, f; 0 === c ? f = e = d : d < e ? e = d : d > f && (f = d); } if (e > 1 + this.origins[b] || f < this.origins[b]) { return!1; } } return!0; }; return a; }(); g.OBB = e; var q = function() { function a(b, c, d, e, f, g) { this._data = new Float64Array(6); this.setElements(b, c, d, e, f, g); } Object.defineProperty(a.prototype, "a", {get:function() { return this._data[0]; }, set:function(a) { this._data[0] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "b", {get:function() { return this._data[1]; }, set:function(a) { this._data[1] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "c", {get:function() { return this._data[2]; }, set:function(a) { this._data[2] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "d", {get:function() { return this._data[3]; }, set:function(a) { this._data[3] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "tx", {get:function() { return this._data[4]; }, set:function(a) { this._data[4] = a; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "ty", {get:function() { return this._data[5]; }, set:function(a) { this._data[5] = a; }, enumerable:!0, configurable:!0}); a.prototype.setElements = function(a, b, c, d, e, f) { var g = this._data; g[0] = a; g[1] = b; g[2] = c; g[3] = d; g[4] = e; g[5] = f; }; a.prototype.set = function(a) { var b = this._data; a = a._data; b[0] = a[0]; b[1] = a[1]; b[2] = a[2]; b[3] = a[3]; b[4] = a[4]; b[5] = a[5]; }; a.prototype.emptyArea = function(a) { a = this._data; return 0 === a[0] || 0 === a[3] ? !0 : !1; }; a.prototype.infiniteArea = function(a) { a = this._data; return Infinity === Math.abs(a[0]) || Infinity === Math.abs(a[3]) ? !0 : !1; }; a.prototype.isEqual = function(a) { var b = this._data; a = a._data; return b[0] === a[0] && b[1] === a[1] && b[2] === a[2] && b[3] === a[3] && b[4] === a[4] && b[5] === a[5]; }; a.prototype.clone = function() { var b = this._data; return new a(b[0], b[1], b[2], b[3], b[4], b[5]); }; a.prototype.transform = function(a, b, c, d, e, f) { var g = this._data, k = g[0], l = g[1], m = g[2], n = g[3], r = g[4], p = g[5]; g[0] = k * a + m * b; g[1] = l * a + n * b; g[2] = k * c + m * d; g[3] = l * c + n * d; g[4] = k * e + m * f + r; g[5] = l * e + n * f + p; return this; }; a.prototype.transformRectangle = function(a, b) { var c = this._data, d = c[0], e = c[1], f = c[2], g = c[3], k = c[4], c = c[5], l = a.x, m = a.y, n = a.w, r = a.h; b[0].x = d * l + f * m + k; b[0].y = e * l + g * m + c; b[1].x = d * (l + n) + f * m + k; b[1].y = e * (l + n) + g * m + c; b[2].x = d * (l + n) + f * (m + r) + k; b[2].y = e * (l + n) + g * (m + r) + c; b[3].x = d * l + f * (m + r) + k; b[3].y = e * l + g * (m + r) + c; }; a.prototype.isTranslationOnly = function() { var a = this._data; return 1 === a[0] && 0 === a[1] && 0 === a[2] && 1 === a[3] || d(a[0], 1) && d(a[1], 0) && d(a[2], 0) && d(a[3], 1) ? !0 : !1; }; a.prototype.transformRectangleAABB = function(a) { var b = this._data, c = b[0], d = b[1], e = b[2], f = b[3], g = b[4], k = b[5], l = a.x, m = a.y, n = a.w, r = a.h, b = c * l + e * m + g, p = d * l + f * m + k, q = c * (l + n) + e * m + g, u = d * (l + n) + f * m + k, s = c * (l + n) + e * (m + r) + g, n = d * (l + n) + f * (m + r) + k, c = c * l + e * (m + r) + g, d = d * l + f * (m + r) + k, f = 0; b > q && (f = b, b = q, q = f); s > c && (f = s, s = c, c = f); a.x = b < s ? b : s; a.w = (q > c ? q : c) - a.x; p > u && (f = p, p = u, u = f); n > d && (f = n, n = d, d = f); a.y = p < n ? p : n; a.h = (u > d ? u : d) - a.y; }; a.prototype.scale = function(a, b) { var c = this._data; c[0] *= a; c[1] *= b; c[2] *= a; c[3] *= b; c[4] *= a; c[5] *= b; return this; }; a.prototype.scaleClone = function(a, b) { return 1 === a && 1 === b ? this : this.clone().scale(a, b); }; a.prototype.rotate = function(a) { var b = this._data, c = b[0], d = b[1], e = b[2], f = b[3], g = b[4], k = b[5], l = Math.cos(a); a = Math.sin(a); b[0] = l * c - a * d; b[1] = a * c + l * d; b[2] = l * e - a * f; b[3] = a * e + l * f; b[4] = l * g - a * k; b[5] = a * g + l * k; return this; }; a.prototype.concat = function(a) { var b = this._data; a = a._data; var c = b[0] * a[0], d = 0, e = 0, f = b[3] * a[3], g = b[4] * a[0] + a[4], k = b[5] * a[3] + a[5]; if (0 !== b[1] || 0 !== b[2] || 0 !== a[1] || 0 !== a[2]) { c += b[1] * a[2], f += b[2] * a[1], d += b[0] * a[1] + b[1] * a[3], e += b[2] * a[0] + b[3] * a[2], g += b[5] * a[2], k += b[4] * a[1]; } b[0] = c; b[1] = d; b[2] = e; b[3] = f; b[4] = g; b[5] = k; }; a.prototype.preMultiply = function(a) { var b = this._data; a = a._data; var c = a[0] * b[0], d = 0, e = 0, f = a[3] * b[3], g = a[4] * b[0] + b[4], k = a[5] * b[3] + b[5]; if (0 !== a[1] || 0 !== a[2] || 0 !== b[1] || 0 !== b[2]) { c += a[1] * b[2], f += a[2] * b[1], d += a[0] * b[1] + a[1] * b[3], e += a[2] * b[0] + a[3] * b[2], g += a[5] * b[2], k += a[4] * b[1]; } b[0] = c; b[1] = d; b[2] = e; b[3] = f; b[4] = g; b[5] = k; }; a.prototype.translate = function(a, b) { var c = this._data; c[4] += a; c[5] += b; return this; }; a.prototype.setIdentity = function() { var a = this._data; a[0] = 1; a[1] = 0; a[2] = 0; a[3] = 1; a[4] = 0; a[5] = 0; }; a.prototype.isIdentity = function() { var a = this._data; return 1 === a[0] && 0 === a[1] && 0 === a[2] && 1 === a[3] && 0 === a[4] && 0 === a[5]; }; a.prototype.transformPoint = function(a) { var b = this._data, c = a.x, d = a.y; a.x = b[0] * c + b[2] * d + b[4]; a.y = b[1] * c + b[3] * d + b[5]; }; a.prototype.transformPoints = function(a) { for (var b = 0;b < a.length;b++) { this.transformPoint(a[b]); } }; a.prototype.deltaTransformPoint = function(a) { var b = this._data, c = a.x, d = a.y; a.x = b[0] * c + b[2] * d; a.y = b[1] * c + b[3] * d; }; a.prototype.inverse = function(a) { var b = this._data, c = a._data, d = b[1], e = b[2], f = b[4], g = b[5]; if (0 === d && 0 === e) { var k = c[0] = 1 / b[0], b = c[3] = 1 / b[3]; c[1] = 0; c[2] = 0; c[4] = -k * f; c[5] = -b * g; } else { var k = b[0], b = b[3], l = k * b - d * e; 0 === l ? a.setIdentity() : (l = 1 / l, c[0] = b * l, d = c[1] = -d * l, e = c[2] = -e * l, b = c[3] = k * l, c[4] = -(c[0] * f + e * g), c[5] = -(d * f + b * g)); } }; a.prototype.getTranslateX = function() { return this._data[4]; }; a.prototype.getTranslateY = function() { return this._data[4]; }; a.prototype.getScaleX = function() { var a = this._data; if (1 === a[0] && 0 === a[1]) { return 1; } var b = Math.sqrt(a[0] * a[0] + a[1] * a[1]); return 0 < a[0] ? b : -b; }; a.prototype.getScaleY = function() { var a = this._data; if (0 === a[2] && 1 === a[3]) { return 1; } var b = Math.sqrt(a[2] * a[2] + a[3] * a[3]); return 0 < a[3] ? b : -b; }; a.prototype.getAbsoluteScaleX = function() { return Math.abs(this.getScaleX()); }; a.prototype.getAbsoluteScaleY = function() { return Math.abs(this.getScaleY()); }; a.prototype.getRotation = function() { var a = this._data; return 180 * Math.atan(a[1] / a[0]) / Math.PI; }; a.prototype.isScaleOrRotation = function() { var a = this._data; return.01 > Math.abs(a[0] * a[2] + a[1] * a[3]); }; a.prototype.toString = function() { var a = this._data; return "{" + a[0] + ", " + a[1] + ", " + a[2] + ", " + a[3] + ", " + a[4] + ", " + a[5] + "}"; }; a.prototype.toWebGLMatrix = function() { var a = this._data; return new Float32Array([a[0], a[1], 0, a[2], a[3], 0, a[4], a[5], 1]); }; a.prototype.toCSSTransform = function() { var a = this._data; return "matrix(" + a[0] + ", " + a[1] + ", " + a[2] + ", " + a[3] + ", " + a[4] + ", " + a[5] + ")"; }; a.createIdentity = function() { return new a(1, 0, 0, 1, 0, 0); }; a.prototype.toSVGMatrix = function() { var b = this._data, c = a._svg.createSVGMatrix(); c.a = b[0]; c.b = b[1]; c.c = b[2]; c.d = b[3]; c.e = b[4]; c.f = b[5]; return c; }; a.prototype.snap = function() { var a = this._data; return this.isTranslationOnly() ? (a[0] = 1, a[1] = 0, a[2] = 0, a[3] = 1, a[4] = Math.round(a[4]), a[5] = Math.round(a[5]), !0) : !1; }; a.createIdentitySVGMatrix = function() { return a._svg.createSVGMatrix(); }; a.createSVGMatrixFromArray = function(b) { var c = a._svg.createSVGMatrix(); c.a = b[0]; c.b = b[1]; c.c = b[2]; c.d = b[3]; c.e = b[4]; c.f = b[5]; return c; }; a._svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); a.multiply = function(a, b) { var c = b._data; a.transform(c[0], c[1], c[2], c[3], c[4], c[5]); }; return a; }(); g.Matrix = q; q = function() { function a(b) { this._m = new Float32Array(b); } a.prototype.asWebGLMatrix = function() { return this._m; }; a.createCameraLookAt = function(b, c, d) { c = b.clone().sub(c).normalize(); d = d.clone().cross(c).normalize(); var e = c.clone().cross(d); return new a([d.x, d.y, d.z, 0, e.x, e.y, e.z, 0, c.x, c.y, c.z, 0, b.x, b.y, b.z, 1]); }; a.createLookAt = function(b, c, d) { c = b.clone().sub(c).normalize(); d = d.clone().cross(c).normalize(); var e = c.clone().cross(d); return new a([d.x, e.x, c.x, 0, e.x, e.y, c.y, 0, c.x, e.z, c.z, 0, -d.dot(b), -e.dot(b), -c.dot(b), 1]); }; a.prototype.mul = function(a) { a = [a.x, a.y, a.z, 0]; for (var b = this._m, c = [], d = 0;4 > d;d++) { c[d] = 0; for (var e = 4 * d, f = 0;4 > f;f++) { c[d] += b[e + f] * a[f]; } } return new n(c[0], c[1], c[2]); }; a.create2DProjection = function(b, c, d) { return new a([2 / b, 0, 0, 0, 0, -2 / c, 0, 0, 0, 0, 2 / d, 0, -1, 1, 0, 1]); }; a.createPerspective = function(b, c, d, e) { b = Math.tan(.5 * Math.PI - .5 * b); var f = 1 / (d - e); return new a([b / c, 0, 0, 0, 0, b, 0, 0, 0, 0, (d + e) * f, -1, 0, 0, d * e * f * 2, 0]); }; a.createIdentity = function() { return a.createTranslation(); }; a.createTranslation = function() { return new a([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]); }; a.createXRotation = function(b) { var c = Math.cos(b); b = Math.sin(b); return new a([1, 0, 0, 0, 0, c, b, 0, 0, -b, c, 0, 0, 0, 0, 1]); }; a.createYRotation = function(b) { var c = Math.cos(b); b = Math.sin(b); return new a([c, 0, -b, 0, 0, 1, 0, 0, b, 0, c, 0, 0, 0, 0, 1]); }; a.createZRotation = function(b) { var c = Math.cos(b); b = Math.sin(b); return new a([c, b, 0, 0, -b, c, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]); }; a.createScale = function(b, c, d) { return new a([b, 0, 0, 0, 0, c, 0, 0, 0, 0, d, 0, 0, 0, 0, 1]); }; a.createMultiply = function(b, c) { var d = b._m, e = c._m, f = d[0], g = d[1], k = d[2], l = d[3], m = d[4], n = d[5], p = d[6], q = d[7], u = d[8], s = d[9], w = d[10], t = d[11], L = d[12], M = d[13], V = d[14], d = d[15], Q = e[0], U = e[1], S = e[2], aa = e[3], $ = e[4], ea = e[5], Z = e[6], v = e[7], X = e[8], ba = e[9], R = e[10], H = e[11], Y = e[12], ga = e[13], ca = e[14], e = e[15]; return new a([f * Q + g * $ + k * X + l * Y, f * U + g * ea + k * ba + l * ga, f * S + g * Z + k * R + l * ca, f * aa + g * v + k * H + l * e, m * Q + n * $ + p * X + q * Y, m * U + n * ea + p * ba + q * ga, m * S + n * Z + p * R + q * ca, m * aa + n * v + p * H + q * e, u * Q + s * $ + w * X + t * Y, u * U + s * ea + w * ba + t * ga, u * S + s * Z + w * R + t * ca, u * aa + s * v + w * H + t * e, L * Q + M * $ + V * X + d * Y, L * U + M * ea + V * ba + d * ga, L * S + M * Z + V * R + d * ca, L * aa + M * v + V * H + d * e]); }; a.createInverse = function(b) { var c = b._m; b = c[0]; var d = c[1], e = c[2], f = c[3], g = c[4], k = c[5], l = c[6], m = c[7], n = c[8], p = c[9], q = c[10], u = c[11], s = c[12], w = c[13], t = c[14], c = c[15], L = q * c, M = t * u, V = l * c, Q = t * m, U = l * u, S = q * m, aa = e * c, $ = t * f, ea = e * u, Z = q * f, v = e * m, X = l * f, ba = n * w, R = s * p, H = g * w, Y = s * k, ga = g * p, ca = n * k, ka = b * w, W = s * d, ha = b * p, da = n * d, ja = b * k, N = g * d, ma = L * k + Q * p + U * w - (M * k + V * p + S * w), T = M * d + aa * p + Z * w - (L * d + $ * p + ea * w), w = V * d + $ * k + v * w - (Q * d + aa * k + X * w), d = S * d + ea * k + X * p - (U * d + Z * k + v * p), k = 1 / (b * ma + g * T + n * w + s * d); return new a([k * ma, k * T, k * w, k * d, k * (M * g + V * n + S * s - (L * g + Q * n + U * s)), k * (L * b + $ * n + ea * s - (M * b + aa * n + Z * s)), k * (Q * b + aa * g + X * s - (V * b + $ * g + v * s)), k * (U * b + Z * g + v * n - (S * b + ea * g + X * n)), k * (ba * m + Y * u + ga * c - (R * m + H * u + ca * c)), k * (R * f + ka * u + da * c - (ba * f + W * u + ha * c)), k * (H * f + W * m + ja * c - (Y * f + ka * m + N * c)), k * (ca * f + ha * m + N * u - (ga * f + da * m + ja * u)), k * (H * q + ca * t + R * l - (ga * t + ba * l + Y * q)), k * (ha * t + ba * e + W * q - (ka * q + da * t + R * e)), k * (ka * l + N * t + Y * e - (ja * t + H * e + W * l)), k * (ja * q + ga * e + da * l - (ha * l + N * q + ca * e))]); }; return a; }(); g.Matrix3D = q; q = function() { function a(b, c, d) { "undefined" === typeof d && (d = 7); var e = this.size = 1 << d; this.sizeInBits = d; this.w = b; this.h = c; this.c = Math.ceil(b / e); this.r = Math.ceil(c / e); this.grid = []; for (b = 0;b < this.r;b++) { for (this.grid.push([]), c = 0;c < this.c;c++) { this.grid[b][c] = new a.Cell(new p(c * e, b * e, e, e)); } } } a.prototype.clear = function() { for (var a = 0;a < this.r;a++) { for (var b = 0;b < this.c;b++) { this.grid[a][b].clear(); } } }; a.prototype.getBounds = function() { return new p(0, 0, this.w, this.h); }; a.prototype.addDirtyRectangle = function(a) { var b = a.x >> this.sizeInBits, c = a.y >> this.sizeInBits; if (!(b >= this.c || c >= this.r)) { 0 > b && (b = 0); 0 > c && (c = 0); var d = this.grid[c][b]; a = a.clone(); a.snap(); if (d.region.contains(a)) { d.bounds.isEmpty() ? d.bounds.set(a) : d.bounds.contains(a) || d.bounds.union(a); } else { for (var e = Math.min(this.c, Math.ceil((a.x + a.w) / this.size)) - b, f = Math.min(this.r, Math.ceil((a.y + a.h) / this.size)) - c, g = 0;g < e;g++) { for (var k = 0;k < f;k++) { d = this.grid[c + k][b + g], d = d.region.clone(), d.intersect(a), d.isEmpty() || this.addDirtyRectangle(d); } } } } }; a.prototype.gatherRegions = function(a) { for (var b = 0;b < this.r;b++) { for (var c = 0;c < this.c;c++) { this.grid[b][c].bounds.isEmpty() || a.push(this.grid[b][c].bounds); } } }; a.prototype.gatherOptimizedRegions = function(a) { this.gatherRegions(a); }; a.prototype.getDirtyRatio = function() { var a = this.w * this.h; if (0 === a) { return 0; } for (var b = 0, c = 0;c < this.r;c++) { for (var d = 0;d < this.c;d++) { b += this.grid[c][d].region.area(); } } return b / a; }; a.prototype.render = function(a, b) { function c(b) { a.rect(b.x, b.y, b.w, b.h); } if (b && b.drawGrid) { a.strokeStyle = "white"; for (var d = 0;d < this.r;d++) { for (var e = 0;e < this.c;e++) { var f = this.grid[d][e]; a.beginPath(); c(f.region); a.closePath(); a.stroke(); } } } a.strokeStyle = "#E0F8D8"; for (d = 0;d < this.r;d++) { for (e = 0;e < this.c;e++) { f = this.grid[d][e], a.beginPath(), c(f.bounds), a.closePath(), a.stroke(); } } }; a.tmpRectangle = p.createEmpty(); return a; }(); g.DirtyRegion = q; (function(a) { var b = function() { function a(b) { this.region = b; this.bounds = p.createEmpty(); } a.prototype.clear = function() { this.bounds.setEmpty(); }; return a; }(); a.Cell = b; })(g.DirtyRegion || (g.DirtyRegion = {})); var q = g.DirtyRegion, l = function() { function a(b, c, d, e, f, g) { this.index = b; this.x = c; this.y = d; this.scale = g; this.bounds = new p(c * e, d * f, e, f); } a.prototype.getOBB = function() { if (this._obb) { return this._obb; } this.bounds.getCorners(a.corners); return this._obb = new e(a.corners); }; a.corners = c.createEmptyPoints(4); return a; }(); g.Tile = l; var u = function() { function b(c, d, e, f, g) { this.tileW = e; this.tileH = f; this.scale = g; this.w = c; this.h = d; this.rows = Math.ceil(d / f); this.columns = Math.ceil(c / e); a(2048 > this.rows && 2048 > this.columns); this.tiles = []; for (d = c = 0;d < this.rows;d++) { for (var k = 0;k < this.columns;k++) { this.tiles.push(new l(c++, k, d, e, f, g)); } } } b.prototype.getTiles = function(a, b) { if (b.emptyArea(a)) { return[]; } if (b.infiniteArea(a)) { return this.tiles; } var c = this.columns * this.rows; return 40 > c && b.isScaleOrRotation() ? this.getFewTiles(a, b, 10 < c) : this.getManyTiles(a, b); }; b.prototype.getFewTiles = function(a, c, d) { "undefined" === typeof d && (d = !0); if (c.isTranslationOnly() && 1 === this.tiles.length) { return this.tiles[0].bounds.intersectsTranslated(a, c.tx, c.ty) ? [this.tiles[0]] : []; } c.transformRectangle(a, b._points); var f; a = new p(0, 0, this.w, this.h); d && (f = new e(b._points)); a.intersect(e.getBounds(b._points)); if (a.isEmpty()) { return[]; } var g = a.x / this.tileW | 0; c = a.y / this.tileH | 0; var k = Math.ceil((a.x + a.w) / this.tileW) | 0, l = Math.ceil((a.y + a.h) / this.tileH) | 0, g = s(g, 0, this.columns), k = s(k, 0, this.columns); c = s(c, 0, this.rows); for (var l = s(l, 0, this.rows), m = [];g < k;g++) { for (var n = c;n < l;n++) { var q = this.tiles[n * this.columns + g]; q.bounds.intersects(a) && (d ? q.getOBB().intersects(f) : 1) && m.push(q); } } return m; }; b.prototype.getManyTiles = function(a, c) { function d(a, b, c) { return(a - b.x) * (c.y - b.y) / (c.x - b.x) + b.y; } function e(a, b, c, d, f) { if (!(0 > c || c >= b.columns)) { for (d = s(d, 0, b.rows), f = s(f + 1, 0, b.rows);d < f;d++) { a.push(b.tiles[d * b.columns + c]); } } } var f = b._points; c.transformRectangle(a, f); for (var g = f[0].x < f[1].x ? 0 : 1, k = f[2].x < f[3].x ? 2 : 3, k = f[g].x < f[k].x ? g : k, g = [], l = 0;5 > l;l++, k++) { g.push(f[k % 4]); } (g[1].x - g[0].x) * (g[3].y - g[0].y) < (g[1].y - g[0].y) * (g[3].x - g[0].x) && (f = g[1], g[1] = g[3], g[3] = f); var f = [], m, n, k = Math.floor(g[0].x / this.tileW), l = (k + 1) * this.tileW; if (g[2].x < l) { m = Math.min(g[0].y, g[1].y, g[2].y, g[3].y); n = Math.max(g[0].y, g[1].y, g[2].y, g[3].y); var p = Math.floor(m / this.tileH), q = Math.floor(n / this.tileH); e(f, this, k, p, q); return f; } var u = 0, w = 4, t = !1; if (g[0].x === g[1].x || g[0].x === g[3].x) { g[0].x === g[1].x ? (t = !0, u++) : w--, m = d(l, g[u], g[u + 1]), n = d(l, g[w], g[w - 1]), p = Math.floor(g[u].y / this.tileH), q = Math.floor(g[w].y / this.tileH), e(f, this, k, p, q), k++; } do { var D, L, M, V; g[u + 1].x < l ? (D = g[u + 1].y, M = !0) : (D = d(l, g[u], g[u + 1]), M = !1); g[w - 1].x < l ? (L = g[w - 1].y, V = !0) : (L = d(l, g[w], g[w - 1]), V = !1); p = Math.floor((g[u].y < g[u + 1].y ? m : D) / this.tileH); q = Math.floor((g[w].y > g[w - 1].y ? n : L) / this.tileH); e(f, this, k, p, q); if (M && t) { break; } M ? (t = !0, u++, m = d(l, g[u], g[u + 1])) : m = D; V ? (w--, n = d(l, g[w], g[w - 1])) : n = L; k++; l = (k + 1) * this.tileW; } while (u < w); return f; }; b._points = c.createEmptyPoints(4); return b; }(); g.TileCache = u; q = function() { function b(a, c, d) { this._cacheLevels = []; this._source = a; this._tileSize = c; this._minUntiledSize = d; } b.prototype._getTilesAtScale = function(b, c, d) { var e = Math.max(c.getAbsoluteScaleX(), c.getAbsoluteScaleY()), f = 0; 1 !== e && (f = s(Math.round(Math.log(1 / e) / Math.LN2), -5, 3)); e = m(f); if (this._source.hasFlags(1)) { for (;;) { e = m(f); if (d.contains(this._source.getBounds().getAbsoluteBounds().clone().scale(e, e))) { break; } f--; a(-5 <= f); } } this._source.hasFlags(4) || (f = s(f, -5, 0)); e = m(f); d = 5 + f; f = this._cacheLevels[d]; if (!f) { var f = this._source.getBounds().getAbsoluteBounds().clone().scale(e, e), g, k; this._source.hasFlags(1) || !this._source.hasFlags(8) || Math.max(f.w, f.h) <= this._minUntiledSize ? (g = f.w, k = f.h) : g = k = this._tileSize; f = this._cacheLevels[d] = new u(f.w, f.h, g, k, e); } return f.getTiles(b, c.scaleClone(e, e)); }; b.prototype.fetchTiles = function(a, b, c, d) { var e = new p(0, 0, c.canvas.width, c.canvas.height); a = this._getTilesAtScale(a, b, e); var f; b = this._source; for (var g = 0;g < a.length;g++) { var k = a[g]; k.cachedSurfaceRegion && k.cachedSurfaceRegion.surface && !b.hasFlags(3) || (f || (f = []), f.push(k)); } f && this._cacheTiles(c, f, d, e); b.removeFlags(2); return a; }; b.prototype._getTileBounds = function(a) { for (var b = p.createEmpty(), c = 0;c < a.length;c++) { b.union(a[c].bounds); } return b; }; b.prototype._cacheTiles = function(b, c, d, e, f) { "undefined" === typeof f && (f = 4); a(0 < f, "Infinite recursion is likely."); var g = this._getTileBounds(c); b.save(); b.setTransform(1, 0, 0, 1, 0, 0); b.clearRect(0, 0, e.w, e.h); b.translate(-g.x, -g.y); b.scale(c[0].scale, c[0].scale); var l = this._source.getBounds(); b.translate(-l.x, -l.y); 2 <= k.traceLevel && k.writer && k.writer.writeLn("Rendering Tiles: " + g); this._source.render(b); b.restore(); for (var l = null, m = 0;m < c.length;m++) { var n = c[m], p = n.bounds.clone(); p.x -= g.x; p.y -= g.y; e.contains(p) || (l || (l = []), l.push(n)); n.cachedSurfaceRegion = d(n.cachedSurfaceRegion, b, p); } l && (2 <= l.length ? (c = l.slice(0, l.length / 2 | 0), g = l.slice(c.length), this._cacheTiles(b, c, d, e, f - 1), this._cacheTiles(b, g, d, e, f - 1)) : this._cacheTiles(b, l, d, e, f - 1)); }; return b; }(); g.RenderableTileCache = q; var w = function() { return function(a, b) { this.surfaceRegion = a; this.scale = b; }; }(); g.MipMapLevel = w; q = function() { function a(b, c, d) { this._source = b; this._levels = []; this._surfaceRegionAllocator = c; this._size = d; } a.prototype.render = function(a) { }; a.prototype.getLevel = function(a) { a = Math.max(a.getAbsoluteScaleX(), a.getAbsoluteScaleY()); var b = 0; 1 !== a && (b = s(Math.round(Math.log(a) / Math.LN2), -5, 3)); this._source.hasFlags(4) || (b = s(b, -5, 0)); a = m(b); var c = 5 + b, d = this._levels[c]; if (!d) { b = this._source.getBounds().clone(); b.scale(a, a); b.snap(); var d = this._surfaceRegionAllocator.allocate(b.w, b.h), e = d.region, d = this._levels[c] = new w(d, a), c = d.surfaceRegion.surface.context; c.save(); c.beginPath(); c.rect(e.x, e.y, e.w, e.h); c.clip(); c.setTransform(a, 0, 0, a, e.x - b.x, e.y - b.y); this._source.render(c); c.restore(); } return d; }; return a; }(); g.MipMap = q; })(k.Geometry || (k.Geometry = {})); })(b.GFX || (b.GFX = {})); })(Shumway || (Shumway = {})); __extends = this.__extends || function(b, k) { function g() { this.constructor = b; } for (var f in k) { k.hasOwnProperty(f) && (b[f] = k[f]); } g.prototype = k.prototype; b.prototype = new g; }; (function(b) { (function(k) { var g = b.IntegerUtilities.roundToMultipleOfPowerOfTwo, f = b.Debug.assert, t = k.Geometry.Rectangle; (function(b) { var m = function(a) { function b() { a.apply(this, arguments); } __extends(b, a); return b; }(k.Geometry.Rectangle); b.Region = m; var d = function() { function b(c, d) { this._root = new a(0, 0, c | 0, d | 0, !1); } b.prototype.allocate = function(a, b) { a = Math.ceil(a); b = Math.ceil(b); f(0 < a && 0 < b); var c = this._root.insert(a, b); c && (c.allocator = this, c.allocated = !0); return c; }; b.prototype.free = function(a) { f(a.allocator === this); a.clear(); a.allocated = !1; }; b.RANDOM_ORIENTATION = !0; b.MAX_DEPTH = 256; return b; }(); b.CompactAllocator = d; var a = function(a) { function b(c, d, e, f, g) { a.call(this, c, d, e, f); this._children = null; this._horizontal = g; this.allocated = !1; } __extends(b, a); b.prototype.clear = function() { this._children = null; this.allocated = !1; }; b.prototype.insert = function(a, b) { return this._insert(a, b, 0); }; b.prototype._insert = function(a, c, e) { if (!(e > d.MAX_DEPTH || this.allocated || this.w < a || this.h < c)) { if (this._children) { var f; if ((f = this._children[0]._insert(a, c, e + 1)) || (f = this._children[1]._insert(a, c, e + 1))) { return f; } } else { return f = !this._horizontal, d.RANDOM_ORIENTATION && (f = .5 <= Math.random()), this._children = this._horizontal ? [new b(this.x, this.y, this.w, c, !1), new b(this.x, this.y + c, this.w, this.h - c, f)] : [new b(this.x, this.y, a, this.h, !0), new b(this.x + a, this.y, this.w - a, this.h, f)], f = this._children[0], f.w === a && f.h === c ? (f.allocated = !0, f) : this._insert(a, c, e + 1); } } }; return b; }(b.Region), c = function() { function a(b, c, d, e) { this._columns = b / d | 0; this._rows = c / e | 0; this._sizeW = d; this._sizeH = e; this._freeList = []; this._index = 0; this._total = this._columns * this._rows; } a.prototype.allocate = function(a, b) { a = Math.ceil(a); b = Math.ceil(b); f(0 < a && 0 < b); var c = this._sizeW, d = this._sizeH; if (a > c || b > d) { return null; } var e = this._freeList, g = this._index; return 0 < e.length ? (c = e.pop(), f(!1 === c.allocated), c.allocated = !0, c) : g < this._total ? (e = g / this._columns | 0, c = new n((g - e * this._columns) * c, e * d, a, b), c.index = g, c.allocator = this, c.allocated = !0, this._index++, c) : null; }; a.prototype.free = function(a) { f(a.allocator === this); a.allocated = !1; this._freeList.push(a); }; return a; }(); b.GridAllocator = c; var n = function(a) { function b(c, d, e, f) { a.call(this, c, d, e, f); this.index = -1; } __extends(b, a); return b; }(b.Region); b.GridCell = n; var p = function() { return function(a, b, c) { this.size = a; this.region = b; this.allocator = c; }; }(), e = function(a) { function b(c, d, e, f, g) { a.call(this, c, d, e, f); this.region = g; } __extends(b, a); return b; }(b.Region); b.BucketCell = e; m = function() { function a(b, c) { f(0 < b && 0 < c); this._buckets = []; this._w = b | 0; this._h = c | 0; this._filled = 0; } a.prototype.allocate = function(a, b) { a = Math.ceil(a); b = Math.ceil(b); f(0 < a && 0 < b); var d = Math.max(a, b); if (a > this._w || b > this._h) { return null; } var k = null, h, m = this._buckets; do { for (var n = 0;n < m.length && !(m[n].size >= d && (h = m[n], k = h.allocator.allocate(a, b)));n++) { } if (!k) { var q = this._h - this._filled; if (q < b) { return null; } var n = g(d, 2), s = 2 * n; s > q && (s = q); if (s < n) { return null; } q = new t(0, this._filled, this._w, s); this._buckets.push(new p(n, q, new c(q.w, q.h, n, n))); this._filled += s; } } while (!k); return new e(h.region.x + k.x, h.region.y + k.y, k.w, k.h, k); }; a.prototype.free = function(a) { a.region.allocator.free(a.region); }; return a; }(); b.BucketAllocator = m; })(k.RegionAllocator || (k.RegionAllocator = {})); (function(b) { var f = function() { function b(a) { this._createSurface = a; this._surfaces = []; } Object.defineProperty(b.prototype, "surfaces", {get:function() { return this._surfaces; }, enumerable:!0, configurable:!0}); b.prototype._createNewSurface = function(a, b) { var d = this._createSurface(a, b); this._surfaces.push(d); return d; }; b.prototype.addSurface = function(a) { this._surfaces.push(a); }; b.prototype.allocate = function(a, b) { for (var d = 0;d < this._surfaces.length;d++) { var f = this._surfaces[d].allocate(a, b); if (f) { return f; } } return this._createNewSurface(a, b).allocate(a, b); }; b.prototype.free = function(a) { }; return b; }(); b.SimpleAllocator = f; })(k.SurfaceRegionAllocator || (k.SurfaceRegionAllocator = {})); })(b.GFX || (b.GFX = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = k.Geometry.Point, f = k.Geometry.Matrix, t = b.Debug.assert, s = b.Debug.unexpected; (function(a) { a[a.None = 0] = "None"; a[a.Upward = 1] = "Upward"; a[a.Downward = 2] = "Downward"; })(k.Direction || (k.Direction = {})); (function(a) { a[a.Never = 0] = "Never"; a[a.Always = 1] = "Always"; a[a.Auto = 2] = "Auto"; })(k.PixelSnapping || (k.PixelSnapping = {})); (function(a) { a[a.Never = 0] = "Never"; a[a.Always = 1] = "Always"; })(k.Smoothing || (k.Smoothing = {})); (function(a) { a[a.Empty = 0] = "Empty"; a[a.Dirty = 1] = "Dirty"; a[a.IsMask = 2] = "IsMask"; a[a.IgnoreMask = 8] = "IgnoreMask"; a[a.IgnoreQuery = 16] = "IgnoreQuery"; a[a.InvalidBounds = 32] = "InvalidBounds"; a[a.InvalidConcatenatedMatrix = 64] = "InvalidConcatenatedMatrix"; a[a.InvalidInvertedConcatenatedMatrix = 128] = "InvalidInvertedConcatenatedMatrix"; a[a.InvalidConcatenatedColorMatrix = 256] = "InvalidConcatenatedColorMatrix"; a[a.InvalidPaint = 512] = "InvalidPaint"; a[a.EnterClip = 4096] = "EnterClip"; a[a.LeaveClip = 8192] = "LeaveClip"; a[a.Visible = 16384] = "Visible"; a[a.Transparent = 32768] = "Transparent"; })(k.FrameFlags || (k.FrameFlags = {})); (function(a) { a[a.None = 0] = "None"; a[a.AllowMatrixWrite = 1] = "AllowMatrixWrite"; a[a.AllowColorMatrixWrite = 2] = "AllowColorMatrixWrite"; a[a.AllowBlendModeWrite = 4] = "AllowBlendModeWrite"; a[a.AllowFiltersWrite = 8] = "AllowFiltersWrite"; a[a.AllowMaskWrite = 16] = "AllowMaskWrite"; a[a.AllowChildrenWrite = 32] = "AllowChildrenWrite"; a[a.AllowClipWrite = 64] = "AllowClipWrite"; a[a.AllowAllWrite = a.AllowMatrixWrite | a.AllowColorMatrixWrite | a.AllowBlendModeWrite | a.AllowFiltersWrite | a.AllowMaskWrite | a.AllowChildrenWrite | a.AllowClipWrite] = "AllowAllWrite"; })(k.FrameCapabilityFlags || (k.FrameCapabilityFlags = {})); var m = k.FrameCapabilityFlags, d = function() { function a() { this._id = a._nextID++; this._flags = 17376; this._capability = m.AllowAllWrite; this._parent = null; this._clip = -1; this._blendMode = 1; this._filters = []; this._mask = null; this._matrix = f.createIdentity(); this._concatenatedMatrix = f.createIdentity(); this._invertedConcatenatedMatrix = null; this._colorMatrix = k.ColorMatrix.createIdentity(); this._concatenatedColorMatrix = k.ColorMatrix.createIdentity(); this._pixelSnapping = this._smoothing = 0; } a._getAncestors = function(b, d) { "undefined" === typeof d && (d = null); var f = a._path; for (f.length = 0;b && b !== d;) { t(b !== b._parent), f.push(b), b = b._parent; } t(b === d, "Last ancestor is not an ancestor."); return f; }; Object.defineProperty(a.prototype, "parent", {get:function() { return this._parent; }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "id", {get:function() { return this._id; }, enumerable:!0, configurable:!0}); a.prototype._setFlags = function(a) { this._flags |= a; }; a.prototype._removeFlags = function(a) { this._flags &= ~a; }; a.prototype._hasFlags = function(a) { return(this._flags & a) === a; }; a.prototype._toggleFlags = function(a, b) { this._flags = b ? this._flags | a : this._flags & ~a; }; a.prototype._hasAnyFlags = function(a) { return!!(this._flags & a); }; a.prototype._findClosestAncestor = function(a) { for (var b = this;b;) { if (!1 === b._hasFlags(a)) { return b; } t(b !== b._parent); b = b._parent; } return null; }; a.prototype._isAncestor = function(a) { for (;a;) { if (a === this) { return!0; } t(a !== a._parent); a = a._parent; } return!1; }; a.prototype.setCapability = function(a, b, d) { "undefined" === typeof b && (b = !0); "undefined" === typeof d && (d = 0); this._capability = b ? this._capability | a : this._capability & ~a; if (1 === d && this._parent) { this._parent.setCapability(a, b, d); } else { if (2 === d && this instanceof k.FrameContainer) { for (var e = this._children, f = 0;f < e.length;f++) { e[f].setCapability(a, b, d); } } } }; a.prototype.removeCapability = function(a) { this.setCapability(a, !1); }; a.prototype.hasCapability = function(a) { return this._capability & a; }; a.prototype.checkCapability = function(a) { this._capability & a || s("Frame doesn't have capability: " + m[a]); }; a.prototype._propagateFlagsUp = function(a) { if (!this._hasFlags(a)) { this._setFlags(a); var b = this._parent; b && b._propagateFlagsUp(a); } }; a.prototype._propagateFlagsDown = function(a) { this._setFlags(a); }; a.prototype._invalidatePosition = function() { this._propagateFlagsDown(192); this._parent && this._parent._invalidateBounds(); this._invalidateParentPaint(); }; a.prototype.invalidatePaint = function() { this._propagateFlagsUp(512); }; a.prototype._invalidateParentPaint = function() { this._parent && this._parent._propagateFlagsUp(512); }; a.prototype._invalidateBounds = function() { this._propagateFlagsUp(32); }; Object.defineProperty(a.prototype, "properties", {get:function() { return this._properties || (this._properties = Object.create(null)); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "x", {get:function() { return this._matrix.tx; }, set:function(a) { this.checkCapability(1); this._matrix.tx = a; this._invalidatePosition(); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "y", {get:function() { return this._matrix.ty; }, set:function(a) { this.checkCapability(1); this._matrix.ty = a; this._invalidatePosition(); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "matrix", {get:function() { return this._matrix; }, set:function(a) { this.checkCapability(1); this._matrix.set(a); this._invalidatePosition(); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "blendMode", {get:function() { return this._blendMode; }, set:function(a) { a |= 0; this.checkCapability(4); this._blendMode = a; this._invalidateParentPaint(); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "filters", {get:function() { return this._filters; }, set:function(a) { this.checkCapability(8); this._filters = a; this._invalidateParentPaint(); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "colorMatrix", {get:function() { return this._colorMatrix; }, set:function(a) { this.checkCapability(2); this._colorMatrix.set(a); this._propagateFlagsDown(256); this._invalidateParentPaint(); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "mask", {get:function() { return this._mask; }, set:function(a) { this.checkCapability(16); this._mask && this._mask !== a && this._mask._removeFlags(2); if (this._mask = a) { this._mask._setFlags(2), this._mask.invalidate(); } this.invalidate(); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "clip", {get:function() { return this._clip; }, set:function(a) { this.checkCapability(64); this._clip = a; }, enumerable:!0, configurable:!0}); a.prototype.getBounds = function() { t(!1, "Override this."); return null; }; a.prototype.gatherPreviousDirtyRegions = function() { var a = this.stage; a.trackDirtyRegions && this.visit(function(b) { if (b instanceof k.FrameContainer) { return 0; } b._previouslyRenderedAABB && a.dirtyRegion.addDirtyRectangle(b._previouslyRenderedAABB); return 0; }); }; a.prototype.getConcatenatedColorMatrix = function() { if (!this._parent) { return this._colorMatrix; } if (this._hasFlags(256)) { for (var b = this._findClosestAncestor(256), d = a._getAncestors(this, b), f = b ? b._concatenatedColorMatrix.clone() : k.ColorMatrix.createIdentity(), e = d.length - 1;0 <= e;e--) { b = d[e], t(b._hasFlags(256)), f.multiply(b._colorMatrix), b._concatenatedColorMatrix.set(f), b._removeFlags(256); } } return this._concatenatedColorMatrix; }; a.prototype.getConcatenatedAlpha = function(a) { "undefined" === typeof a && (a = null); for (var b = this, d = 1;b && b !== a;) { d *= b._colorMatrix.alphaMultiplier, b = b._parent; } return d; }; Object.defineProperty(a.prototype, "stage", {get:function() { for (var a = this;a._parent;) { a = a._parent; } return a instanceof k.Stage ? a : null; }, enumerable:!0, configurable:!0}); a.prototype.getConcatenatedMatrix = function() { if (this._hasFlags(64)) { for (var b = this._findClosestAncestor(64), d = a._getAncestors(this, b), g = b ? b._concatenatedMatrix.clone() : f.createIdentity(), e = d.length - 1;0 <= e;e--) { b = d[e], t(b._hasFlags(64)), g.preMultiply(b._matrix), b._concatenatedMatrix.set(g), b._removeFlags(64); } } return this._concatenatedMatrix; }; a.prototype._getInvertedConcatenatedMatrix = function() { this._hasFlags(128) && (this._invertedConcatenatedMatrix || (this._invertedConcatenatedMatrix = f.createIdentity()), this._invertedConcatenatedMatrix.set(this.getConcatenatedMatrix()), this._invertedConcatenatedMatrix.inverse(this._invertedConcatenatedMatrix), this._removeFlags(128)); return this._invertedConcatenatedMatrix; }; a.prototype.invalidate = function() { this._setFlags(1); }; a.prototype.visit = function(a, b, d, e) { "undefined" === typeof d && (d = 0); "undefined" === typeof e && (e = 0); var f, g, m = e & 8; f = [this]; var s, r = !!b; r && (s = [b.clone()]); for (var h = [d];0 < f.length;) { g = f.pop(); r && (b = s.pop()); d = h.pop() | g._flags; var x = a(g, b, d); if (0 === x) { if (g instanceof k.FrameContainer) { var y = g._children.length; if (e & 16 && !k.disableClipping.value) { for (var x = g.gatherLeaveClipEvents(), G = y - 1;0 <= G;G--) { if (x && x[G]) { for (;x[G].length;) { if (y = x[G].shift(), f.push(y), h.push(8192), r) { var I = b.clone(); I.preMultiply(y.matrix); s.push(I); } } } var C = g._children[G]; t(C); f.push(C); r && (I = b.clone(), I.preMultiply(C.matrix), s.push(I)); 0 <= C.clip ? h.push(d | 4096) : h.push(d); } } else { for (G = 0;G < y;G++) { if (C = g._children[m ? G : y - 1 - G]) { f.push(C), r && (I = b.clone(), I.preMultiply(C.matrix), s.push(I)), h.push(d); } } } } } else { if (1 === x) { break; } } } }; a.prototype.getDepth = function() { for (var a = 0, b = this;b._parent;) { a++, b = b._parent; } return a; }; Object.defineProperty(a.prototype, "smoothing", {get:function() { return this._smoothing; }, set:function(a) { this._smoothing = a; this.invalidate(); }, enumerable:!0, configurable:!0}); Object.defineProperty(a.prototype, "pixelSnapping", {get:function() { return this._pixelSnapping; }, set:function(a) { this._pixelSnapping = a; this.invalidate(); }, enumerable:!0, configurable:!0}); a.prototype.queryFramesByPoint = function(a, b, d) { "undefined" === typeof b && (b = !1); "undefined" === typeof d && (d = !1); var e = f.createIdentity(), m = g.createEmpty(), l = []; this.visit(function(f, g, r) { if (r & 16) { return 2; } g.inverse(e); m.set(a); e.transformPoint(m); if (f.getBounds().containsPoint(m)) { if (f instanceof k.FrameContainer) { if (d && (l.push(f), !b)) { return 1; } } else { if (l.push(f), !b) { return 1; } } return 0; } return 2; }, f.createIdentity(), 0); l.reverse(); return l; }; a._path = []; a._nextID = 0; return a; }(); k.Frame = d; })(b.GFX || (b.GFX = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = k.Geometry.Rectangle, f = b.Debug.assert, t = function(b) { function k() { b.call(this); this._children = []; } __extends(k, b); k.prototype.addChild = function(b) { this.checkCapability(32); b && (f(b !== this), b._parent = this, b._invalidatePosition()); this._children.push(b); return b; }; k.prototype.addChildAt = function(b, a) { this.checkCapability(32); f(0 <= a && a <= this._children.length); a === this._children.length ? this._children.push(b) : this._children.splice(a, 0, b); b && (f(b !== this), b._parent = this, b._invalidatePosition()); return b; }; k.prototype.removeChild = function(b) { this.checkCapability(32); b._parent === this && (b = this._children.indexOf(b), this.removeChildAt(b)); }; k.prototype.removeChildAt = function(b) { this.checkCapability(32); f(0 <= b && b < this._children.length); if (b = this._children.splice(b, 1)[0]) { b._parent = null, b._invalidatePosition(); } }; k.prototype.clearChildren = function() { this.checkCapability(32); for (var b = 0;b < this._children.length;b++) { var a = this._children[b]; a && a._invalidatePosition(); } this._children.length = 0; }; k.prototype._propagateFlagsDown = function(b) { if (!this._hasFlags(b)) { this._setFlags(b); for (var a = this._children, c = 0;c < a.length;c++) { a[c]._propagateFlagsDown(b); } } }; k.prototype.getBounds = function() { if (!this._hasFlags(32)) { return this._bounds; } for (var b = g.createEmpty(), a = 0;a < this._children.length;a++) { var c = this._children[a], f = c.getBounds().clone(); c.matrix.transformRectangleAABB(f); b.union(f); } this._bounds = b; this._removeFlags(32); return b; }; k.prototype.gatherLeaveClipEvents = function() { for (var b = this._children.length, a = null, c = 0;c < b;c++) { var f = this._children[c]; if (0 <= f.clip) { var g = c + f.clip, a = a || []; a[g] || (a[g] = []); a[g].push(f); } } return a; }; return k; }(k.Frame); k.FrameContainer = t; })(b.GFX || (b.GFX = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = k.Geometry.Rectangle, f = k.Geometry.DirtyRegion, t = b.Debug.assert; (function(b) { b[b.Normal = 1] = "Normal"; b[b.Layer = 2] = "Layer"; b[b.Multiply = 3] = "Multiply"; b[b.Screen = 4] = "Screen"; b[b.Lighten = 5] = "Lighten"; b[b.Darken = 6] = "Darken"; b[b.Difference = 7] = "Difference"; b[b.Add = 8] = "Add"; b[b.Subtract = 9] = "Subtract"; b[b.Invert = 10] = "Invert"; b[b.Alpha = 11] = "Alpha"; b[b.Erase = 12] = "Erase"; b[b.Overlay = 13] = "Overlay"; b[b.HardLight = 14] = "HardLight"; })(k.BlendMode || (k.BlendMode = {})); (function(b) { b[b.None = 0] = "None"; b[b.Continue = 0] = "Continue"; b[b.Stop = 1] = "Stop"; b[b.Skip = 2] = "Skip"; b[b.FrontToBack = 8] = "FrontToBack"; b[b.Clips = 16] = "Clips"; })(k.VisitorFlags || (k.VisitorFlags = {})); k.StageRendererOptions = function() { return function() { this.debug = !1; this.paintRenderable = !0; this.paintViewport = this.paintFlashing = this.paintBounds = !1; }; }(); (function(b) { b[b.Canvas2D = 0] = "Canvas2D"; b[b.WebGL = 1] = "WebGL"; b[b.Both = 2] = "Both"; b[b.DOM = 3] = "DOM"; b[b.SVG = 4] = "SVG"; })(k.Backend || (k.Backend = {})); var s = function() { function b(d, a, c) { this._canvas = d; this._stage = a; this._options = c; this._viewport = g.createSquare(); } Object.defineProperty(b.prototype, "viewport", {set:function(b) { this._viewport.set(b); }, enumerable:!0, configurable:!0}); b.prototype.render = function() { }; b.prototype.resize = function() { }; return b; }(); k.StageRenderer = s; s = function(b) { function d(a, c, d) { "undefined" === typeof d && (d = !1); b.call(this); this.w = a; this.h = c; this.dirtyRegion = new f(a, c); this.trackDirtyRegions = d; this._setFlags(1); } __extends(d, b); d.prototype.readyToRender = function(a) { "undefined" === typeof a && (a = !0); if (!this._hasFlags(512)) { return!1; } a && (k.enterTimeline("readyToRender"), this.visit(function(a) { return a._hasFlags(512) ? (a._toggleFlags(512, !1), 0) : 2; }), k.leaveTimeline()); return!0; }; d.prototype.gatherMarkedDirtyRegions = function(a) { var b = this; this.visit(function(a, d, e) { a._removeFlags(1); if (a instanceof k.FrameContainer) { return 0; } e & 1 && (e = a.getBounds().clone(), d.transformRectangleAABB(e), b.dirtyRegion.addDirtyRectangle(e), a._previouslyRenderedAABB && b.dirtyRegion.addDirtyRectangle(a._previouslyRenderedAABB)); return 0; }, a, 0); }; d.prototype.gatherFrames = function() { var a = []; this.visit(function(b, d) { b instanceof k.FrameContainer || a.push(b); return 0; }, this.matrix); return a; }; d.prototype.gatherLayers = function() { var a = [], b; this.visit(function(d, f) { if (d instanceof k.FrameContainer) { return 0; } var e = d.getBounds().clone(); f.transformRectangleAABB(e); d._hasFlags(1) ? (b && a.push(b), a.push(e.clone()), b = null) : b ? b.union(e) : b = e.clone(); return 0; }, this.matrix); b && a.push(b); return a; }; return d; }(k.FrameContainer); k.Stage = s; s = function(f) { function d(a, c) { f.call(this); this.color = b.Color.None; this._bounds = new g(0, 0, a, c); } __extends(d, f); d.prototype.setBounds = function(a) { this._bounds.set(a); }; d.prototype.getBounds = function() { return this._bounds; }; return d; }(k.FrameContainer); k.ClipRectangle = s; s = function(b) { function d(a) { b.call(this); t(a); this._source = a; } __extends(d, b); Object.defineProperty(d.prototype, "source", {get:function() { return this._source; }, enumerable:!0, configurable:!0}); d.prototype.getBounds = function() { return this.source.getBounds(); }; return d; }(k.Frame); k.Shape = s; })(b.GFX || (b.GFX = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = k.Geometry.Rectangle, f = k.Geometry.Matrix, t = b.Debug.assertUnreachable, s = b.Debug.assert, m = b.Debug.unexpected, d = b.ArrayUtilities.indexOf; (function(a) { a[a.None = 0] = "None"; a[a.Dynamic = 1] = "Dynamic"; a[a.Dirty = 2] = "Dirty"; a[a.Scalable = 4] = "Scalable"; a[a.Tileable = 8] = "Tileable"; a[a.Loading = 16] = "Loading"; })(k.RenderableFlags || (k.RenderableFlags = {})); var a = function() { function a(b) { this._flags = 0; this.properties = {}; this._frameReferrers = []; this._renderableReferrers = []; this._bounds = b.clone(); } a.prototype.setFlags = function(a) { this._flags |= a; }; a.prototype.hasFlags = function(a) { return(this._flags & a) === a; }; a.prototype.removeFlags = function(a) { this._flags &= ~a; }; a.prototype.addFrameReferrer = function(a) { d(this._frameReferrers, a); this._frameReferrers.push(a); }; a.prototype.addRenderableReferrer = function(a) { d(this._renderableReferrers, a); this._renderableReferrers.push(a); }; a.prototype.invalidatePaint = function() { this.setFlags(2); for (var a = this._frameReferrers, b = 0;b < a.length;b++) { a[b].invalidatePaint(); } a = this._renderableReferrers; for (b = 0;b < a.length;b++) { a[b].invalidatePaint(); } }; a.prototype.getBounds = function() { return this._bounds; }; a.prototype.render = function(a, b, c) { }; return a; }(); k.Renderable = a; var c = function(a) { function b(c, d) { a.call(this, c); this.render = d; } __extends(b, a); return b; }(a); k.CustomRenderable = c; c = function(a) { function b(c, d) { a.call(this, d); this._flags = 3; this._lastCurrentTime = 0; this._video = document.createElement("video"); this._video.src = c; this._video.loop = !0; this._video.play(); b._renderableVideos.push(this); } __extends(b, a); b.prototype.invalidatePaintCheck = function() { this._lastCurrentTime !== this._video.currentTime && this.invalidatePaint(); this._lastCurrentTime = this._video.currentTime; }; b.invalidateVideos = function() { for (var a = b._renderableVideos, c = 0;c < a.length;c++) { a[c].invalidatePaintCheck(); } }; b.prototype.render = function(a, b) { k.enterTimeline("RenderableVideo.render"); this._video && a.drawImage(this._video, 0, 0); k.leaveTimeline("RenderableVideo.render"); }; b._renderableVideos = []; return b; }(a); k.RenderableVideo = c; c = function(a) { function c(b, d) { a.call(this, d); this._flags = 3; this.properties = {}; this._canvas = b; this._context = this._canvas.getContext("2d"); this._imageData = this._context.createImageData(this._bounds.w, this._bounds.h); } __extends(c, a); c.FromDataBuffer = function(a, b, d) { k.enterTimeline("RenderableBitmap.FromDataBuffer"); var e = document.createElement("canvas"); e.width = d.w; e.height = d.h; d = new c(e, d); d.updateFromDataBuffer(a, b); k.leaveTimeline("RenderableBitmap.FromDataBuffer"); return d; }; c.FromFrame = function(a, b, d, e, f) { k.enterTimeline("RenderableBitmap.FromFrame"); var g = document.createElement("canvas"), l = a.getBounds(); g.width = l.w; g.height = l.h; g = new c(g, l); g.drawFrame(a, b, d, e, f); k.leaveTimeline("RenderableBitmap.FromFrame"); return g; }; c.prototype.updateFromDataBuffer = function(a, c) { if (k.imageUpdateOption.value) { k.enterTimeline("RenderableBitmap.updateFromDataBuffer", {length:c.length}); if (4 === a || 5 === a || 6 === a) { var d = this; d.setFlags(16); var e = new Image; e.src = URL.createObjectURL(c.toBlob()); e.onload = function() { d._context.drawImage(e, 0, 0); d.removeFlags(16); d.invalidatePaint(); }; e.onerror = function() { m("Image loading error: " + b.ImageType[a]); }; } else { k.imageConvertOption.value && (k.enterTimeline("ColorUtilities.convertImage"), b.ColorUtilities.convertImage(a, 3, new Int32Array(c.buffer), new Int32Array(this._imageData.data.buffer)), k.leaveTimeline("ColorUtilities.convertImage")), k.enterTimeline("putImageData"), this._context.putImageData(this._imageData, 0, 0), k.leaveTimeline("putImageData"); } this.invalidatePaint(); k.leaveTimeline("RenderableBitmap.updateFromDataBuffer"); } }; c.prototype.readImageData = function(a) { var b = this._context.getImageData(0, 0, this._canvas.width, this._canvas.height).data; a.writeRawBytes(b); }; c.prototype.render = function(a, b) { k.enterTimeline("RenderableBitmap.render"); this._canvas ? a.drawImage(this._canvas, 0, 0) : this._renderFallback(a); k.leaveTimeline("RenderableBitmap.render"); }; c.prototype.drawFrame = function(a, b, c, d, e) { k.enterTimeline("RenderableBitmap.drawFrame"); c = k.Canvas2D; d = this.getBounds(); var f = new c.Canvas2DStageRendererOptions; f.cacheShapes = !0; (new c.Canvas2DStageRenderer(this._canvas, null, f)).renderFrame(a, e || d, b); k.leaveTimeline("RenderableBitmap.drawFrame"); }; c.prototype._renderFallback = function(a) { this.fillStyle || (this.fillStyle = b.ColorStyle.randomStyle()); var c = this._bounds; a.save(); a.beginPath(); a.lineWidth = 2; a.fillStyle = this.fillStyle; a.fillRect(c.x, c.y, c.w, c.h); a.restore(); }; return c; }(a); k.RenderableBitmap = c; var n; (function(a) { a[a.Fill = 0] = "Fill"; a[a.Stroke = 1] = "Stroke"; a[a.StrokeFill = 2] = "StrokeFill"; })(n || (n = {})); var p = function() { return function(a, b, c, d) { this.type = a; this.style = b; this.smoothImage = c; this.strokeProperties = d; this.path = new Path2D; s(1 === a === !!d); }; }(), e = function() { return function(a, b, c, d, e) { this.thickness = a; this.scaleMode = b; this.capsStyle = c; this.jointsStyle = d; this.miterLimit = e; }; }(); n = function(a) { function c(b, d, e, f) { a.call(this, f); this._flags = 14; this.properties = {}; this._id = b; this._pathData = d; this._textures = e; e.length && this.setFlags(1); } __extends(c, a); c.prototype.update = function(a, b, c) { this._bounds = c; this._pathData = a; this._paths = null; this._textures = b; }; c.prototype.getBounds = function() { return this._bounds; }; c.prototype.render = function(a, b, c) { "undefined" === typeof c && (c = !1); a.fillStyle = a.strokeStyle = "transparent"; var d = this._textures; for (b = 0;b < d.length;b++) { if (d[b].hasFlags(16)) { return; } } (b = this._pathData) && this._deserializePaths(b, a); d = this._paths; s(d); k.enterTimeline("RenderableShape.render", this); for (b = 0;b < d.length;b++) { var e = d[b]; a.mozImageSmoothingEnabled = a.msImageSmoothingEnabled = a.imageSmoothingEnabled = e.smoothImage; if (0 === e.type) { a.fillStyle = e.style, c ? a.clip(e.path, "evenodd") : a.fill(e.path, "evenodd"), a.fillStyle = "transparent"; } else { if (!c) { a.strokeStyle = e.style; var f = 1; e.strokeProperties && (f = e.strokeProperties.scaleMode, a.lineWidth = e.strokeProperties.thickness, a.lineCap = e.strokeProperties.capsStyle, a.lineJoin = e.strokeProperties.jointsStyle, a.miterLimit = e.strokeProperties.miterLimit); var g = a.lineWidth; (g = 1 === g || 3 === g) && a.translate(.5, .5); a.flashStroke(e.path, f); g && a.translate(-.5, -.5); a.strokeStyle = "transparent"; } } } k.leaveTimeline("RenderableShape.render"); }; c.prototype._deserializePaths = function(a, d) { s(!this._paths); k.enterTimeline("RenderableShape.deserializePaths"); this._paths = []; for (var f = null, g = null, l = 0, m = 0, n, p, q = !1, u = 0, F = 0, J = a.commands, A = a.coordinates, B = a.styles, z = B.position = 0, P = a.commandsPosition, D = 0;D < P;D++) { switch(n = J[D], n) { case 9: s(z <= a.coordinatesPosition - 2); q && f && (f.lineTo(u, F), g && g.lineTo(u, F)); q = !0; l = u = A[z++] / 20; m = F = A[z++] / 20; f && f.moveTo(l, m); g && g.moveTo(l, m); break; case 10: s(z <= a.coordinatesPosition - 2); l = A[z++] / 20; m = A[z++] / 20; f && f.lineTo(l, m); g && g.lineTo(l, m); break; case 11: s(z <= a.coordinatesPosition - 4); n = A[z++] / 20; p = A[z++] / 20; l = A[z++] / 20; m = A[z++] / 20; f && f.quadraticCurveTo(n, p, l, m); g && g.quadraticCurveTo(n, p, l, m); break; case 12: s(z <= a.coordinatesPosition - 6); n = A[z++] / 20; p = A[z++] / 20; var L = A[z++] / 20, M = A[z++] / 20, l = A[z++] / 20, m = A[z++] / 20; f && f.bezierCurveTo(n, p, L, M, l, m); g && g.bezierCurveTo(n, p, L, M, l, m); break; case 1: s(4 <= B.bytesAvailable); f = this._createPath(0, b.ColorUtilities.rgbaToCSSStyle(B.readUnsignedInt()), !1, null, l, m); break; case 3: n = this._readBitmap(B, d); f = this._createPath(0, n.style, n.smoothImage, null, l, m); break; case 2: f = this._createPath(0, this._readGradient(B, d), !1, null, l, m); break; case 4: f = null; break; case 5: g = b.ColorUtilities.rgbaToCSSStyle(B.readUnsignedInt()); B.position += 1; n = B.readByte(); p = c.LINE_CAPS_STYLES[B.readByte()]; L = c.LINE_JOINTS_STYLES[B.readByte()]; n = new e(A[z++] / 20, n, p, L, B.readByte()); g = this._createPath(1, g, !1, n, l, m); break; case 6: g = this._createPath(2, this._readGradient(B, d), !1, null, l, m); break; case 7: n = this._readBitmap(B, d); g = this._createPath(2, n.style, n.smoothImage, null, l, m); break; case 8: g = null; break; default: t("Invalid command " + n + " encountered at index" + D + " of " + P); } } s(0 === B.bytesAvailable); s(D === P); s(z === a.coordinatesPosition); q && f && (f.lineTo(u, F), g && g.lineTo(u, F)); this._pathData = null; k.leaveTimeline("RenderableShape.deserializePaths"); }; c.prototype._createPath = function(a, b, c, d, e, f) { a = new p(a, b, c, d); this._paths.push(a); a.path.moveTo(e, f); return a.path; }; c.prototype._readMatrix = function(a) { return new f(a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat()); }; c.prototype._readGradient = function(a, c) { s(34 <= a.bytesAvailable); var d = a.readUnsignedByte(), e = 2 * a.readShort() / 255; s(-1 <= e && 1 >= e); var f = this._readMatrix(a), d = 16 === d ? c.createLinearGradient(-1, 0, 1, 0) : c.createRadialGradient(e, 0, 0, 0, 0, 1); d.setTransform && d.setTransform(f.toSVGMatrix()); f = a.readUnsignedByte(); for (e = 0;e < f;e++) { var g = a.readUnsignedByte() / 255, k = b.ColorUtilities.rgbaToCSSStyle(a.readUnsignedInt()); d.addColorStop(g, k); } a.position += 2; return d; }; c.prototype._readBitmap = function(a, b) { s(30 <= a.bytesAvailable); var c = a.readUnsignedInt(), d = this._readMatrix(a), e = a.readBoolean() ? "repeat" : "no-repeat", f = a.readBoolean(), c = this._textures[c]; s(c._canvas); e = b.createPattern(c._canvas, e); e.setTransform(d.toSVGMatrix()); return{style:e, smoothImage:f}; }; c.prototype._renderFallback = function(a) { this.fillStyle || (this.fillStyle = b.ColorStyle.randomStyle()); var c = this._bounds; a.save(); a.beginPath(); a.lineWidth = 2; a.fillStyle = this.fillStyle; a.fillRect(c.x, c.y, c.w, c.h); a.restore(); }; c.LINE_CAPS_STYLES = ["round", "butt", "square"]; c.LINE_JOINTS_STYLES = ["round", "bevel", "miter"]; return c; }(a); k.RenderableShape = n; var q = function() { function a() { this.align = this.leading = this.descent = this.ascent = this.width = this.y = this.x = 0; this.runs = []; } a.prototype.addRun = function(b, c, d, e) { if (d) { a._measureContext.font = b; var f = a._measureContext.measureText(d).width | 0; this.runs.push(new l(b, c, d, f, e)); this.width += f; } }; a.prototype.wrap = function(b) { var c = [this], d = this.runs, e = this; e.width = 0; e.runs = []; for (var f = a._measureContext, g = 0;g < d.length;g++) { var k = d[g], m = k.text; k.text = ""; k.width = 0; f.font = k.font; for (var n = b, p = m.split(/[\s.-]/), q = 0, s = 0;s < p.length;s++) { var t = p[s], A = m.substr(q, t.length + 1), B = f.measureText(A).width | 0; if (B > n) { do { if (e.runs.push(k), e.width += k.width, k = new l(k.font, k.fillStyle, "", 0, k.underline), n = new a, n.y = e.y + e.descent + e.leading + e.ascent | 0, n.ascent = e.ascent, n.descent = e.descent, n.leading = e.leading, n.align = e.align, c.push(n), e = n, n = b - B, 0 > n) { var B = A.length, z, P; do { B--, z = A.substr(0, B), P = f.measureText(z).width | 0; } while (P > b); k.text = z; k.width = P; A = A.substr(B); B = f.measureText(A).width | 0; } } while (0 > n); } else { n -= B; } k.text += A; k.width += B; q += t.length + 1; } e.runs.push(k); e.width += k.width; } return c; }; a._measureContext = document.createElement("canvas").getContext("2d"); return a; }(); k.TextLine = q; var l = function() { return function(a, b, c, d, e) { "undefined" === typeof a && (a = ""); "undefined" === typeof b && (b = ""); "undefined" === typeof c && (c = ""); "undefined" === typeof d && (d = 0); "undefined" === typeof e && (e = !1); this.font = a; this.fillStyle = b; this.text = c; this.width = d; this.underline = e; }; }(); k.TextRun = l; n = function(a) { function c(b) { a.call(this, b); this._flags = 3; this.properties = {}; this._textBounds = b.clone(); this._textRunData = null; this._plainText = ""; this._borderColor = this._backgroundColor = 0; this._matrix = f.createIdentity(); this._coords = null; this.textRect = b.clone(); this.lines = []; } __extends(c, a); c.prototype.setBounds = function(a) { this._bounds.set(a); this._textBounds.set(a); this.textRect.setElements(a.x + 2, a.y + 2, a.x - 2, a.x - 2); }; c.prototype.setContent = function(a, b, c, d) { this._textRunData = b; this._plainText = a; this._matrix.set(c); this._coords = d; this.lines = []; }; c.prototype.setStyle = function(a, b) { this._backgroundColor = a; this._borderColor = b; }; c.prototype.reflow = function(a, c) { var d = this._textRunData; if (d) { var e = this._bounds, f = e.w - 4, g = this._plainText, l = this.lines, m = new q, n = 0, p = 0, s = 0, u = 0, w = 0, t = -1; for (k.enterTimeline("RenderableText.reflow");d.position < d.length;) { var z = d.readInt(), P = d.readInt(), D = d.readInt(), L = d.readInt(), L = L ? "swffont" + L : d.readUTF(), M = d.readInt(), V = d.readInt(), Q = d.readInt(); M > s && (s = M); V > u && (u = V); Q > w && (w = Q); M = d.readBoolean(); V = ""; d.readBoolean() && (V += "italic"); M && (V += " bold"); D = V + " " + D + "px " + L; L = d.readInt(); L = b.ColorUtilities.rgbToHex(L); M = d.readInt(); -1 === t && (t = M); d.readBoolean(); d.readInt(); d.readInt(); d.readInt(); d.readInt(); d.readInt(); for (var M = d.readBoolean(), U = "", V = !1;!V;z++) { V = z >= P - 1; Q = g[z]; if ("\r" !== Q && "\n" !== Q && (U += Q, z < g.length - 1)) { continue; } m.addRun(D, L, U, M); if (m.runs.length) { n += s; m.y = n | 0; n += u + w; m.ascent = s; m.descent = u; m.leading = w; m.align = t; if (c && m.width > f) { for (m = m.wrap(f), U = 0;U < m.length;U++) { var S = m[U], n = S.y + S.descent + S.leading; l.push(S); S.width > p && (p = S.width); } } else { l.push(m), m.width > p && (p = m.width); } m = new q; } else { n += s + u + w; } U = ""; if (V) { w = u = s = 0; t = -1; break; } "\r" === Q && "\n" === g[z + 1] && z++; } m.addRun(D, L, U, M); } d = this.textRect; d.w = p; d.h = n; if (a) { if (!c) { f = p; p = e.w; switch(a) { case 1: d.x = p - (f + 4) >> 1; break; case 3: d.x = p - (f + 4); } this._textBounds.setElements(d.x - 2, d.y - 2, d.w + 4, d.h + 4); } e.h = n + 4; } else { this._textBounds = e; } for (z = 0;z < l.length;z++) { if (e = l[z], e.width < f) { switch(e.align) { case 1: e.x = f - e.width | 0; break; case 2: e.x = (f - e.width) / 2 | 0; } } } this.invalidatePaint(); k.leaveTimeline("RenderableText.reflow"); } }; c.prototype.getBounds = function() { return this._bounds; }; c.prototype.render = function(a) { k.enterTimeline("RenderableText.render"); a.save(); var c = this._textBounds; this._backgroundColor && (a.fillStyle = b.ColorUtilities.rgbaToCSSStyle(this._backgroundColor), a.fillRect(c.x, c.y, c.w, c.h)); this._borderColor && (a.strokeStyle = b.ColorUtilities.rgbaToCSSStyle(this._borderColor), a.lineCap = "square", a.lineWidth = 1, a.strokeRect(c.x, c.y, c.w, c.h)); this._coords ? this._renderChars(a) : this._renderLines(a); a.restore(); k.leaveTimeline("RenderableText.render"); }; c.prototype._renderChars = function(a) { if (this._matrix) { var b = this._matrix; a.transform(b.a, b.b, b.c, b.d, b.tx, b.ty); } for (var b = this.lines, c = this._coords, d = c.position = 0;d < b.length;d++) { for (var e = b[d].runs, f = 0;f < e.length;f++) { var g = e[f]; a.font = g.font; a.fillStyle = g.fillStyle; for (var g = g.text, k = 0;k < g.length;k++) { var l = c.readInt() / 20, m = c.readInt() / 20; a.fillText(g[k], l, m); } } } }; c.prototype._renderLines = function(a) { var b = this._textBounds; a.beginPath(); a.rect(b.x, b.y, b.w, b.h); a.clip(); a.translate(b.x + 2, b.y + 2); for (var b = this.lines, c = 0;c < b.length;c++) { for (var d = b[c], e = d.x, f = d.y, g = d.runs, k = 0;k < g.length;k++) { var l = g[k]; a.font = l.font; a.fillStyle = l.fillStyle; l.underline && a.fillRect(e, f + d.descent / 2 | 0, l.width, 1); a.fillText(l.text, e, f); e += l.width; } } }; return c; }(a); k.RenderableText = n; n = function(a) { function b(c, d) { a.call(this, new g(0, 0, c, d)); this._flags = 5; this.properties = {}; } __extends(b, a); Object.defineProperty(b.prototype, "text", {get:function() { return this._text; }, set:function(a) { this._text = a; }, enumerable:!0, configurable:!0}); b.prototype.render = function(a, b) { a.save(); a.textBaseline = "top"; a.fillStyle = "white"; a.fillText(this.text, 0, 0); a.restore(); }; return b; }(a); k.Label = n; a = function(a) { function c() { a.call(this, g.createMaxI16()); this._flags = 14; this.properties = {}; } __extends(c, a); c.prototype.render = function(a, c) { function d(b) { for (var c = Math.ceil((e.x + e.w) / b) * b, f = Math.floor(e.x / b) * b;f < c;f += b) { a.moveTo(f + .5, e.y), a.lineTo(f + .5, e.y + e.h); } c = Math.ceil((e.y + e.h) / b) * b; for (f = Math.floor(e.y / b) * b;f < c;f += b) { a.moveTo(e.x, f + .5), a.lineTo(e.x + e.w, f + .5); } } a.save(); var e = c || this.getBounds(); a.fillStyle = b.ColorStyle.VeryDark; a.fillRect(e.x, e.y, e.w, e.h); a.beginPath(); d(100); a.lineWidth = 1; a.strokeStyle = b.ColorStyle.Dark; a.stroke(); a.beginPath(); d(500); a.lineWidth = 1; a.strokeStyle = b.ColorStyle.TabToolbar; a.stroke(); a.beginPath(); d(1E3); a.lineWidth = 3; a.strokeStyle = b.ColorStyle.Toolbars; a.stroke(); a.lineWidth = 3; a.beginPath(); a.moveTo(-1048576, .5); a.lineTo(1048576, .5); a.moveTo(.5, -1048576); a.lineTo(.5, 1048576); a.strokeStyle = b.ColorStyle.Orange; a.stroke(); a.restore(); }; return c; }(a); k.Grid = a; })(b.GFX || (b.GFX = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = b.ColorUtilities.clampByte, f = b.Debug.assert, t = function() { return function() { }; }(); k.Filter = t; var s = function(b) { function d(a, c, d) { b.call(this); this.blurX = a; this.blurY = c; this.quality = d; } __extends(d, b); return d; }(t); k.BlurFilter = s; s = function(b) { function d(a, c, d, f, e, g, k, s, w, r, h) { b.call(this); this.alpha = a; this.angle = c; this.blurX = d; this.blurY = f; this.color = e; this.distance = g; this.hideObject = k; this.inner = s; this.knockout = w; this.quality = r; this.strength = h; } __extends(d, b); return d; }(t); k.DropshadowFilter = s; t = function(b) { function d(a, c, d, f, e, g, k, s) { b.call(this); this.alpha = a; this.blurX = c; this.blurY = d; this.color = f; this.inner = e; this.knockout = g; this.quality = k; this.strength = s; } __extends(d, b); return d; }(t); k.GlowFilter = t; t = function() { function b(d) { f(20 === d.length); this._m = new Float32Array(d); } b.prototype.clone = function() { return new b(this._m); }; b.prototype.set = function(b) { this._m.set(b._m); }; b.prototype.toWebGLMatrix = function() { return new Float32Array(this._m); }; b.prototype.asWebGLMatrix = function() { return this._m.subarray(0, 16); }; b.prototype.asWebGLVector = function() { return this._m.subarray(16, 20); }; b.prototype.getColorMatrix = function() { var b = new Float32Array(20), a = this._m; b[0] = a[0]; b[1] = a[4]; b[2] = a[8]; b[3] = a[12]; b[4] = 255 * a[16]; b[5] = a[1]; b[6] = a[5]; b[7] = a[9]; b[8] = a[13]; b[9] = 255 * a[17]; b[10] = a[2]; b[11] = a[6]; b[12] = a[10]; b[13] = a[14]; b[14] = 255 * a[18]; b[15] = a[3]; b[16] = a[7]; b[17] = a[11]; b[18] = a[15]; b[19] = 255 * a[19]; return b; }; b.prototype.getColorTransform = function() { var b = new Float32Array(8), a = this._m; b[0] = a[0]; b[1] = a[5]; b[2] = a[10]; b[3] = a[15]; b[4] = 255 * a[16]; b[5] = 255 * a[17]; b[6] = 255 * a[18]; b[7] = 255 * a[19]; return b; }; b.prototype.isIdentity = function() { var b = this._m; return 1 == b[0] && 0 == b[1] && 0 == b[2] && 0 == b[3] && 0 == b[4] && 1 == b[5] && 0 == b[6] && 0 == b[7] && 0 == b[8] && 0 == b[9] && 1 == b[10] && 0 == b[11] && 0 == b[12] && 0 == b[13] && 0 == b[14] && 1 == b[15] && 0 == b[16] && 0 == b[17] && 0 == b[18] && 0 == b[19]; }; b.createIdentity = function() { return new b([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0]); }; b.prototype.setMultipliersAndOffsets = function(b, a, c, f, g, e, k, l) { for (var m = this._m, s = 0;s < m.length;s++) { m[s] = 0; } m[0] = b; m[5] = a; m[10] = c; m[15] = f; m[16] = g; m[17] = e; m[18] = k; m[19] = l; }; b.prototype.transformRGBA = function(b) { var a = b >> 24 & 255, c = b >> 16 & 255, f = b >> 8 & 255, k = b & 255, e = this._m; b = g(a * e[0] + c * e[1] + f * e[2] + k * e[3] + e[16]); var m = g(a * e[4] + c * e[5] + f * e[6] + k * e[7] + e[17]), l = g(a * e[8] + c * e[9] + f * e[10] + k * e[11] + e[18]), a = g(a * e[12] + c * e[13] + f * e[14] + k * e[15] + e[19]); return b << 24 | m << 16 | l << 8 | a; }; b.prototype.multiply = function(b) { var a = this._m, c = b._m; b = a[0]; var f = a[1], g = a[2], e = a[3], k = a[4], l = a[5], m = a[6], s = a[7], r = a[8], h = a[9], t = a[10], y = a[11], G = a[12], I = a[13], C = a[14], E = a[15], O = a[16], K = a[17], F = a[18], J = a[19], A = c[0], B = c[1], z = c[2], P = c[3], D = c[4], L = c[5], M = c[6], V = c[7], Q = c[8], U = c[9], S = c[10], aa = c[11], $ = c[12], ea = c[13], Z = c[14], v = c[15], X = c[16], ba = c[17], R = c[18], c = c[19]; a[0] = b * A + k * B + r * z + G * P; a[1] = f * A + l * B + h * z + I * P; a[2] = g * A + m * B + t * z + C * P; a[3] = e * A + s * B + y * z + E * P; a[4] = b * D + k * L + r * M + G * V; a[5] = f * D + l * L + h * M + I * V; a[6] = g * D + m * L + t * M + C * V; a[7] = e * D + s * L + y * M + E * V; a[8] = b * Q + k * U + r * S + G * aa; a[9] = f * Q + l * U + h * S + I * aa; a[10] = g * Q + m * U + t * S + C * aa; a[11] = e * Q + s * U + y * S + E * aa; a[12] = b * $ + k * ea + r * Z + G * v; a[13] = f * $ + l * ea + h * Z + I * v; a[14] = g * $ + m * ea + t * Z + C * v; a[15] = e * $ + s * ea + y * Z + E * v; a[16] = b * X + k * ba + r * R + G * c + O; a[17] = f * X + l * ba + h * R + I * c + K; a[18] = g * X + m * ba + t * R + C * c + F; a[19] = e * X + s * ba + y * R + E * c + J; }; Object.defineProperty(b.prototype, "alphaMultiplier", {get:function() { return this._m[15]; }, enumerable:!0, configurable:!0}); b.prototype.hasOnlyAlphaMultiplier = function() { var b = this._m; return 1 == b[0] && 0 == b[1] && 0 == b[2] && 0 == b[3] && 0 == b[4] && 1 == b[5] && 0 == b[6] && 0 == b[7] && 0 == b[8] && 0 == b[9] && 1 == b[10] && 0 == b[11] && 0 == b[12] && 0 == b[13] && 0 == b[14] && 0 == b[16] && 0 == b[17] && 0 == b[18] && 0 == b[19]; }; b.prototype.equals = function(b) { if (!b) { return!1; } var a = this._m; b = b._m; for (var c = 0;20 > c;c++) { if (.001 < Math.abs(a[c] - b[c])) { return!1; } } return!0; }; return b; }(); k.ColorMatrix = t; })(b.GFX || (b.GFX = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { k.timelineBuffer = new b.Tools.Profiler.TimelineBuffer("Player"); k.counter = new b.Metrics.Counter(!0); k.writer = null; k.enterTimeline = function(b, f) { k.writer && k.writer.enter(b); }; k.leaveTimeline = function(b, f) { k.writer && k.writer.leave(b); }; })(b.Player || (b.Player = {})); })(Shumway || (Shumway = {})); var Shumway$$inline_284 = Shumway || (Shumway = {}); Shumway$$inline_284.playerOptions = Shumway$$inline_284.Settings.shumwayOptions.register(new Shumway$$inline_284.Options.OptionSet("Player Options")); Shumway$$inline_284.frameEnabledOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Enable Frame Execution", "boolean", !0, "Enable frame execution.")); Shumway$$inline_284.timerEnabledOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Enable Timers", "boolean", !0, "Enable timer events.")); Shumway$$inline_284.pumpEnabledOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Enable Pump", "boolean", !0, "Enable display tree serialization.")); Shumway$$inline_284.pumpRateOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Pump Rate", "number", 80, "Number of times / second that the display list is synchronized.", {range:{min:1, max:120, step:1}})); Shumway$$inline_284.frameRateOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Frame Rate", "number", -1, "Override a movie's frame rate, set to -1 to use the movies default frame rate.", {range:{min:-1, max:120, step:1}})); Shumway$$inline_284.tracePlayerOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("tp", "Trace Player", "number", 0, "Trace player every n frames.", {range:{min:0, max:512, step:1}})); Shumway$$inline_284.traceMouseEventOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("tme", "Trace Mouse Events", "boolean", !1, "Trace mouse events.")); Shumway$$inline_284.frameRateMultiplierOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Frame Rate Multiplier", "number", 1, "Play frames at a faster rate.", {range:{min:1, max:16, step:1}})); Shumway$$inline_284.dontSkipFramesOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Disables Frame Skipping", "boolean", !1, "Play all frames, e.g. no skipping frame during throttle.")); Shumway$$inline_284.playAllSymbolsOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Play Symbols", "boolean", !1, "Plays all SWF symbols automatically.")); Shumway$$inline_284.playSymbolOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Play Symbol Number", "number", 0, "Select symbol by Id.", {range:{min:0, max:2E4, step:1}})); Shumway$$inline_284.playSymbolFrameDurationOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Play Symbol Duration", "number", 0, "How many frames to play, 0 for all frames of the movie clip.", {range:{min:0, max:128, step:1}})); Shumway$$inline_284.playSymbolCountOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Play Symbol Count", "number", -1, "Select symbol count.", {range:{min:0, max:2E4, step:1}})); Shumway$$inline_284.stageScaleOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Stage Scale", "number", 1, "Scales the symbols.", {range:{min:.1, max:16, step:.01}})); Shumway$$inline_284.useParsingWorkerOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("useWorker", "Use Parsing Worker", "boolean", !0, "Determines whether to spawn a DOM worker thread for parsing")); (function(b) { var k = function() { function b() { this._expectedNextFrameAt = performance.now(); this._drawStats = []; this._drawsSkipped = this._drawStarted = this._drawStatsSum = 0; this._expectedNextFrameAt = performance.now(); this._onTime = !0; this._trackDelta = !1; this._onTimeDelta = this._delta = 0; } Object.defineProperty(b.prototype, "shallSkipDraw", {get:function() { if (this._drawsSkipped >= b.MAX_DRAWS_TO_SKIP) { return!1; } var f = this._drawStats.length < b.STATS_TO_REMEMBER ? 0 : this._drawStatsSum / this._drawStats.length; return performance.now() + f + b.INTERVAL_PADDING_MS > this._expectedNextFrameAt; }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "nextFrameIn", {get:function() { return Math.max(0, this._expectedNextFrameAt - performance.now()); }, enumerable:!0, configurable:!0}); Object.defineProperty(b.prototype, "isOnTime", {get:function() { return this._onTime; }, enumerable:!0, configurable:!0}); b.prototype.startFrame = function(f) { var k = f = 1E3 / f, s = this._onTimeDelta + this._delta; 0 !== s && (0 > s ? k *= b.SPEED_ADJUST_RATE : 0 < s && (k /= b.SPEED_ADJUST_RATE), this._onTimeDelta += f - k); this._expectedNextFrameAt += k; this._onTime = !0; }; b.prototype.endFrame = function() { var f = performance.now() + b.INTERVAL_PADDING_MS; f > this._expectedNextFrameAt && (this._trackDelta && (this._onTimeDelta += this._expectedNextFrameAt - f, console.log(this._onTimeDelta)), this._expectedNextFrameAt = f, this._onTime = !1); }; b.prototype.startDraw = function() { this._drawsSkipped = 0; this._drawStarted = performance.now(); }; b.prototype.endDraw = function() { var f = performance.now() - this._drawStarted; this._drawStats.push(f); for (this._drawStatsSum += f;this._drawStats.length > b.STATS_TO_REMEMBER;) { this._drawStatsSum -= this._drawStats.shift(); } }; b.prototype.skipDraw = function() { this._drawsSkipped++; }; b.prototype.setDelta = function(b) { this._trackDelta && (this._delta = b); }; b.prototype.startTrackDelta = function() { this._trackDelta = !0; }; b.prototype.endTrackDelta = function() { this._trackDelta && (this._trackDelta = !1, this._onTimeDelta = this._delta = 0); }; b.STATS_TO_REMEMBER = 50; b.MAX_DRAWS_TO_SKIP = 2; b.INTERVAL_PADDING_MS = 4; b.SPEED_ADJUST_RATE = .9; return b; }(); b.FrameScheduler = k; })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.AVM2.AS.flash, k = b.AVM2.AS.flash.display, s = b.AVM2.AS.flash.display.BitmapData, m = b.AVM2.AS.flash.display.DisplayObjectFlags, d = b.AVM2.AS.flash.display.BlendMode, a = b.AVM2.AS.flash.display.PixelSnapping, c = b.AVM2.AS.flash.geom.Point, n = b.Bounds, p = b.Debug.assert, e = b.Player.writer, q = function() { function c() { this.phase = 0; this.roots = null; } c.prototype.begin = function(a) { this.roots = [a]; }; c.prototype.remoteObjects = function() { this.phase = 0; for (var a = this.roots, c = 0;c < a.length;c++) { b.Player.enterTimeline("remoting objects"), this.writeDisplayObject(a[c]), b.Player.leaveTimeline("remoting objects"); } }; c.prototype.remoteReferences = function() { this.phase = 1; for (var a = this.roots, c = 0;c < a.length;c++) { b.Player.enterTimeline("remoting references"), this.writeDisplayObject(a[c]), b.Player.leaveTimeline("remoting references"); } }; c.prototype.writeDisplayObject = function(a) { var c = this, d = this.roots; a.visit(function(a) { c.writeUpdateFrame(a); d && a.mask && b.ArrayUtilities.pushUnique(d, a.mask._findFurthestAncestorOrSelf()); return 0; }, 16, m.Dirty); }; c.prototype.writeStage = function(a) { e && e.writeLn("Sending Stage"); this.output.writeInt(104); this.output.writeInt(a._id); this.output.writeInt(a.color); this._writeRectangle(new n(0, 0, 20 * a.stageWidth, 20 * a.stageHeight)); }; c.prototype.writeGraphics = function(a) { if (a._isDirty) { e && e.writeLn("Sending Graphics: " + a._id); for (var b = a._textures, c = b.length, d = 0;d < c;d++) { this.writeBitmapData(b[d]); } this.output.writeInt(101); this.output.writeInt(a._id); this.output.writeInt(-1); this._writeRectangle(a._getContentBounds()); this._writeAsset(a._graphicsData.toPlainObject()); this.output.writeInt(c); for (d = 0;d < c;d++) { this.output.writeInt(b[d]._id); } a._isDirty = !1; } }; c.prototype.writeNetStream = function(a) { a._isDirty && (e && e.writeLn("Sending NetStream: " + a._id), this.output.writeInt(105), this.output.writeInt(a._id), this.output.writeUTF(a._url), a._isDirty = !1); }; c.prototype.writeBitmapData = function(a) { a._isDirty && (e && e.writeLn("Sending BitmapData: " + a._id), this.output.writeInt(102), this.output.writeInt(a._id), this.output.writeInt(a._symbol ? a._symbol.id : -1), this._writeRectangle(a._getContentBounds()), this.output.writeInt(a._type), this._writeAsset(a._dataBuffer.toPlainObject()), a._isDirty = !1); }; c.prototype.writeTextContent = function(a) { if (a.flags & b.TextContentFlags.Dirty) { e && e.writeLn("Sending TextContent: " + a._id); this.output.writeInt(103); this.output.writeInt(a._id); this.output.writeInt(-1); this._writeRectangle(a.bounds); this._writeMatrix(a.matrix || f.geom.Matrix.FROZEN_IDENTITY_MATRIX); this.output.writeInt(a.backgroundColor); this.output.writeInt(a.borderColor); this.output.writeInt(a.autoSize); this.output.writeBoolean(a.wordWrap); this._writeAsset(a.plainText); this._writeAsset(a.textRunData.toPlainObject()); var c = a.coords; if (c) { var d = c.length; this.output.writeInt(d); for (var g = 0;g < d;g++) { this.output.writeInt(c[g]); } } else { this.output.writeInt(0); } a.flags &= ~b.TextContentFlags.Dirty; } }; c.prototype.writeFont = function(a) { if ("embedded" === a.fontType) { e && e.writeLn("Sending Font: " + a._id); var b = a._symbol; p(b); this.output.writeInt(200); this.output.writeInt(a._id); this.output.writeBoolean(b.bold); this.output.writeBoolean(b.italic); this._writeAsset(b.data); } }; c.prototype.writeClip = function(a) { if (0 <= a._clipDepth && a._parent) { var b = a._parent.getChildIndex(a); a = a._parent.getClipDepthIndex(a._clipDepth); for (var c = b + 1;c <= b;c++) { } p(0 <= a - b); this.output.writeInt(a - b); } else { this.output.writeInt(-1); } }; c.prototype.writeUpdateFrame = function(b) { this.output.writeInt(100); this.output.writeInt(b._id); e && e.writeLn("Sending UpdateFrame: " + b.debugName()); var c = !1, g = b._hasFlags(1048576), h = b._hasFlags(67108864), l = b._hasFlags(536870912), n = null; f.media.Video.isType(b) && (n = b); var p = !1; 1 === this.phase && (p = b._hasAnyFlags(65011712), c = b._hasFlags(134217728)); var q = null; k.Bitmap.isType(b) && (q = b); var s = b._hasFlags(268435456), E; E = 0 | (g ? 1 : 0) | (h ? 8 : 0); E |= c ? 64 : 0; E |= s ? 128 : 0; E |= l ? 32 : 0; E |= p ? 4 : 0; this.output.writeInt(E); g && this._writeMatrix(b._getMatrix()); h && this._writeColorTransform(b._colorTransform); c && this.output.writeInt(b.mask ? b.mask._id : -1); s && this.writeClip(b); l && (this.output.writeInt(d.toNumber(b._blendMode)), this.output.writeBoolean(b._hasFlags(1)), q ? (this.output.writeInt(a.toNumber(q.pixelSnapping)), this.output.writeInt(q.smoothing ? 1 : 0)) : (this.output.writeInt(a.toNumber(a.AUTO)), this.output.writeInt(1))); c = b._getGraphics(); g = b._getTextContent(); if (p) { e && e.enter("Children: {"); if (q) { q.bitmapData ? (this.output.writeInt(1), this.output.writeInt(134217728 | q.bitmapData._id)) : this.output.writeInt(0); } else { if (n) { n._netStream ? (this.output.writeInt(1), this.output.writeInt(134217728 | n._netStream._id)) : this.output.writeInt(0); } else { if (h = c || g ? 1 : 0, (p = b._children) && (h += p.length), this.output.writeInt(h), c ? (e && e.writeLn("Reference Graphics: " + c._id), this.output.writeInt(134217728 | c._id)) : g && (e && e.writeLn("Reference TextContent: " + g._id), this.output.writeInt(134217728 | g._id)), p) { for (h = 0;h < p.length;h++) { e && e.writeLn("Reference DisplayObject: " + p[h].debugName()), this.output.writeInt(p[h]._id), 0 <= p[h]._clipDepth && p[h]._setFlags(268435456); } } } } e && e.leave("}"); } 1 === this.phase && b._removeFlags(m.Dirty); c ? this.writeGraphics(c) : g ? this.writeTextContent(g) : q ? q.bitmapData && this.writeBitmapData(q.bitmapData) : n && n._netStream && this.writeNetStream(n._netStream); }; c.prototype.writeDrawToBitmap = function(a, b, c, e, f, g, k) { "undefined" === typeof c && (c = null); "undefined" === typeof e && (e = null); "undefined" === typeof f && (f = null); "undefined" === typeof g && (g = null); "undefined" === typeof k && (k = !1); this.output.writeInt(201); this.output.writeInt(a._id); s.isType(b) ? this.output.writeInt(134217728 | b._id) : this.output.writeInt(b._id); a = 0 | (c ? 1 : 0) | (e ? 8 : 0); a |= g ? 16 : 0; this.output.writeInt(a); c && this._writeMatrix(c); e && this._writeColorTransform(e); g && this._writeRectangle(n.FromRectangle(g)); this.output.writeInt(d.toNumber(f)); this.output.writeBoolean(k); }; c.prototype._writeMatrix = function(a) { this.output.write6Floats(a.a, a.b, a.c, a.d, a.tx, a.ty); }; c.prototype._writeRectangle = function(a) { this.output.write4Ints(a.xMin, a.yMin, a.width, a.height); }; c.prototype._writeAsset = function(a) { this.output.writeInt(this.outputAssets.length); this.outputAssets.push(a); }; c.prototype._writeColorTransform = function(a) { var b = this.output, c = a.redMultiplier, d = a.greenMultiplier, e = a.blueMultiplier, f = a.alphaMultiplier, g = a.redOffset, k = a.greenOffset, l = a.blueOffset; a = a.alphaOffset; g === k && k === l && l === a && 0 === a && c === d && d === e && 1 === e ? 1 === f ? b.writeInt(0) : (b.writeInt(1), b.writeFloat(f)) : (b.writeInt(2), b.writeFloat(c), b.writeFloat(d), b.writeFloat(e), b.writeFloat(f), b.writeInt(g), b.writeInt(k), b.writeInt(l), b.writeInt(a)); }; c.prototype.writeRequestBitmapData = function(a) { e && e.writeLn("Sending BitmapData Request"); this.output.writeInt(106); this.output.writeInt(a._id); }; c.prototype.writeDecodeImage = function(a, b, c) { e && e.writeLn("Sending DecodeImage"); this.output.writeInt(107); this.output.writeInt(a); this.output.writeInt(b); this._writeAsset(c); }; return c; }(); g.PlayerChannelSerializer = q; q = function() { function a() { } a.prototype._readAsset = function() { var a = this.input.readInt(), b = this.inputAssets[a]; this.inputAssets[a] = null; return b; }; a.prototype.read = function() { var a = this.input.readInt(); switch(a) { case 300: return this._readMouseEvent(); case 301: return this._readKeyboardEvent(); case 302: return this._readFocusEvent(); case 108: return this._readDecodeImageResponse(); } p(!1, "Unknown MessageReader tag: " + a); }; a.prototype._readDecodeImageResponse = function() { var a = this.input, b = a.readInt(), c = a.readInt(), d = this._readAsset(), e = a.readInt(), a = a.readInt(); return{tag:108, promiseId:b, type:c, data:d, width:e, height:a}; }; a.prototype._readFocusEvent = function() { return{tag:302, type:this.input.readInt()}; }; a.prototype._readMouseEvent = function() { var a = this.input, d = a.readInt(), d = b.Remoting.MouseEventNames[d], e = a.readFloat(), f = a.readFloat(), g = a.readInt(), a = a.readInt(); return{tag:300, type:d, point:new c(e, f), ctrlKey:!!(a & 1), altKey:!!(a & 2), shiftKey:!!(a & 4), buttons:g}; }; a.prototype._readKeyboardEvent = function() { var a = this.input, c = a.readInt(), c = b.Remoting.KeyboardEventNames[c], d = a.readInt(), e = a.readInt(), f = a.readInt(), a = a.readInt(); return{tag:301, type:c, keyCode:d, charCode:e, location:f, ctrlKey:!!(a & 1), altKey:!!(a & 2), shiftKey:!!(a & 4)}; }; return a; }(); g.PlayerChannelDeserializer = q; })(k.Player || (k.Player = {})); })(b.Remoting || (b.Remoting = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { var g = b.Debug.assert, f = b.AVM2.AS.flash, t = b.ArrayUtilities.DataBuffer, s = b.AVM2.Runtime.AVM2, m = b.AVM2.AS.avm1lib, d = b.AVM2.AS.flash.events.Event, a = b.AVM2.AS.flash.display.DisplayObject, c = b.AVM2.AS.flash.events.EventDispatcher, n = b.AVM2.AS.flash.display.MovieClip, p = b.AVM2.AS.flash.display.Loader, e = b.AVM2.AS.flash.ui.MouseEventDispatcher, q = b.AVM2.AS.flash.ui.KeyboardEventDispatcher, l = function() { function l() { this._framesPlayed = 0; this._pendingPromises = []; this.externalCallback = null; this._lastPumpTime = 0; this._hasFocus = this._isPageVisible = !0; this._keyboardEventDispatcher = new q; this._mouseEventDispatcher = new e; this._writer = new b.IndentingWriter; s.instance.globals["Shumway.Player.Utils"] = this; } l.prototype._getNextAvailablePromiseId = function() { for (var a = this._pendingPromises.length, b = 0;b < a;b++) { if (!this._pendingPromises[b]) { return b; } } return a; }; l.prototype.onSendUpdates = function(a, b, c) { throw Error("This method is abstract"); }; l.prototype._shouldThrottleDownRendering = function() { return!this._isPageVisible; }; l.prototype._shouldThrottleDownFrameExecution = function() { return!this._isPageVisible; }; l.prototype.load = function(a, c) { g(!this._loader, "Can't load twice."); var d = this, e = this._stage = new f.display.Stage, k = this._loader = f.display.Loader.getRootLoader(), l = this._loaderInfo = k.contentLoaderInfo; b.playAllSymbolsOption.value ? (this._playAllSymbols(), l._allowCodeExecution = !1) : k._startPromise.then(function() { l.actionScriptVersion === f.display.ActionScriptVersion.ACTIONSCRIPT2 ? (m.AVM1Key.asCallPublicProperty("__bind", [e]), m.AVM1Mouse.asCallPublicProperty("__bind", [e]), n.frameNavigationModel = 1) : 10 > l.swfVersion && (n.frameNavigationModel = 2); var a = void 0 !== d.defaultStageColor ? d.defaultStageColor : l._colorRGBA, c = k.content; e._loaderInfo = l; e.frameRate = l.frameRate; e.setStageWidth(l.width); e.setStageHeight(l.height); e.setStageColor(b.ColorUtilities.RGBAToARGB(a)); e.addTimelineObjectAtDepth(c, 0); d._enterLoops(); }); if (c) { var p = b.Timeline.BinarySymbol.FromData({id:-1, data:c}), q = p.symbolClass.initializeFrom(p); p.symbolClass.instanceConstructorNoInitialize.call(q); this._loader.loadBytes(q); } else { this._loader.load(new f.net.URLRequest(a)); } }; l.prototype.processUpdates = function(a, e) { var f = new b.Remoting.Player.PlayerChannelDeserializer; f.input = a; f.inputAssets = e; f = f.read(); switch(f.tag) { case 301: var k = this._stage.focus ? this._stage.focus : this._stage; this._keyboardEventDispatcher.target = k; this._keyboardEventDispatcher.dispatchKeyboardEvent(f); break; case 300: this._mouseEventDispatcher.stage = this._stage; k = this._mouseEventDispatcher.handleMouseEvent(f); b.traceMouseEventOption.value && this._writer.writeLn("Mouse Event: type: " + f.type + ", target: " + k + ", name: " + k._name); break; case 302: switch(f.type) { case 0: this._isPageVisible = !1; break; case 1: this._isPageVisible = !0; break; case 2: this._hasFocus = !1; break; case 3: c.broadcastEventDispatchQueue.dispatchEvent(d.getBroadcastInstance(d.ACTIVATE)), this._hasFocus = !0; } break; case 108: var k = f.promiseId, l = this._pendingPromises[k]; g(l, "We should be resolving an unresolved decode image promise at this point."); l.resolve(f); this._pendingPromises[k] = null; } }; l.prototype._enterLoops = function() { this._enterEventLoop(); }; l.prototype._pumpDisplayListUpdates = function() { this.syncDisplayObject(this._stage); }; l.prototype.syncDisplayObject = function(a, c) { "undefined" === typeof c && (c = !0); var d = new t, e = [], g = new b.Remoting.Player.PlayerChannelSerializer; g.output = d; g.outputAssets = e; f.display.Stage.isType(a) && g.writeStage(a); g.begin(a); g.remoteObjects(); g.remoteReferences(); d.writeInt(0); k.enterTimeline("remoting assets"); d = this.onSendUpdates(d, e, c); k.leaveTimeline("remoting assets"); return d; }; l.prototype.requestBitmapData = function(a) { var c = new t, d = [], e = new b.Remoting.Player.PlayerChannelSerializer; e.output = c; e.outputAssets = d; e.writeRequestBitmapData(a); c.writeInt(0); return this.onSendUpdates(c, d, !1); }; l.prototype.decodeImage = function(a, c) { g(5 === a.type || 6 === a.type || 4 === a.type, "No need to decode any other image formats."); var d = new t, e = [], f = new b.Remoting.Player.PlayerChannelSerializer; f.output = d; f.outputAssets = e; var k = this._getNextAvailablePromiseId(); f.writeDecodeImage(k, a.type, a.data); d.writeInt(0); this.onSendUpdates(d, e); (this._pendingPromises[k] = new b.PromiseWrapper).promise.then(function(b) { a.data = b.data; a.type = b.type; a.width = b.width; a.height = b.height; c(void 0); }); }; l.prototype.registerFont = function(a) { var c = new t, d = [], e = new b.Remoting.Player.PlayerChannelSerializer; e.output = c; e.outputAssets = d; e.writeFont(a); this.onSendUpdates(c, d); }; l.prototype.drawToBitmap = function(a, c, d, e, g, l, m) { "undefined" === typeof d && (d = null); "undefined" === typeof e && (e = null); "undefined" === typeof g && (g = null); "undefined" === typeof l && (l = null); "undefined" === typeof m && (m = !1); var n = new t, p = [], q = new b.Remoting.Player.PlayerChannelSerializer; q.output = n; q.outputAssets = p; q.writeBitmapData(a); f.display.BitmapData.isType(c) ? q.writeBitmapData(c) : (q.begin(c), q.remoteObjects(), q.remoteReferences()); q.writeDrawToBitmap(a, c, d, e, g, l, m); n.writeInt(0); k.enterTimeline("sendUpdates"); this.onSendUpdates(n, p, !1); k.leaveTimeline("sendUpdates"); }; l.prototype.executeFSCommand = function(a, b) { switch(a) { case "quit": this._leaveEventLoop(); } this.onFSCommand(a, b); }; l.prototype.requestRendering = function() { this._pumpDisplayListUpdates(); }; l.prototype._pumpUpdates = function() { if (b.dontSkipFramesOption.value || !(this._shouldThrottleDownRendering() || performance.now() - this._lastPumpTime < 1E3 / b.pumpRateOption.value)) { k.enterTimeline("pump"), b.pumpEnabledOption.value && (this._pumpDisplayListUpdates(), this._lastPumpTime = performance.now()), k.leaveTimeline("pump"); } }; l.prototype._leaveSyncLoop = function() { g(-1 < this._frameTimeout); clearInterval(this._frameTimeout); }; l.prototype._getFrameInterval = function() { var a = b.frameRateOption.value; 0 > a && (a = this._stage.frameRate); return Math.floor(1E3 / a); }; l.prototype._enterEventLoop = function() { this._eventLoopIsRunning = !0; this._eventLoopTick = this._eventLoopTick.bind(this); this._eventLoopTick(); }; l.prototype._eventLoopTick = function() { var c = !b.playAllSymbolsOption.value, d = b.dontSkipFramesOption.value; this._frameTimeout = setTimeout(this._eventLoopTick, this._getFrameInterval()); if (d || !(!b.frameEnabledOption.value && c || this._shouldThrottleDownFrameExecution())) { this._stage.scaleX = this._stage.scaleY = b.stageScaleOption.value; a._stage = this._stage; for (d = 0;d < b.frameRateMultiplierOption.value;d++) { k.enterTimeline("eventLoop"); var e = performance.now(); a.performFrameNavigation(!0, c); k.counter.count("performFrameNavigation", 1, performance.now() - e); this._framesPlayed++; p.progress(); 0 < b.tracePlayerOption.value && 0 === this._framesPlayed % b.tracePlayerOption.value && this._tracePlayer(); k.leaveTimeline("eventLoop"); } this._rootInitialized ? this._stage.render() : this._rootInitialized = !0; this._pumpUpdates(); this.onFrameProcessed(); } }; l.prototype._tracePlayer = function() { var a = this._writer; a.enter("Frame: " + this._framesPlayed); b.AVM2.counter.traceSorted(a); b.AVM2.counter.clear(); b.Player.counter.traceSorted(a); b.Player.counter.clear(); a.writeLn("advancableInstances: " + f.display.DisplayObject._advancableInstances.length); a.outdent(); }; l.prototype._leaveEventLoop = function() { g(this._eventLoopIsRunning); clearTimeout(this._frameTimeout); this._eventLoopIsRunning = !1; }; l.prototype._playAllSymbols = function() { var a = this._stage, c = this._loader, d = this._loaderInfo, e = this; d.addEventListener(f.events.ProgressEvent.PROGRESS, function G() { c.content && (d.removeEventListener(f.events.ProgressEvent.PROGRESS, G), e._enterLoops()); }); d.addEventListener(f.events.Event.COMPLETE, function() { function c() { var l; 0 < b.playSymbolOption.value ? (l = d.getSymbolById(b.playSymbolOption.value), l instanceof b.Timeline.DisplaySymbol || (l = null)) : (l = g[k++], k === g.length && (k = 0), 0 <= b.playSymbolCountOption.value && k > b.playSymbolCountOption.value && (k = 0)); var m = 1; if (l && 0 < l.id) { var n = l; f.display.DisplayObject.reset(); f.display.MovieClip.reset(); var p = n.symbolClass.initializeFrom(n); n.symbolClass.instanceConstructorNoInitialize.call(p); for (n instanceof b.Timeline.BitmapSymbol && (p = new f.display.Bitmap(p));0 < a.numChildren;) { a.removeChildAt(0); } a.addChild(p); l instanceof b.Timeline.SpriteSymbol && (m = l.numFrames); } 0 < b.playSymbolFrameDurationOption.value && (m = b.playSymbolFrameDurationOption.value); setTimeout(c, e._getFrameInterval() * m); } a.setStageWidth(1024); a.setStageHeight(1024); var g = []; d._dictionary.forEach(function(a, c) { a instanceof b.Timeline.DisplaySymbol && g.push(a); }); var k = 0; setTimeout(c, e._getFrameInterval()); }); }; l.prototype.processExternalCallback = function(a) { if (this.externalCallback) { try { a.result = this.externalCallback(a.functionName, a.args); } catch (b) { a.error = b.message; } } }; l.prototype.onExternalCommand = function(a) { throw Error("This method is abstract"); }; l.prototype.onFSCommand = function(a, b) { throw Error("This method is abstract"); }; l.prototype.onFrameProcessed = function() { throw Error("This method is abstract"); }; l.prototype.createExternalInterfaceService = function() { var a, b = this; return{get enabled() { if (void 0 === a) { var c = {action:"isEnabled"}; b.onExternalCommand(c); a = c.result; } return a; }, initJS:function(a) { b.externalCallback = a; b.onExternalCommand({action:"initJS"}); }, registerCallback:function(a) { b.onExternalCommand({action:"register", functionName:a, remove:!1}); }, unregisterCallback:function(a) { b.onExternalCommand({action:"register", functionName:a, remove:!0}); }, eval:function(a) { a = {action:"eval", expression:a}; b.onExternalCommand(a); return a.result; }, call:function(a) { a = {action:"call", request:a}; b.onExternalCommand(a); return a.result; }, getId:function() { var a = {action:"getId"}; b.onExternalCommand(a); return a.result; }}; }; return l; }(); k.Player = l; })(b.Player || (b.Player = {})); })(Shumway || (Shumway = {})); (function(b) { var k = b.BinaryFileReader, g = b.AVM2.ABC.AbcFile, f = b.AVM2.Runtime.AVM2, t = b.Debug.assert; b.createAVM2 = function(s, m, d, a, c, n) { function p(a) { (new k(d)).readAll(function(b) { e.systemDomain.executeAbc(new g(new Uint8Array(b), d)); a(); }); } var e; t(s); (new k(s)).readAll(function(q) { f.initialize(a, c, d ? p : null); e = f.instance; b.AVM2.AS.linkNatives(e); console.time("Execute builtin.abc"); e.builtinsLoaded = !1; e.systemDomain.executeAbc(new g(new Uint8Array(q), "builtin.abc")); e.builtinsLoaded = !0; console.timeEnd("Execute builtin.abc"); "string" === typeof m ? (new k(m)).readAll(function(a) { e.systemDomain.executeAbc(new g(new Uint8Array(a), m)); n(e); }) : f.isPlayerglobalLoaded() || f.loadPlayerglobal(m.abcs, m.catalog).then(function() { n(e); }); }); }; })(Shumway || (Shumway = {})); __extends = this.__extends || function(b, k) { function g() { this.constructor = b; } for (var f in k) { k.hasOwnProperty(f) && (b[f] = k[f]); } g.prototype = k.prototype; b.prototype = new g; }; (function(b) { (function(k) { (function(g) { var f = b.ArrayUtilities.DataBuffer, k = function(g) { function k(b, a) { g.call(this); this._window = b; this._parent = a || b.parent; this._window.addEventListener("message", function(a) { this.onWindowMessage(a.data, !0); }.bind(this)); this._window.addEventListener("syncmessage", function(a) { this.onWindowMessage(a.detail, !1); }.bind(this)); } __extends(k, g); k.prototype.onSendUpdates = function(b, a, c) { "undefined" === typeof c && (c = !0); b = b.getBytes(); a = {type:"player", updates:b, assets:a, result:void 0}; b = [b.buffer]; if (!c) { return c = this._parent.document.createEvent("CustomEvent"), c.initCustomEvent("syncmessage", !1, !1, a), this._parent.dispatchEvent(c), f.FromPlainObject(a.result); } this._parent.postMessage(a, "*", b); return null; }; k.prototype.onExternalCommand = function(b) { var a = this._parent.document.createEvent("CustomEvent"); a.initCustomEvent("syncmessage", !1, !1, {type:"external", request:b}); this._parent.dispatchEvent(a); }; k.prototype.onFSCommand = function(b, a) { this._parent.postMessage({type:"fscommand", command:b, args:a}, "*"); }; k.prototype.onFrameProcessed = function() { this._parent.postMessage({type:"frame"}, "*"); }; k.prototype.onWindowMessage = function(d, a) { if ("object" === typeof d && null !== d) { switch(d.type) { case "gfx": var c = b.ArrayUtilities.DataBuffer.FromArrayBuffer(d.updates.buffer); this.processUpdates(c, d.assets); break; case "externalCallback": this.processExternalCallback(d.request); break; case "options": b.Settings.setSettings(d.settings); break; case "timeline": switch(d.request) { case "AVM2": if ("clear" === d.cmd) { b.AVM2.timelineBuffer.reset(); break; } this._parent.postMessage({type:"timelineResponse", request:d.request, timeline:b.AVM2.timelineBuffer}, "*"); break; case "Player": if ("clear" === d.cmd) { b.Player.timelineBuffer.reset(); break; } this._parent.postMessage({type:"timelineResponse", request:d.request, timeline:b.Player.timelineBuffer}, "*"); break; case "SWF": if ("clear" === d.cmd) { b.SWF.timelineBuffer.reset(); break; } this._parent.postMessage({type:"timelineResponse", request:d.request, timeline:b.SWF.timelineBuffer}, "*"); } ; } } }; return k; }(b.Player.Player); g.WindowPlayer = k; })(k.Window || (k.Window = {})); })(b.Player || (b.Player = {})); })(Shumway || (Shumway = {})); (function(b) { (function(k) { (function(g) { var f = b.ArrayUtilities.DataBuffer, k = function(g) { function k() { g.call(this); this._worker = b.Player.Test.FakeSyncWorker.instance; this._worker.addEventListener("message", this._onWorkerMessage.bind(this)); this._worker.addEventListener("syncmessage", this._onSyncWorkerMessage.bind(this)); } __extends(k, g); k.prototype.onSendUpdates = function(b, a, c) { "undefined" === typeof c && (c = !0); b = b.getBytes(); a = {type:"player", updates:b, assets:a}; b = [b.buffer]; if (!c) { return c = this._worker.postSyncMessage(a, b), f.FromPlainObject(c); } this._worker.postMessage(a, b); return null; }; k.prototype.onExternalCommand = function(b) { this._worker.postSyncMessage({type:"external", command:b}); }; k.prototype.onFSCommand = function(b, a) { this._worker.postMessage({type:"fscommand", command:b, args:a}); }; k.prototype.onFrameProcessed = function() { this._worker.postMessage({type:"frame"}); }; k.prototype._onWorkerMessage = function(b) { var a = b.data; if ("object" === typeof a && null !== a) { switch(a.type) { case "gfx": a = f.FromArrayBuffer(b.data.updates.buffer); this.processUpdates(a, b.data.assets); break; case "externalCallback": this.processExternalCallback(a.request), b.handled = !0; } } }; k.prototype._onSyncWorkerMessage = function(b) { return this._onWorkerMessage(b); }; return k; }(b.Player.Player); g.TestPlayer = k; })(k.Test || (k.Test = {})); })(b.Player || (b.Player = {})); })(Shumway || (Shumway = {})); (function(b) { (function(b) { (function(b) { var f = function() { function b() { this._worker = new Worker(b.WORKER_PATH); this._onsyncmessageListeners = []; } Object.defineProperty(b, "instance", {get:function() { b._singelton || (b._singelton = new b); return b._singelton; }, enumerable:!0, configurable:!0}); b.prototype.addEventListener = function(b, f, d) { "syncmessage" !== b ? this._worker.addEventListener(b, f, d) : this._onsyncmessageListeners.push(f); }; b.prototype.removeEventListener = function(b, f, d) { "syncmessage" === b ? (b = this._onsyncmessageListeners.indexOf(f), 0 <= b && this._onsyncmessageListeners.splice(b, 1)) : this._worker.removeEventListener(b, f, d); }; b.prototype.postMessage = function(b, f) { this._worker.postMessage(b, f); }; b.prototype.postSyncMessage = function(b, f) { var d; this._onsyncmessageListeners.some(function(a) { var c = {data:b, result:void 0, handled:!1}; "function" === typeof a ? a(c) : a.handleEvent(c); if (!c.handled) { return!1; } d = c.result; return!0; }); return d; }; b.WORKER_PATH = "../../src/player/fakechannel.js"; return b; }(); b.FakeSyncWorker = f; })(b.Test || (b.Test = {})); })(b.Player || (b.Player = {})); })(Shumway || (Shumway = {})); console.timeEnd("Load Player Dependencies");