| Index: src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js
|
| diff --git a/src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js b/src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..86b7b0017c7cc0627599fe96e61af37b564afca4
|
| --- /dev/null
|
| +++ b/src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js
|
| @@ -0,0 +1,6817 @@
|
| +// Generated by dart2js, the Dart to JavaScript compiler.
|
| +// The code supports the following hooks:
|
| +// dartPrint(message) - if this function is defined it is called
|
| +// instead of the Dart [print] method.
|
| +// dartMainRunner(main) - if this function is defined, the Dart [main]
|
| +// method will not be invoked directly.
|
| +// Instead, a closure that will invoke [main] is
|
| +// passed to [dartMainRunner].
|
| +(function($) {
|
| +var A = {};
|
| +delete A.x;
|
| +var B = {};
|
| +delete B.x;
|
| +var C = {};
|
| +delete C.x;
|
| +var D = {};
|
| +delete D.x;
|
| +var E = {};
|
| +delete E.x;
|
| +var F = {};
|
| +delete F.x;
|
| +var G = {};
|
| +delete G.x;
|
| +var H = {};
|
| +delete H.x;
|
| +var J = {};
|
| +delete J.x;
|
| +var K = {};
|
| +delete K.x;
|
| +var L = {};
|
| +delete L.x;
|
| +var M = {};
|
| +delete M.x;
|
| +var N = {};
|
| +delete N.x;
|
| +var O = {};
|
| +delete O.x;
|
| +var P = {};
|
| +delete P.x;
|
| +var Q = {};
|
| +delete Q.x;
|
| +var R = {};
|
| +delete R.x;
|
| +var S = {};
|
| +delete S.x;
|
| +var T = {};
|
| +delete T.x;
|
| +var U = {};
|
| +delete U.x;
|
| +var V = {};
|
| +delete V.x;
|
| +var W = {};
|
| +delete W.x;
|
| +var X = {};
|
| +delete X.x;
|
| +var Y = {};
|
| +delete Y.x;
|
| +var Z = {};
|
| +delete Z.x;
|
| +function Isolate() {}
|
| +init();
|
| +
|
| +$ = Isolate.$isolateProperties;
|
| +var $$ = {};
|
| +
|
| +// Native classes
|
| +// Bound closures
|
| +$$.Bound__completeError__Future = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
|
| + call$2: function(p0, p1) {
|
| + return this._liblib1$_target.call(this._self, p0, p1);
|
| + },
|
| + call$1: function(error) {
|
| + return this.call$2(error, null);
|
| + }
|
| +}];
|
| +
|
| +$$.Bound__onPause__BufferingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
|
| + call$0: function() {
|
| + return this._liblib1$_target.call(this._self);
|
| + },
|
| + $is_void_: true
|
| +}];
|
| +
|
| +$$.Bound__onResume__BufferingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
|
| + call$0: function() {
|
| + return this._liblib1$_target.call(this._self);
|
| + },
|
| + $is_void_: true
|
| +}];
|
| +
|
| +$$.Bound__onPause__ForwardingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
|
| + call$0: function() {
|
| + return this._liblib1$_target.call(this._self);
|
| + },
|
| + $is_void_: true
|
| +}];
|
| +
|
| +$$.Bound__onResume__ForwardingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
|
| + call$0: function() {
|
| + return this._liblib1$_target.call(this._self);
|
| + },
|
| + $is_void_: true
|
| +}];
|
| +
|
| +$$.BoundClosure$1 = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
|
| + call$1: function(p0) {
|
| + return this._liblib1$_target.call(this._self, p0);
|
| + }
|
| +}];
|
| +
|
| +$$.Bound__handleDone__ForwardingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
|
| + call$0: function() {
|
| + return this._liblib1$_target.call(this._self);
|
| + },
|
| + $is_void_: true
|
| +}];
|
| +
|
| +$$.Closure$_processWorkerMessage = [H, {"": "Closure;call$2,$name"}];
|
| +
|
| +$$.Closure$toStringWrapper = [H, {"": "Closure;call$0,$name", $is_void_: true}];
|
| +
|
| +$$.Closure$invokeClosure = [H, {"": "Closure;call$5,$name"}];
|
| +
|
| +$$.Closure$isAssignable = [H, {"": "Closure;call$2,$name"}];
|
| +
|
| +$$.Closure$typeNameInChrome = [H, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$typeNameInSafari = [H, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$typeNameInOpera = [H, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$typeNameInFirefox = [H, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$typeNameInIE = [H, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$constructorNameFallback = [H, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$callDartFunctionWith1Arg = [H, {"": "Closure;call$2,$name"}];
|
| +
|
| +$$.Closure$_asyncRunCallback = [P, {"": "Closure;call$0,$name", $is_void_: true}];
|
| +
|
| +$$.Closure$_nullDataHandler = [P, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$_nullErrorHandler = [P, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$_nullDoneHandler = [P, {"": "Closure;call$0,$name", $is_void_: true}];
|
| +
|
| +$$.Closure$_rootHandleUncaughtError = [P, {"": "Closure;call$4,$name"}];
|
| +
|
| +$$.Closure$_rootRun = [P, {"": "Closure;call$4,$name"}];
|
| +
|
| +$$.Closure$_rootRunUnary = [P, {"": "Closure;call$5,$name"}];
|
| +
|
| +$$.Closure$_rootRegisterCallback = [P, {"": "Closure;call$4,$name"}];
|
| +
|
| +$$.Closure$_rootRegisterUnaryCallback = [P, {"": "Closure;call$4,$name"}];
|
| +
|
| +$$.Closure$_rootScheduleMicrotask = [P, {"": "Closure;call$4,$name"}];
|
| +
|
| +$$.Closure$_rootCreateTimer = [P, {"": "Closure;call$5,$name"}];
|
| +
|
| +$$.Closure$_rootCreatePeriodicTimer = [P, {"": "Closure;call$5,$name"}];
|
| +
|
| +$$.Closure$_rootFork = [P, {"": "Closure;call$5,$name"}];
|
| +
|
| +$$.Closure$_defaultEquals = [P, {"": "Closure;call$2,$name"}];
|
| +
|
| +$$.Closure$_defaultHashCode = [P, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$identical = [P, {"": "Closure;call$2,$name"}];
|
| +
|
| +$$.Closure$identityHashCode = [P, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$main = [O, {"": "Closure;call$0,$name", $is_void_: true}];
|
| +
|
| +$$.Closure$makeRequest = [O, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$processString = [O, {"": "Closure;call$1,$name"}];
|
| +
|
| +$$.Closure$handleError = [O, {"": "Closure;call$1,$name"}];
|
| +
|
| +(function (reflectionData) {
|
| + function map(x){x={x:x};delete x.x;return x}
|
| + if (!init.libraries) init.libraries = [];
|
| + if (!init.mangledNames) init.mangledNames = map();
|
| + if (!init.mangledGlobalNames) init.mangledGlobalNames = map();
|
| + if (!init.statics) init.statics = map();
|
| + if (!init.interfaces) init.interfaces = map();
|
| + if (!init.globalFunctions) init.globalFunctions = map();
|
| + var libraries = init.libraries;
|
| + var mangledNames = init.mangledNames;
|
| + var mangledGlobalNames = init.mangledGlobalNames;
|
| + var hasOwnProperty = Object.prototype.hasOwnProperty;
|
| + var length = reflectionData.length;
|
| + for (var i = 0; i < length; i++) {
|
| + var data = reflectionData[i];
|
| + var name = data[0];
|
| + var uri = data[1];
|
| + var metadata = data[2];
|
| + var globalObject = data[3];
|
| + var descriptor = data[4];
|
| + var isRoot = !!data[5];
|
| + var fields = descriptor && descriptor[""];
|
| + var classes = [];
|
| + var functions = [];
|
| + function processStatics(descriptor) {
|
| + for (var property in descriptor) {
|
| + if (!hasOwnProperty.call(descriptor, property)) continue;
|
| + if (property === "") continue;
|
| + var element = descriptor[property];
|
| + var firstChar = property.substring(0, 1);
|
| + var previousProperty;
|
| + if (firstChar === "+") {
|
| + mangledGlobalNames[previousProperty] = property.substring(1);
|
| + if (descriptor[property] == 1) descriptor[previousProperty].$reflectable = 1;
|
| + if (element && element.length) init.interfaces[previousProperty] = element;
|
| + } else if (firstChar === "@") {
|
| + property = property.substring(1);
|
| + $[property]["@"] = element;
|
| + } else if (firstChar === "*") {
|
| + globalObject[previousProperty].$defaultValues = element;
|
| + var optionalMethods = descriptor.$methodsWithOptionalArguments;
|
| + if (!optionalMethods) {
|
| + descriptor.$methodsWithOptionalArguments = optionalMethods = {}
|
| + }
|
| + optionalMethods[property] = previousProperty;
|
| + } else if (typeof element === "function") {
|
| + globalObject[previousProperty = property] = element;
|
| + functions.push(property);
|
| + init.globalFunctions[property] = element;
|
| + } else {
|
| + previousProperty = property;
|
| + var newDesc = {};
|
| + var previousProp;
|
| + for (var prop in element) {
|
| + if (!hasOwnProperty.call(element, prop)) continue;
|
| + firstChar = prop.substring(0, 1);
|
| + if (prop === "static") {
|
| + processStatics(init.statics[property] = element[prop]);
|
| + } else if (firstChar === "+") {
|
| + mangledNames[previousProp] = prop.substring(1);
|
| + if (element[prop] == 1) element[previousProp].$reflectable = 1;
|
| + } else if (firstChar === "@" && prop !== "@") {
|
| + newDesc[prop.substring(1)]["@"] = element[prop];
|
| + } else if (firstChar === "*") {
|
| + newDesc[previousProp].$defaultValues = element[prop];
|
| + var optionalMethods = newDesc.$methodsWithOptionalArguments;
|
| + if (!optionalMethods) {
|
| + newDesc.$methodsWithOptionalArguments = optionalMethods={}
|
| + }
|
| + optionalMethods[prop] = previousProp;
|
| + } else {
|
| + newDesc[previousProp = prop] = element[prop];
|
| + }
|
| + }
|
| + $$[property] = [globalObject, newDesc];
|
| + classes.push(property);
|
| + }
|
| + }
|
| + }
|
| + processStatics(descriptor);
|
| + libraries.push([name, uri, classes, functions, metadata, fields, isRoot,
|
| + globalObject]);
|
| + }
|
| +})([
|
| +["_foreign_helper", "dart:_foreign_helper", , H, {
|
| +JS_CONST: {"": "Object;code"}}],
|
| +["_interceptors", "dart:_interceptors", , J, {
|
| +getInterceptor: function(object) {
|
| + return void 0;
|
| +},
|
| +
|
| +makeDispatchRecord: function(interceptor, proto, extension, indexability) {
|
| + return {i: interceptor, p: proto, e: extension, x: indexability};
|
| +},
|
| +
|
| +getNativeInterceptor: function(object) {
|
| + var record, proto, objectProto;
|
| + record = object[init.dispatchPropertyName];
|
| + if (record != null) {
|
| + proto = record.p;
|
| + if (false === proto)
|
| + return record.i;
|
| + if (true === proto)
|
| + return object;
|
| + objectProto = Object.getPrototypeOf(object);
|
| + if (proto === objectProto)
|
| + return record.i;
|
| + if (record.e === objectProto)
|
| + return proto(object, record);
|
| + }
|
| + record = H.lookupDispatchRecord(object);
|
| + if (record == null)
|
| + return C.C_UnknownJavaScriptObject;
|
| + Object.defineProperty(Object.getPrototypeOf(object), init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
|
| + return J.getNativeInterceptor(object);
|
| +},
|
| +
|
| +Interceptor: {"": "Object;",
|
| + $eq: function(receiver, other) {
|
| + return receiver === other;
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + return H.Primitives_objectHashCode(receiver);
|
| + },
|
| + toString$0: function(receiver) {
|
| + return H.Primitives_objectToString(receiver);
|
| + }
|
| +},
|
| +
|
| +JSBool: {"": "bool/Interceptor;",
|
| + toString$0: function(receiver) {
|
| + return String(receiver);
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + return receiver ? 519018 : 218159;
|
| + },
|
| + $isbool: true
|
| +},
|
| +
|
| +JSNull: {"": "Interceptor;",
|
| + $eq: function(receiver, other) {
|
| + return null == other;
|
| + },
|
| + toString$0: function(receiver) {
|
| + return "null";
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + return 0;
|
| + }
|
| +},
|
| +
|
| +JavaScriptObject: {"": "Interceptor;",
|
| + get$hashCode: function(_) {
|
| + return 0;
|
| + }
|
| +},
|
| +
|
| +PlainJavaScriptObject: {"": "JavaScriptObject;"},
|
| +
|
| +UnknownJavaScriptObject: {"": "JavaScriptObject;"},
|
| +
|
| +JSArray: {"": "List/Interceptor;",
|
| + forEach$1: function(receiver, f) {
|
| + return H.IterableMixinWorkaround_forEach(receiver, f);
|
| + },
|
| + map$1: function(receiver, f) {
|
| + var t1 = new H.MappedListIterable(receiver, f);
|
| + H.setRuntimeTypeInfo(t1, [null, null]);
|
| + return t1;
|
| + },
|
| + elementAt$1: function(receiver, index) {
|
| + if (index < 0 || index >= receiver.length)
|
| + throw H.ioore(receiver, index);
|
| + return receiver[index];
|
| + },
|
| + toString$0: function(receiver) {
|
| + return H.IterableMixinWorkaround_toStringIterable(receiver, "[", "]");
|
| + },
|
| + get$iterator: function(receiver) {
|
| + return new H.ListIterator(receiver, receiver.length, 0, null);
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + return H.Primitives_objectHashCode(receiver);
|
| + },
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + set$length: function(receiver, newLength) {
|
| + if (newLength < 0)
|
| + throw H.wrapException(new P.RangeError("value " + newLength));
|
| + if (!!receiver.fixed$length)
|
| + H.throwExpression(new P.UnsupportedError("set length"));
|
| + receiver.length = newLength;
|
| + },
|
| + $index: function(receiver, index) {
|
| + if (typeof index !== "number" || Math.floor(index) !== index)
|
| + throw H.wrapException(new P.ArgumentError(index));
|
| + if (index >= receiver.length || index < 0)
|
| + throw H.wrapException(new P.RangeError("value " + H.S(index)));
|
| + return receiver[index];
|
| + },
|
| + $indexSet: function(receiver, index, value) {
|
| + if (!!receiver.immutable$list)
|
| + H.throwExpression(new P.UnsupportedError("indexed set"));
|
| + if (typeof index !== "number" || Math.floor(index) !== index)
|
| + throw H.wrapException(new P.ArgumentError(index));
|
| + if (index >= receiver.length || index < 0)
|
| + throw H.wrapException(new P.RangeError("value " + H.S(index)));
|
| + receiver[index] = value;
|
| + },
|
| + $isList: true,
|
| + $asList: null,
|
| + $isList: true
|
| +},
|
| +
|
| +JSMutableArray: {"": "JSArray;", $isJSMutableArray: true,
|
| + $asJSArray: function() {
|
| + return [null];
|
| + },
|
| + $asList: function() {
|
| + return [null];
|
| + }
|
| +},
|
| +
|
| +JSFixedArray: {"": "JSMutableArray;"},
|
| +
|
| +JSExtendableArray: {"": "JSMutableArray;", $isJSExtendableArray: true},
|
| +
|
| +JSNumber: {"": "num/Interceptor;",
|
| + remainder$1: function(receiver, b) {
|
| + return receiver % b;
|
| + },
|
| + toInt$0: function(receiver) {
|
| + var truncated;
|
| + if (isNaN(receiver))
|
| + throw H.wrapException(new P.UnsupportedError("NaN"));
|
| + if (receiver == Infinity || receiver == -Infinity)
|
| + throw H.wrapException(new P.UnsupportedError("Infinity"));
|
| + truncated = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver);
|
| + return truncated == -0.0 ? 0 : truncated;
|
| + },
|
| + toString$0: function(receiver) {
|
| + if (receiver === 0 && 1 / receiver < 0)
|
| + return "-0.0";
|
| + else
|
| + return "" + receiver;
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + return receiver & 0x1FFFFFFF;
|
| + },
|
| + $tdiv: function(receiver, other) {
|
| + return this.toInt$0(receiver / other);
|
| + },
|
| + $shr: function(receiver, other) {
|
| + if (other < 0)
|
| + throw H.wrapException(new P.ArgumentError(other));
|
| + if (receiver > 0) {
|
| + if (other > 31)
|
| + return 0;
|
| + return receiver >>> other;
|
| + }
|
| + if (other > 31)
|
| + other = 31;
|
| + return receiver >> other >>> 0;
|
| + },
|
| + $lt: function(receiver, other) {
|
| + if (typeof other !== "number")
|
| + throw H.wrapException(new P.ArgumentError(other));
|
| + return receiver < other;
|
| + },
|
| + $gt: function(receiver, other) {
|
| + if (typeof other !== "number")
|
| + throw H.wrapException(new P.ArgumentError(other));
|
| + return receiver > other;
|
| + },
|
| + $ge: function(receiver, other) {
|
| + if (typeof other !== "number")
|
| + throw H.wrapException(new P.ArgumentError(other));
|
| + return receiver >= other;
|
| + },
|
| + $isnum: true
|
| +},
|
| +
|
| +JSInt: {"": "int/JSNumber;", $isdouble: true, $isnum: true, $isint: true},
|
| +
|
| +JSDouble: {"": "double/JSNumber;", $isdouble: true, $isnum: true},
|
| +
|
| +JSString: {"": "String/Interceptor;",
|
| + codeUnitAt$1: function(receiver, index) {
|
| + if (index < 0)
|
| + throw H.wrapException(new P.RangeError("value " + H.S(index)));
|
| + if (index >= receiver.length)
|
| + throw H.wrapException(new P.RangeError("value " + H.S(index)));
|
| + return receiver.charCodeAt(index);
|
| + },
|
| + substring$2: function(receiver, startIndex, endIndex) {
|
| + if (endIndex == null)
|
| + endIndex = receiver.length;
|
| + if (typeof endIndex !== "number")
|
| + H.throwExpression(new P.ArgumentError(endIndex));
|
| + if (startIndex < 0)
|
| + throw H.wrapException(new P.RangeError("value " + startIndex));
|
| + if (typeof endIndex !== "number")
|
| + throw H.iae(endIndex);
|
| + if (startIndex > endIndex)
|
| + throw H.wrapException(new P.RangeError("value " + startIndex));
|
| + if (endIndex > receiver.length)
|
| + throw H.wrapException(new P.RangeError("value " + H.S(endIndex)));
|
| + return receiver.substring(startIndex, endIndex);
|
| + },
|
| + substring$1: function($receiver, startIndex) {
|
| + return this.substring$2($receiver, startIndex, null);
|
| + },
|
| + get$isEmpty: function(receiver) {
|
| + return receiver.length === 0;
|
| + },
|
| + toString$0: function(receiver) {
|
| + return receiver;
|
| + },
|
| + get$hashCode: function(receiver) {
|
| + var t1, hash, i;
|
| + for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {
|
| + hash = 536870911 & hash + receiver.charCodeAt(i);
|
| + hash = 536870911 & hash + ((524287 & hash) << 10 >>> 0);
|
| + hash ^= hash >> 6;
|
| + }
|
| + hash = 536870911 & hash + ((67108863 & hash) << 3 >>> 0);
|
| + hash ^= hash >> 11;
|
| + return 536870911 & hash + ((16383 & hash) << 15 >>> 0);
|
| + },
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + $index: function(receiver, index) {
|
| + if (typeof index !== "number" || Math.floor(index) !== index)
|
| + throw H.wrapException(new P.ArgumentError(index));
|
| + if (index >= receiver.length || index < 0)
|
| + throw H.wrapException(new P.RangeError("value " + H.S(index)));
|
| + return receiver[index];
|
| + },
|
| + $isString: true
|
| +}}],
|
| +["_isolate_helper", "dart:_isolate_helper", , H, {
|
| +_callInIsolate: function(isolate, $function) {
|
| + var result = isolate.eval$1($function);
|
| + $globalState.topEventLoop.run$0();
|
| + return result;
|
| +},
|
| +
|
| +startRootIsolate: function(entry) {
|
| + var rootContext;
|
| + $globalState = H._Manager$(entry);
|
| + if ($globalState.isWorker === true)
|
| + return;
|
| + rootContext = H._IsolateContext$();
|
| + $globalState.rootContext = rootContext;
|
| + $globalState.currentContext = rootContext;
|
| + rootContext.eval$1(entry);
|
| + $globalState.topEventLoop.run$0();
|
| +},
|
| +
|
| +IsolateNatives_computeThisScript: function() {
|
| + var currentScript = init.currentScript;
|
| + if (currentScript != null)
|
| + return String(currentScript.src);
|
| + if (typeof version == "function" && typeof os == "object" && "system" in os)
|
| + return H.IsolateNatives_computeThisScriptD8();
|
| + if (typeof version == "function" && typeof system == "function")
|
| + return thisFilename();
|
| + return;
|
| +},
|
| +
|
| +IsolateNatives_computeThisScriptD8: function() {
|
| + var stack, matches;
|
| + stack = new Error().stack;
|
| + if (stack == null) {
|
| + stack = (function() {try { throw new Error() } catch(e) { return e.stack }})();
|
| + if (stack == null)
|
| + throw H.wrapException(new P.UnsupportedError("No stack trace"));
|
| + }
|
| + matches = stack.match(new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "m"));
|
| + if (matches != null)
|
| + return matches[1];
|
| + matches = stack.match(new RegExp("^[^@]*@(.*):[0-9]*$", "m"));
|
| + if (matches != null)
|
| + return matches[1];
|
| + throw H.wrapException(new P.UnsupportedError("Cannot extract URI from \"" + stack + "\""));
|
| +},
|
| +
|
| +IsolateNatives__processWorkerMessage: function(sender, e) {
|
| + var msg, t1, functionName, entryPoint, replyTo, context, t2;
|
| + msg = H._deserializeMessage(e.data);
|
| + t1 = J.getInterceptor$asx(msg);
|
| + switch (t1.$index(msg, "command")) {
|
| + case "start":
|
| + $globalState.currentManagerId = t1.$index(msg, "id");
|
| + functionName = t1.$index(msg, "functionName");
|
| + entryPoint = functionName == null ? $globalState.entry : init.globalFunctions[functionName];
|
| + replyTo = H._deserializeMessage(t1.$index(msg, "replyTo"));
|
| + context = H._IsolateContext$();
|
| + $globalState.topEventLoop.events._add$1(new H._IsolateEvent(context, new H.IsolateNatives__processWorkerMessage_closure(entryPoint, replyTo), "worker-start"));
|
| + $globalState.currentContext = context;
|
| + $globalState.topEventLoop.run$0();
|
| + break;
|
| + case "spawn-worker":
|
| + H.IsolateNatives__spawnWorker(t1.$index(msg, "functionName"), t1.$index(msg, "uri"), t1.$index(msg, "replyPort"));
|
| + break;
|
| + case "message":
|
| + if (t1.$index(msg, "port") != null)
|
| + J.send$2$x(t1.$index(msg, "port"), t1.$index(msg, "msg"), t1.$index(msg, "replyTo"));
|
| + $globalState.topEventLoop.run$0();
|
| + break;
|
| + case "close":
|
| + t1 = $globalState.managers;
|
| + t2 = $.get$IsolateNatives_workerIds();
|
| + t1.remove$1(t1, t2.$index(t2, sender));
|
| + sender.terminate();
|
| + $globalState.topEventLoop.run$0();
|
| + break;
|
| + case "log":
|
| + H.IsolateNatives__log(t1.$index(msg, "msg"));
|
| + break;
|
| + case "print":
|
| + if ($globalState.isWorker === true) {
|
| + t1 = $globalState.mainManager;
|
| + t2 = H._serializeMessage(H.fillLiteralMap(["command", "print", "msg", msg], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
|
| + t1.postMessage$1;
|
| + self.postMessage(t2);
|
| + } else
|
| + H.Primitives_printString(J.toString$0(t1.$index(msg, "msg")));
|
| + break;
|
| + case "error":
|
| + throw H.wrapException(t1.$index(msg, "msg"));
|
| + default:
|
| + }
|
| +},
|
| +
|
| +IsolateNatives__log: function(msg) {
|
| + var trace, t1, t2, exception;
|
| + if ($globalState.isWorker === true) {
|
| + t1 = $globalState.mainManager;
|
| + t2 = H._serializeMessage(H.fillLiteralMap(["command", "log", "msg", msg], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
|
| + t1.postMessage$1;
|
| + self.postMessage(t2);
|
| + } else
|
| + try {
|
| + $.get$globalThis().console.log(msg);
|
| + } catch (exception) {
|
| + H.unwrapException(exception);
|
| + trace = new H._StackTrace(exception, null);
|
| + throw H.wrapException(new P._ExceptionImplementation(trace));
|
| + }
|
| +
|
| +},
|
| +
|
| +IsolateNatives__startIsolate: function(topLevel, replyTo) {
|
| + var t1;
|
| + H.Primitives_initializeStatics($globalState.currentContext.id);
|
| + $.lazyPort = H.ReceivePortImpl$();
|
| + t1 = P._Isolate_port();
|
| + t1.toSendPort$0;
|
| + J.send$2$x(replyTo, "spawned", new H._NativeJsSendPort(t1, $globalState.currentContext.id));
|
| + topLevel.call$0();
|
| +},
|
| +
|
| +IsolateNatives__spawnWorker: function(functionName, uri, replyPort) {
|
| + var worker, t1, workerId;
|
| + if (uri == null)
|
| + uri = $.get$IsolateNatives_thisScript();
|
| + worker = new Worker(uri);
|
| + worker.onmessage = function(e) { H.IsolateNatives__processWorkerMessage$closure.call$2(worker, e); };
|
| + t1 = $globalState;
|
| + workerId = t1.nextManagerId;
|
| + t1.nextManagerId = workerId + 1;
|
| + t1 = $.get$IsolateNatives_workerIds();
|
| + t1.$indexSet(t1, worker, workerId);
|
| + t1 = $globalState.managers;
|
| + t1.$indexSet(t1, workerId, worker);
|
| + worker.postMessage(H._serializeMessage(H.fillLiteralMap(["command", "start", "id", workerId, "replyTo", H._serializeMessage(replyPort), "functionName", functionName], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null))));
|
| +},
|
| +
|
| +_waitForPendingPorts: function(message, callback) {
|
| + var finder = H._PendingSendPortFinder$();
|
| + finder.traverse$1(message);
|
| + P.Future_wait(finder.ports).then$1(new H._waitForPendingPorts_closure(callback));
|
| +},
|
| +
|
| +_serializeMessage: function(message) {
|
| + var t1;
|
| + if ($globalState.supportsWorkers === true) {
|
| + t1 = new H._JsSerializer(0, new H._MessageTraverserVisitedMap());
|
| + t1._visited = new H._JsVisitedMap(null);
|
| + return t1.traverse$1(message);
|
| + } else {
|
| + t1 = new H._JsCopier(new H._MessageTraverserVisitedMap());
|
| + t1._visited = new H._JsVisitedMap(null);
|
| + return t1.traverse$1(message);
|
| + }
|
| +},
|
| +
|
| +_deserializeMessage: function(message) {
|
| + if ($globalState.supportsWorkers === true)
|
| + return new H._JsDeserializer(null).deserialize$1(message);
|
| + else
|
| + return message;
|
| +},
|
| +
|
| +_MessageTraverser_isPrimitive: function(x) {
|
| + return x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean";
|
| +},
|
| +
|
| +_Deserializer_isPrimitive: function(x) {
|
| + return x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean";
|
| +},
|
| +
|
| +CloseToken: {"": "Object;", $isCloseToken: true},
|
| +
|
| +JsIsolateSink: {"": "EventSink;_isClosed,_port<",
|
| + $eq: function(_, other) {
|
| + var t1;
|
| + if (other == null)
|
| + return false;
|
| + t1 = J.getInterceptor(other);
|
| + return typeof other === "object" && other !== null && !!t1.$isIsolateSink && J.$eq(this._port, other.get$_port());
|
| + },
|
| + get$hashCode: function(_) {
|
| + return J.get$hashCode$(this._port) + 499;
|
| + },
|
| + $isJsIsolateSink: true,
|
| + $isIsolateSink: true
|
| +},
|
| +
|
| +_Manager: {"": "Object;nextIsolateId,currentManagerId,nextManagerId,currentContext,rootContext,topEventLoop,fromCommandLine,isWorker,supportsWorkers,isolates,mainManager,managers,entry",
|
| + _nativeDetectEnvironment$0: function() {
|
| + var t1, t2;
|
| + t1 = $.get$globalWindow() == null;
|
| + t2 = $.get$globalWorker();
|
| + this.isWorker = t1 && $.get$globalPostMessageDefined() === true;
|
| + if (this.isWorker !== true)
|
| + t2 = t2 != null && $.get$IsolateNatives_thisScript() != null;
|
| + else
|
| + t2 = true;
|
| + this.supportsWorkers = t2;
|
| + this.fromCommandLine = t1 && this.isWorker !== true;
|
| + },
|
| + _nativeInitWorkerMessageHandler$0: function() {
|
| + var $function = function (e) { H.IsolateNatives__processWorkerMessage$closure.call$2(this.mainManager, e); };
|
| + $.get$globalThis().onmessage = $function;
|
| + $.get$globalThis().dartPrint = function (object) {};
|
| + },
|
| + _Manager$1: function(entry) {
|
| + this._nativeDetectEnvironment$0();
|
| + this.topEventLoop = new H._EventLoop(P.ListQueue$(null, H._IsolateEvent), 0);
|
| + this.isolates = P.LinkedHashMap_LinkedHashMap(null, null, null, J.JSInt, H._IsolateContext);
|
| + this.managers = P.LinkedHashMap_LinkedHashMap(null, null, null, J.JSInt, null);
|
| + if (this.isWorker === true) {
|
| + this.mainManager = new H._MainManagerStub();
|
| + this._nativeInitWorkerMessageHandler$0();
|
| + }
|
| + },
|
| + static: {
|
| +_Manager$: function(entry) {
|
| + var t1 = new H._Manager(0, 0, 1, null, null, null, null, null, null, null, null, null, entry);
|
| + t1._Manager$1(entry);
|
| + return t1;
|
| +}}
|
| +
|
| +},
|
| +
|
| +_IsolateContext: {"": "Object;id,ports,isolateStatics<",
|
| + eval$1: function(code) {
|
| + var old, result;
|
| + old = $globalState.currentContext;
|
| + $globalState.currentContext = this;
|
| + $ = this.isolateStatics;
|
| + result = null;
|
| + try {
|
| + result = code.call$0();
|
| + } finally {
|
| + $globalState.currentContext = old;
|
| + if (old != null)
|
| + $ = old.get$isolateStatics();
|
| + }
|
| + return result;
|
| + },
|
| + lookup$1: function(portId) {
|
| + var t1 = this.ports;
|
| + return t1.$index(t1, portId);
|
| + },
|
| + register$2: function(_, portId, port) {
|
| + var t1;
|
| + if (this.ports.containsKey$1(portId))
|
| + throw H.wrapException(new P._ExceptionImplementation("Registry: ports must be registered only once."));
|
| + t1 = this.ports;
|
| + t1.$indexSet(t1, portId, port);
|
| + t1 = $globalState.isolates;
|
| + t1.$indexSet(t1, this.id, this);
|
| + },
|
| + unregister$1: function(portId) {
|
| + var t1 = this.ports;
|
| + t1.remove$1(t1, portId);
|
| + if (this.ports._liblib0$_length === 0) {
|
| + t1 = $globalState.isolates;
|
| + t1.remove$1(t1, this.id);
|
| + }
|
| + },
|
| + _IsolateContext$0: function() {
|
| + var t1, t2;
|
| + t1 = $globalState;
|
| + t2 = t1.nextIsolateId;
|
| + t1.nextIsolateId = t2 + 1;
|
| + this.id = t2;
|
| + this.ports = P.LinkedHashMap_LinkedHashMap(null, null, null, J.JSInt, P.ReceivePort);
|
| + this.isolateStatics = new Isolate();
|
| + },
|
| + $is_IsolateContext: true,
|
| + static: {
|
| +_IsolateContext$: function() {
|
| + var t1 = new H._IsolateContext(null, null, null);
|
| + t1._IsolateContext$0();
|
| + return t1;
|
| +}}
|
| +
|
| +},
|
| +
|
| +_EventLoop: {"": "Object;events,activeTimerCount",
|
| + dequeue$0: function() {
|
| + var t1 = this.events;
|
| + if (t1._head === t1._tail)
|
| + return;
|
| + return t1.removeFirst$0();
|
| + },
|
| + checkOpenReceivePortsFromCommandLine$0: function() {
|
| + if ($globalState.rootContext != null && $globalState.isolates.containsKey$1($globalState.rootContext.id) && $globalState.fromCommandLine === true && $globalState.rootContext.ports._liblib0$_length === 0)
|
| + throw H.wrapException(new P._ExceptionImplementation("Program exited with open ReceivePorts."));
|
| + },
|
| + runIteration$0: function() {
|
| + var $event, t1, t2;
|
| + $event = this.dequeue$0();
|
| + if ($event == null) {
|
| + this.checkOpenReceivePortsFromCommandLine$0();
|
| + t1 = $globalState;
|
| + if (t1.isWorker === true && t1.isolates._liblib0$_length === 0 && t1.topEventLoop.activeTimerCount === 0) {
|
| + t1 = t1.mainManager;
|
| + t2 = H._serializeMessage(H.fillLiteralMap(["command", "close"], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
|
| + t1.postMessage$1;
|
| + self.postMessage(t2);
|
| + }
|
| + return false;
|
| + }
|
| + $event.process$0();
|
| + return true;
|
| + },
|
| + _runHelper$0: function() {
|
| + if ($.get$globalWindow() != null)
|
| + new H._EventLoop__runHelper_next(this).call$0();
|
| + else
|
| + for (; this.runIteration$0();)
|
| + ;
|
| + },
|
| + run$0: function() {
|
| + var e, trace, exception, t1, t2;
|
| + if ($globalState.isWorker !== true)
|
| + this._runHelper$0();
|
| + else
|
| + try {
|
| + this._runHelper$0();
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + trace = new H._StackTrace(exception, null);
|
| + t1 = $globalState.mainManager;
|
| + t2 = H._serializeMessage(H.fillLiteralMap(["command", "error", "msg", H.S(e) + "\n" + H.S(trace)], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
|
| + t1.postMessage$1;
|
| + self.postMessage(t2);
|
| + }
|
| +
|
| + }
|
| +},
|
| +
|
| +_EventLoop__runHelper_next: {"": "Closure;this_0",
|
| + call$0: function() {
|
| + if (!this.this_0.runIteration$0())
|
| + return;
|
| + P.Timer_Timer(C.Duration_0, this);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_IsolateEvent: {"": "Object;isolate,fn,message",
|
| + process$0: function() {
|
| + this.isolate.eval$1(this.fn);
|
| + },
|
| + $is_IsolateEvent: true
|
| +},
|
| +
|
| +_MainManagerStub: {"": "Object;"},
|
| +
|
| +IsolateNatives__processWorkerMessage_closure: {"": "Closure;entryPoint_0,replyTo_1",
|
| + call$0: function() {
|
| + H.IsolateNatives__startIsolate(this.entryPoint_0, this.replyTo_1);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_BaseSendPort: {"": "Object;",
|
| + _checkReplyTo$1: function(replyTo) {
|
| + var t1;
|
| + if (replyTo != null) {
|
| + t1 = J.getInterceptor(replyTo);
|
| + t1 = (typeof replyTo !== "object" || replyTo === null || !t1.$is_NativeJsSendPort) && (typeof replyTo !== "object" || replyTo === null || !t1.$is_WorkerSendPort) && true;
|
| + } else
|
| + t1 = false;
|
| + if (t1)
|
| + throw H.wrapException(new P._ExceptionImplementation("SendPort.send: Illegal replyTo port type"));
|
| + },
|
| + call$1: function(message) {
|
| + var t1, completer, port;
|
| + t1 = null;
|
| + completer = new P._AsyncCompleter(P._Future$(t1));
|
| + H.setRuntimeTypeInfo(completer, [t1]);
|
| + port = H.ReceivePortImpl$();
|
| + this.send$2(this, message, new H._NativeJsSendPort(port, $globalState.currentContext.id));
|
| + port._callback = new H._BaseSendPort_call_closure(completer, port);
|
| + return completer.future;
|
| + },
|
| + $isSendPort: true
|
| +},
|
| +
|
| +_BaseSendPort_call_closure: {"": "Closure;completer_0,port_1",
|
| + call$2: function(value, ignoreReplyTo) {
|
| + var t1, t2;
|
| + t1 = this.port_1;
|
| + t1._callback = null;
|
| + $globalState.currentContext.unregister$1(t1._id);
|
| + t1 = J.getInterceptor(value);
|
| + t2 = this.completer_0;
|
| + if (typeof value === "object" && value !== null && !!t1.$isException) {
|
| + t1 = t2.future;
|
| + if (t1._state !== 0)
|
| + H.throwExpression(new P.StateError("Future already completed"));
|
| + t1._asyncCompleteError$2(value, null);
|
| + } else {
|
| + t1 = t2.future;
|
| + if (t1._state !== 0)
|
| + H.throwExpression(new P.StateError("Future already completed"));
|
| + t1._asyncComplete$1(value);
|
| + }
|
| + }
|
| +},
|
| +
|
| +_NativeJsSendPort: {"": "_BaseSendPort;_receivePort,_isolateId",
|
| + send$2: function(_, message, replyTo) {
|
| + H._waitForPendingPorts([message, replyTo], new H._NativeJsSendPort_send_closure(this, message, replyTo));
|
| + },
|
| + $eq: function(_, other) {
|
| + var t1;
|
| + if (other == null)
|
| + return false;
|
| + t1 = J.getInterceptor(other);
|
| + return typeof other === "object" && other !== null && !!t1.$is_NativeJsSendPort && J.$eq(this._receivePort, other._receivePort);
|
| + },
|
| + get$hashCode: function(_) {
|
| + return this._receivePort.get$_id();
|
| + },
|
| + $is_NativeJsSendPort: true,
|
| + $isSendPort: true
|
| +},
|
| +
|
| +_NativeJsSendPort_send_closure: {"": "Closure;this_1,message_2,replyTo_3",
|
| + call$0: function() {
|
| + var t1, t2, t3, t4, t5, isolate, shouldSerialize, msg;
|
| + t1 = {};
|
| + t2 = this.this_1;
|
| + t3 = this.replyTo_3;
|
| + t2._checkReplyTo$1(t3);
|
| + t4 = $globalState.isolates;
|
| + t5 = t2._isolateId;
|
| + isolate = t4.$index(t4, t5);
|
| + if (isolate == null)
|
| + return;
|
| + if (t2._receivePort.get$_callback() == null)
|
| + return;
|
| + shouldSerialize = $globalState.currentContext != null && $globalState.currentContext.id !== t5;
|
| + msg = this.message_2;
|
| + t1.msg_0 = msg;
|
| + t1.reply_1 = t3;
|
| + if (shouldSerialize) {
|
| + t1.msg_0 = H._serializeMessage(t1.msg_0);
|
| + t1.reply_1 = H._serializeMessage(t1.reply_1);
|
| + }
|
| + t3 = $globalState.topEventLoop;
|
| + t4 = "receive " + H.S(msg);
|
| + t3.events._add$1(new H._IsolateEvent(isolate, new H._NativeJsSendPort_send__closure(t1, t2, shouldSerialize), t4));
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_NativeJsSendPort_send__closure: {"": "Closure;box_0,this_4,shouldSerialize_5",
|
| + call$0: function() {
|
| + var t1, t2;
|
| + t1 = this.this_4._receivePort;
|
| + if (t1.get$_callback() != null) {
|
| + if (this.shouldSerialize_5) {
|
| + t2 = this.box_0;
|
| + t2.msg_0 = H._deserializeMessage(t2.msg_0);
|
| + t2.reply_1 = H._deserializeMessage(t2.reply_1);
|
| + }
|
| + t2 = this.box_0;
|
| + t1._callback$2(t2.msg_0, t2.reply_1);
|
| + }
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_WorkerSendPort: {"": "_BaseSendPort;_workerId,_receivePortId,_isolateId",
|
| + send$2: function(_, message, replyTo) {
|
| + H._waitForPendingPorts([message, replyTo], new H._WorkerSendPort_send_closure(this, message, replyTo));
|
| + },
|
| + $eq: function(_, other) {
|
| + var t1;
|
| + if (other == null)
|
| + return false;
|
| + t1 = J.getInterceptor(other);
|
| + if (typeof other === "object" && other !== null && !!t1.$is_WorkerSendPort)
|
| + t1 = J.$eq(this._workerId, other._workerId) && J.$eq(this._isolateId, other._isolateId) && J.$eq(this._receivePortId, other._receivePortId);
|
| + else
|
| + t1 = false;
|
| + return t1;
|
| + },
|
| + get$hashCode: function(_) {
|
| + var t1, t2, t3;
|
| + t1 = this._workerId;
|
| + if (typeof t1 !== "number")
|
| + throw t1.$shl();
|
| + t2 = this._isolateId;
|
| + if (typeof t2 !== "number")
|
| + throw t2.$shl();
|
| + t3 = this._receivePortId;
|
| + if (typeof t3 !== "number")
|
| + throw H.iae(t3);
|
| + return (t1 << 16 ^ t2 << 8 ^ t3) >>> 0;
|
| + },
|
| + $is_WorkerSendPort: true,
|
| + $isSendPort: true
|
| +},
|
| +
|
| +_WorkerSendPort_send_closure: {"": "Closure;this_0,message_1,replyTo_2",
|
| + call$0: function() {
|
| + var t1, t2, workerMessage, manager;
|
| + t1 = this.this_0;
|
| + t2 = this.replyTo_2;
|
| + t1._checkReplyTo$1(t2);
|
| + workerMessage = H._serializeMessage(H.fillLiteralMap(["command", "message", "port", t1, "msg", this.message_1, "replyTo", t2], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
|
| + if ($globalState.isWorker === true) {
|
| + $globalState.mainManager.postMessage$1;
|
| + self.postMessage(workerMessage);
|
| + } else {
|
| + t2 = $globalState.managers;
|
| + manager = t2.$index(t2, t1._workerId);
|
| + if (manager != null)
|
| + manager.postMessage(workerMessage);
|
| + }
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +ReceivePortImpl: {"": "Object;_id<,_callback<",
|
| + _callback$2: function(arg0, arg1) {
|
| + return this._callback.call$2(arg0, arg1);
|
| + },
|
| + ReceivePortImpl$0: function() {
|
| + var t1 = $globalState.currentContext;
|
| + t1.register$2(t1, this._id, this);
|
| + },
|
| + $isReceivePort: true,
|
| + static: {
|
| +"": "ReceivePortImpl__nextFreeId",
|
| +ReceivePortImpl$: function() {
|
| + var t1 = $.ReceivePortImpl__nextFreeId;
|
| + $.ReceivePortImpl__nextFreeId = t1 + 1;
|
| + t1 = new H.ReceivePortImpl(t1, null);
|
| + t1.ReceivePortImpl$0();
|
| + return t1;
|
| +}}
|
| +
|
| +},
|
| +
|
| +_waitForPendingPorts_closure: {"": "Closure;callback_0",
|
| + call$1: function(_) {
|
| + return this.callback_0.call$0();
|
| + }
|
| +},
|
| +
|
| +_PendingSendPortFinder: {"": "_MessageTraverser;ports,_visited",
|
| + visitPrimitive$1: function(x) {
|
| + },
|
| + visitList$1: function(list) {
|
| + var t1 = this._visited;
|
| + if (t1.$index(t1, list) != null)
|
| + return;
|
| + t1 = this._visited;
|
| + t1.$indexSet(t1, list, true);
|
| + J.forEach$1$ax(list, new H._PendingSendPortFinder_visitList_closure(this));
|
| + },
|
| + visitMap$1: function(map) {
|
| + var t1 = this._visited;
|
| + if (t1.$index(t1, map) != null)
|
| + return;
|
| + t1 = this._visited;
|
| + t1.$indexSet(t1, map, true);
|
| + t1 = map.get$values(map);
|
| + t1.forEach$1(t1, new H._PendingSendPortFinder_visitMap_closure(this));
|
| + },
|
| + visitSendPort$1: function(port) {
|
| + },
|
| + visitIsolateSink$1: function(sink) {
|
| + this.visitSendPort$1(sink._port);
|
| + },
|
| + visitCloseToken$1: function(token) {
|
| + },
|
| + _PendingSendPortFinder$0: function() {
|
| + this._visited = new H._JsVisitedMap(null);
|
| + },
|
| + static: {
|
| +_PendingSendPortFinder$: function() {
|
| + var t1 = new H._PendingSendPortFinder([], new H._MessageTraverserVisitedMap());
|
| + t1._PendingSendPortFinder$0();
|
| + return t1;
|
| +}}
|
| +
|
| +},
|
| +
|
| +_PendingSendPortFinder_visitList_closure: {"": "Closure;this_0",
|
| + call$1: function(e) {
|
| + return this.this_0._dispatch$1(e);
|
| + }
|
| +},
|
| +
|
| +_PendingSendPortFinder_visitMap_closure: {"": "Closure;this_0",
|
| + call$1: function(e) {
|
| + return this.this_0._dispatch$1(e);
|
| + }
|
| +},
|
| +
|
| +_JsSerializer: {"": "_Serializer;_nextFreeRefId,_visited",
|
| + visitSendPort$1: function(x) {
|
| + var t1 = J.getInterceptor(x);
|
| + if (typeof x === "object" && x !== null && !!t1.$is_NativeJsSendPort)
|
| + return ["sendport", $globalState.currentManagerId, x._isolateId, x._receivePort.get$_id()];
|
| + if (typeof x === "object" && x !== null && !!t1.$is_WorkerSendPort)
|
| + return ["sendport", x._workerId, x._isolateId, x._receivePortId];
|
| + throw H.wrapException("Illegal underlying port " + H.S(x));
|
| + },
|
| + visitIsolateSink$1: function(sink) {
|
| + var isClosed = sink._isClosed;
|
| + return ["isolateSink", this.visitSendPort$1(sink._port), isClosed];
|
| + },
|
| + visitCloseToken$1: function(token) {
|
| + return ["closeToken"];
|
| + }
|
| +},
|
| +
|
| +_JsCopier: {"": "_Copier;_visited",
|
| + visitSendPort$1: function(x) {
|
| + var t1 = J.getInterceptor(x);
|
| + if (typeof x === "object" && x !== null && !!t1.$is_NativeJsSendPort)
|
| + return new H._NativeJsSendPort(x._receivePort, x._isolateId);
|
| + if (typeof x === "object" && x !== null && !!t1.$is_WorkerSendPort)
|
| + return new H._WorkerSendPort(x._workerId, x._receivePortId, x._isolateId);
|
| + throw H.wrapException("Illegal underlying port " + H.S(x));
|
| + },
|
| + visitIsolateSink$1: function(sink) {
|
| + var result = new H.JsIsolateSink(false, this.visitSendPort$1(sink._port));
|
| + result._isClosed = sink._isClosed;
|
| + return result;
|
| + },
|
| + visitCloseToken$1: function(token) {
|
| + return token;
|
| + }
|
| +},
|
| +
|
| +_JsDeserializer: {"": "_Deserializer;_deserialized",
|
| + deserializeSendPort$1: function(list) {
|
| + var t1, managerId, isolateId, receivePortId, isolate, receivePort;
|
| + t1 = J.getInterceptor$asx(list);
|
| + managerId = t1.$index(list, 1);
|
| + isolateId = t1.$index(list, 2);
|
| + receivePortId = t1.$index(list, 3);
|
| + if (J.$eq(managerId, $globalState.currentManagerId)) {
|
| + t1 = $globalState.isolates;
|
| + isolate = t1.$index(t1, isolateId);
|
| + if (isolate == null)
|
| + return;
|
| + receivePort = isolate.lookup$1(receivePortId);
|
| + if (receivePort == null)
|
| + return;
|
| + return new H._NativeJsSendPort(receivePort, isolateId);
|
| + } else
|
| + return new H._WorkerSendPort(managerId, receivePortId, isolateId);
|
| + },
|
| + deserializeIsolateSink$1: function(list) {
|
| + var t1, port, result;
|
| + t1 = J.getInterceptor$asx(list);
|
| + port = this.deserializeSendPort$1(t1.$index(list, 1));
|
| + result = new H.JsIsolateSink(false, port);
|
| + result._isClosed = t1.$index(list, 2);
|
| + return result;
|
| + },
|
| + deserializeCloseToken$1: function(list) {
|
| + return C.C_CloseToken;
|
| + }
|
| +},
|
| +
|
| +_JsVisitedMap: {"": "Object;tagged",
|
| + $index: function(_, object) {
|
| + return object.__MessageTraverser__attached_info__;
|
| + },
|
| + $indexSet: function(_, object, info) {
|
| + this.tagged.push(object);
|
| + object.__MessageTraverser__attached_info__ = info;
|
| + },
|
| + reset$0: function(_) {
|
| + this.tagged = P.List_List(null, null);
|
| + },
|
| + cleanup$0: function() {
|
| + var $length, i, t1;
|
| + for ($length = this.tagged.length, i = 0; i < $length; ++i) {
|
| + t1 = this.tagged;
|
| + if (i >= t1.length)
|
| + throw H.ioore(t1, i);
|
| + t1[i].__MessageTraverser__attached_info__ = null;
|
| + }
|
| + this.tagged = null;
|
| + }
|
| +},
|
| +
|
| +_MessageTraverserVisitedMap: {"": "Object;",
|
| + $index: function(_, object) {
|
| + return;
|
| + },
|
| + $indexSet: function(_, object, info) {
|
| + },
|
| + reset$0: function(_) {
|
| + },
|
| + cleanup$0: function() {
|
| + }
|
| +},
|
| +
|
| +_MessageTraverser: {"": "Object;",
|
| + traverse$1: function(x) {
|
| + var result, t1;
|
| + if (H._MessageTraverser_isPrimitive(x))
|
| + return this.visitPrimitive$1(x);
|
| + t1 = this._visited;
|
| + t1.reset$0(t1);
|
| + result = null;
|
| + try {
|
| + result = this._dispatch$1(x);
|
| + } finally {
|
| + this._visited.cleanup$0();
|
| + }
|
| + return result;
|
| + },
|
| + _dispatch$1: function(x) {
|
| + var t1;
|
| + if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean")
|
| + return this.visitPrimitive$1(x);
|
| + t1 = J.getInterceptor(x);
|
| + if (typeof x === "object" && x !== null && (x.constructor === Array || !!t1.$isList))
|
| + return this.visitList$1(x);
|
| + if (typeof x === "object" && x !== null && !!t1.$isMap)
|
| + return this.visitMap$1(x);
|
| + if (typeof x === "object" && x !== null && !!t1.$isSendPort)
|
| + return this.visitSendPort$1(x);
|
| + if (typeof x === "object" && x !== null && !!t1.$isJsIsolateSink)
|
| + return this.visitIsolateSink$1(x);
|
| + if (typeof x === "object" && x !== null && !!t1.$isCloseToken)
|
| + return this.visitCloseToken$1(x);
|
| + return this.visitObject$1(x);
|
| + },
|
| + visitObject$1: function(x) {
|
| + throw H.wrapException("Message serialization: Illegal value " + H.S(x) + " passed");
|
| + }
|
| +},
|
| +
|
| +_Copier: {"": "_MessageTraverser;",
|
| + visitPrimitive$1: function(x) {
|
| + return x;
|
| + },
|
| + visitList$1: function(list) {
|
| + var t1, copy, len, i, t2;
|
| + if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !H.isJsIndexable(list, list[init.dispatchPropertyName])))
|
| + return this.visitList$1$bailout1(1, list);
|
| + t1 = this._visited;
|
| + copy = t1.$index(t1, list);
|
| + if (copy != null)
|
| + return copy;
|
| + len = list.length;
|
| + copy = P.List_List(len, null);
|
| + t1 = this._visited;
|
| + t1.$indexSet(t1, list, copy);
|
| + for (t1 = copy.length, i = 0; i < len; ++i) {
|
| + if (i >= list.length)
|
| + throw H.ioore(list, i);
|
| + t2 = this._dispatch$1(list[i]);
|
| + if (i >= t1)
|
| + throw H.ioore(copy, i);
|
| + copy[i] = t2;
|
| + }
|
| + return copy;
|
| + },
|
| + visitList$1$bailout1: function(state0, list) {
|
| + var t1, copy, len, t2, i, t3;
|
| + t1 = this._visited;
|
| + copy = t1.$index(t1, list);
|
| + if (copy != null)
|
| + return copy;
|
| + t1 = J.getInterceptor$asx(list);
|
| + len = t1.get$length(list);
|
| + copy = P.List_List(len, null);
|
| + t2 = this._visited;
|
| + t2.$indexSet(t2, list, copy);
|
| + for (t2 = copy.length, i = 0; i < len; ++i) {
|
| + t3 = this._dispatch$1(t1.$index(list, i));
|
| + if (i >= t2)
|
| + throw H.ioore(copy, i);
|
| + copy[i] = t3;
|
| + }
|
| + return copy;
|
| + },
|
| + visitMap$1: function(map) {
|
| + var t1, t2;
|
| + t1 = {};
|
| + t2 = this._visited;
|
| + t1.copy_0 = t2.$index(t2, map);
|
| + t2 = t1.copy_0;
|
| + if (t2 != null)
|
| + return t2;
|
| + t1.copy_0 = P.LinkedHashMap_LinkedHashMap(null, null, null, null, null);
|
| + t2 = this._visited;
|
| + t2.$indexSet(t2, map, t1.copy_0);
|
| + map.forEach$1(map, new H._Copier_visitMap_closure(t1, this));
|
| + return t1.copy_0;
|
| + }
|
| +},
|
| +
|
| +_Copier_visitMap_closure: {"": "Closure;box_0,this_1",
|
| + call$2: function(key, val) {
|
| + var t1 = this.this_1;
|
| + J.$indexSet$ax(this.box_0.copy_0, t1._dispatch$1(key), t1._dispatch$1(val));
|
| + }
|
| +},
|
| +
|
| +_Serializer: {"": "_MessageTraverser;",
|
| + visitPrimitive$1: function(x) {
|
| + return x;
|
| + },
|
| + visitList$1: function(list) {
|
| + var t1, copyId, id;
|
| + t1 = this._visited;
|
| + copyId = t1.$index(t1, list);
|
| + if (copyId != null)
|
| + return ["ref", copyId];
|
| + id = this._nextFreeRefId;
|
| + this._nextFreeRefId = id + 1;
|
| + t1 = this._visited;
|
| + t1.$indexSet(t1, list, id);
|
| + return ["list", id, this._serializeList$1(list)];
|
| + },
|
| + visitMap$1: function(map) {
|
| + var t1, copyId, id, keys;
|
| + t1 = this._visited;
|
| + copyId = t1.$index(t1, map);
|
| + if (copyId != null)
|
| + return ["ref", copyId];
|
| + id = this._nextFreeRefId;
|
| + this._nextFreeRefId = id + 1;
|
| + t1 = this._visited;
|
| + t1.$indexSet(t1, map, id);
|
| + t1 = map.get$keys();
|
| + keys = this._serializeList$1(P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "IterableBase", 0)));
|
| + t1 = map.get$values(map);
|
| + return ["map", id, keys, this._serializeList$1(t1.toList$0(t1))];
|
| + },
|
| + _serializeList$1: function(list) {
|
| + var len, result, t1, i, t2;
|
| + if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !H.isJsIndexable(list, list[init.dispatchPropertyName])))
|
| + return this._serializeList$1$bailout(1, list);
|
| + len = list.length;
|
| + result = P.List_List(len, null);
|
| + for (t1 = result.length, i = 0; i < len; ++i) {
|
| + if (i >= list.length)
|
| + throw H.ioore(list, i);
|
| + t2 = this._dispatch$1(list[i]);
|
| + if (i >= t1)
|
| + throw H.ioore(result, i);
|
| + result[i] = t2;
|
| + }
|
| + return result;
|
| + },
|
| + _serializeList$1$bailout: function(state0, list) {
|
| + var t1, len, result, t2, i, t3;
|
| + t1 = J.getInterceptor$asx(list);
|
| + len = t1.get$length(list);
|
| + result = P.List_List(len, null);
|
| + for (t2 = result.length, i = 0; i < len; ++i) {
|
| + t3 = this._dispatch$1(t1.$index(list, i));
|
| + if (i >= t2)
|
| + throw H.ioore(result, i);
|
| + result[i] = t3;
|
| + }
|
| + return result;
|
| + }
|
| +},
|
| +
|
| +_Deserializer: {"": "Object;",
|
| + deserialize$1: function(x) {
|
| + if (H._Deserializer_isPrimitive(x))
|
| + return x;
|
| + this._deserialized = P.HashMap_HashMap(null, null, null, null, null);
|
| + return this._deserializeHelper$1(x);
|
| + },
|
| + _deserializeHelper$1: function(x) {
|
| + var t1, id;
|
| + if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean")
|
| + return x;
|
| + t1 = J.getInterceptor$asx(x);
|
| + switch (t1.$index(x, 0)) {
|
| + case "ref":
|
| + id = t1.$index(x, 1);
|
| + t1 = this._deserialized;
|
| + return t1.$index(t1, id);
|
| + case "list":
|
| + return this._deserializeList$1(x);
|
| + case "map":
|
| + return this._deserializeMap$1(x);
|
| + case "sendport":
|
| + return this.deserializeSendPort$1(x);
|
| + case "isolateSink":
|
| + return this.deserializeIsolateSink$1(x);
|
| + case "closeToken":
|
| + return this.deserializeCloseToken$1(x);
|
| + default:
|
| + return this.deserializeObject$1(x);
|
| + }
|
| + },
|
| + _deserializeList$1: function(x) {
|
| + var t1, id, dartList, len, i;
|
| + t1 = J.getInterceptor$asx(x);
|
| + id = t1.$index(x, 1);
|
| + dartList = t1.$index(x, 2);
|
| + if (typeof dartList !== "object" || dartList === null || (dartList.constructor !== Array || !!dartList.immutable$list) && !H.isJsIndexable(dartList, dartList[init.dispatchPropertyName]))
|
| + return this._deserializeList$1$bailout(1, dartList, id);
|
| + t1 = this._deserialized;
|
| + t1.$indexSet(t1, id, dartList);
|
| + len = dartList.length;
|
| + for (i = 0; i < len; ++i) {
|
| + if (i >= dartList.length)
|
| + throw H.ioore(dartList, i);
|
| + t1 = this._deserializeHelper$1(dartList[i]);
|
| + if (i >= dartList.length)
|
| + throw H.ioore(dartList, i);
|
| + dartList[i] = t1;
|
| + }
|
| + return dartList;
|
| + },
|
| + _deserializeList$1$bailout: function(state0, dartList, id) {
|
| + var t1, len, i;
|
| + t1 = this._deserialized;
|
| + t1.$indexSet(t1, id, dartList);
|
| + t1 = J.getInterceptor$asx(dartList);
|
| + len = t1.get$length(dartList);
|
| + if (typeof len !== "number")
|
| + throw H.iae(len);
|
| + i = 0;
|
| + for (; i < len; ++i)
|
| + t1.$indexSet(dartList, i, this._deserializeHelper$1(t1.$index(dartList, i)));
|
| + return dartList;
|
| + },
|
| + _deserializeMap$1: function(x) {
|
| + var result, t1, id, t2, keys, values, len, i, key;
|
| + result = P.LinkedHashMap_LinkedHashMap(null, null, null, null, null);
|
| + t1 = J.getInterceptor$asx(x);
|
| + id = t1.$index(x, 1);
|
| + t2 = this._deserialized;
|
| + t2.$indexSet(t2, id, result);
|
| + keys = t1.$index(x, 2);
|
| + if (typeof keys !== "string" && (typeof keys !== "object" || keys === null || keys.constructor !== Array && !H.isJsIndexable(keys, keys[init.dispatchPropertyName])))
|
| + return this._deserializeMap$1$bailout(1, result, keys, t1, x);
|
| + values = t1.$index(x, 3);
|
| + if (typeof values !== "string" && (typeof values !== "object" || values === null || values.constructor !== Array && !H.isJsIndexable(values, values[init.dispatchPropertyName])))
|
| + return this._deserializeMap$1$bailout(2, result, keys, 0, 0, values);
|
| + len = keys.length;
|
| + for (i = 0; i < len; ++i) {
|
| + if (i >= keys.length)
|
| + throw H.ioore(keys, i);
|
| + key = this._deserializeHelper$1(keys[i]);
|
| + if (i >= values.length)
|
| + throw H.ioore(values, i);
|
| + result.$indexSet(result, key, this._deserializeHelper$1(values[i]));
|
| + }
|
| + return result;
|
| + },
|
| + _deserializeMap$1$bailout: function(state0, result, keys, t1, x, values) {
|
| + switch (state0) {
|
| + case 0:
|
| + result = P.LinkedHashMap_LinkedHashMap(null, null, null, null, null);
|
| + t1 = J.getInterceptor$asx(x);
|
| + id = t1.$index(x, 1);
|
| + t2 = this._deserialized;
|
| + t2.$indexSet(t2, id, result);
|
| + keys = t1.$index(x, 2);
|
| + case 1:
|
| + state0 = 0;
|
| + values = t1.$index(x, 3);
|
| + case 2:
|
| + var id, t2, len, i;
|
| + state0 = 0;
|
| + t1 = J.getInterceptor$asx(keys);
|
| + len = t1.get$length(keys);
|
| + if (typeof len !== "number")
|
| + throw H.iae(len);
|
| + t2 = J.getInterceptor$asx(values);
|
| + i = 0;
|
| + for (; i < len; ++i)
|
| + result.$indexSet(result, this._deserializeHelper$1(t1.$index(keys, i)), this._deserializeHelper$1(t2.$index(values, i)));
|
| + return result;
|
| + }
|
| + },
|
| + deserializeObject$1: function(x) {
|
| + throw H.wrapException("Unexpected serialized object");
|
| + }
|
| +},
|
| +
|
| +TimerImpl: {"": "Object;_once,_inEventLoop,_handle",
|
| + TimerImpl$2: function(milliseconds, callback) {
|
| + var t1, t2;
|
| + if (milliseconds === 0)
|
| + t1 = $.get$globalThis().setTimeout == null || $globalState.isWorker === true;
|
| + else
|
| + t1 = false;
|
| + if (t1) {
|
| + this._handle = 1;
|
| + t1 = $globalState.topEventLoop;
|
| + t2 = $globalState.currentContext;
|
| + t1.events._add$1(new H._IsolateEvent(t2, new H.TimerImpl_internalCallback(this, callback), "timer"));
|
| + this._inEventLoop = true;
|
| + } else if ($.get$globalThis().setTimeout != null) {
|
| + t1 = $globalState.topEventLoop;
|
| + t1.activeTimerCount = t1.activeTimerCount + 1;
|
| + this._handle = $.get$globalThis().setTimeout(H.convertDartClosureToJS(new H.TimerImpl_internalCallback0(this, callback), 0), milliseconds);
|
| + } else
|
| + throw H.wrapException(new P.UnsupportedError("Timer greater than 0."));
|
| + },
|
| + TimerImpl$periodic$2: function(milliseconds, callback) {
|
| + var t1;
|
| + if ($.get$globalThis().setTimeout != null) {
|
| + t1 = $globalState.topEventLoop;
|
| + t1.activeTimerCount = t1.activeTimerCount + 1;
|
| + this._handle = $.get$globalThis().setInterval(H.convertDartClosureToJS(new H.TimerImpl$periodic_closure(this, callback), 0), milliseconds);
|
| + } else
|
| + throw H.wrapException(new P.UnsupportedError("Periodic timer."));
|
| + },
|
| + static: {
|
| +TimerImpl$: function(milliseconds, callback) {
|
| + var t1 = new H.TimerImpl(true, false, null);
|
| + t1.TimerImpl$2(milliseconds, callback);
|
| + return t1;
|
| +},
|
| +
|
| +TimerImpl$periodic: function(milliseconds, callback) {
|
| + var t1 = new H.TimerImpl(false, false, null);
|
| + t1.TimerImpl$periodic$2(milliseconds, callback);
|
| + return t1;
|
| +}}
|
| +
|
| +},
|
| +
|
| +TimerImpl_internalCallback: {"": "Closure;this_0,callback_1",
|
| + call$0: function() {
|
| + this.this_0._handle = null;
|
| + this.callback_1.call$0();
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +TimerImpl_internalCallback0: {"": "Closure;this_2,callback_3",
|
| + call$0: function() {
|
| + this.this_2._handle = null;
|
| + var t1 = $globalState.topEventLoop;
|
| + t1.activeTimerCount = t1.activeTimerCount - 1;
|
| + this.callback_3.call$0();
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +TimerImpl$periodic_closure: {"": "Closure;this_0,callback_1",
|
| + call$0: function() {
|
| + this.callback_1.call$1(this.this_0);
|
| + },
|
| + $is_void_: true
|
| +}}],
|
| +["_js_helper", "dart:_js_helper", , H, {
|
| +isJsIndexable: function(object, record) {
|
| + var result, t1;
|
| + if (record != null) {
|
| + result = record.x;
|
| + if (result != null)
|
| + return result;
|
| + }
|
| + t1 = J.getInterceptor(object);
|
| + return typeof object === "object" && object !== null && !!t1.$isJavaScriptIndexingBehavior;
|
| +},
|
| +
|
| +S: function(value) {
|
| + var res;
|
| + if (typeof value === "string")
|
| + return value;
|
| + if (typeof value === "number") {
|
| + if (value !== 0)
|
| + return "" + value;
|
| + } else if (true === value)
|
| + return "true";
|
| + else if (false === value)
|
| + return "false";
|
| + else if (value == null)
|
| + return "null";
|
| + res = J.toString$0(value);
|
| + if (typeof res !== "string")
|
| + throw H.wrapException(new P.ArgumentError(value));
|
| + return res;
|
| +},
|
| +
|
| +Primitives_initializeStatics: function(id) {
|
| + $.Primitives_mirrorFunctionCacheName = $.Primitives_mirrorFunctionCacheName + ("_" + H.S(id));
|
| + $.Primitives_mirrorInvokeCacheName = $.Primitives_mirrorInvokeCacheName + ("_" + H.S(id));
|
| +},
|
| +
|
| +Primitives_objectHashCode: function(object) {
|
| + var hash = object.$identityHash;
|
| + if (hash == null) {
|
| + hash = Math.random() * 0x3fffffff | 0;
|
| + object.$identityHash = hash;
|
| + }
|
| + return hash;
|
| +},
|
| +
|
| +Primitives_printString: function(string) {
|
| + if (typeof dartPrint == "function") {
|
| + dartPrint(string);
|
| + return;
|
| + }
|
| + if (typeof console == "object" && typeof console.log == "function") {
|
| + console.log(string);
|
| + return;
|
| + }
|
| + if (typeof window == "object")
|
| + return;
|
| + if (typeof print == "function") {
|
| + print(string);
|
| + return;
|
| + }
|
| + throw "Unable to print message: " + String(string);
|
| +},
|
| +
|
| +Primitives_objectTypeName: function(object) {
|
| + var $name, decompiled, t1;
|
| + $name = H.constructorNameFallback(J.getInterceptor(object));
|
| + if (J.$eq($name, "Object")) {
|
| + decompiled = String(object.constructor).match(/^\s*function\s*(\S*)\s*\(/)[1];
|
| + if (typeof decompiled === "string")
|
| + $name = decompiled;
|
| + }
|
| + t1 = J.getInterceptor$s($name);
|
| + if (t1.codeUnitAt$1($name, 0) === 36)
|
| + $name = t1.substring$1($name, 1);
|
| + t1 = H.getRuntimeTypeInfo(object);
|
| + return H.S($name) + H.joinArguments(t1, 0);
|
| +},
|
| +
|
| +Primitives_objectToString: function(object) {
|
| + return "Instance of '" + H.Primitives_objectTypeName(object) + "'";
|
| +},
|
| +
|
| +Primitives_newFixedList: function($length) {
|
| + var result = new Array($length);
|
| + result.fixed$length = true;
|
| + return result;
|
| +},
|
| +
|
| +Primitives__fromCharCodeApply: function(array) {
|
| + var end, t1, result, i, subarray, t2;
|
| + end = array.length;
|
| + for (t1 = end <= 500, result = "", i = 0; i < end; i += 500) {
|
| + if (t1)
|
| + subarray = array;
|
| + else {
|
| + t2 = i + 500;
|
| + t2 = t2 < end ? t2 : end;
|
| + subarray = array.slice(i, t2);
|
| + }
|
| + result += String.fromCharCode.apply(null, subarray);
|
| + }
|
| + return result;
|
| +},
|
| +
|
| +Primitives_stringFromCodePoints: function(codePoints) {
|
| + var a, t1, i;
|
| + a = [];
|
| + for (t1 = new H.ListIterator(codePoints, codePoints.length, 0, null); t1.moveNext$0();) {
|
| + i = t1._current;
|
| + if (typeof i !== "number" || Math.floor(i) !== i)
|
| + throw H.wrapException(new P.ArgumentError(i));
|
| + if (i <= 65535)
|
| + a.push(i);
|
| + else if (i <= 1114111) {
|
| + a.push(55296 + (C.JSNumber_methods.$shr(i - 65536, 10) & 1023));
|
| + a.push(56320 + (i & 1023));
|
| + } else
|
| + throw H.wrapException(new P.ArgumentError(i));
|
| + }
|
| + return H.Primitives__fromCharCodeApply(a);
|
| +},
|
| +
|
| +Primitives_stringFromCharCodes: function(charCodes) {
|
| + var t1, i;
|
| + for (t1 = new H.ListIterator(charCodes, charCodes.length, 0, null); t1.moveNext$0();) {
|
| + i = t1._current;
|
| + if (typeof i !== "number" || Math.floor(i) !== i)
|
| + throw H.wrapException(new P.ArgumentError(i));
|
| + if (i < 0)
|
| + throw H.wrapException(new P.ArgumentError(i));
|
| + if (i > 65535)
|
| + return H.Primitives_stringFromCodePoints(charCodes);
|
| + }
|
| + return H.Primitives__fromCharCodeApply(charCodes);
|
| +},
|
| +
|
| +Primitives_getProperty: function(object, key) {
|
| + if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string")
|
| + throw H.wrapException(new P.ArgumentError(object));
|
| + return object[key];
|
| +},
|
| +
|
| +Primitives_setProperty: function(object, key, value) {
|
| + if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string")
|
| + throw H.wrapException(new P.ArgumentError(object));
|
| + object[key] = value;
|
| +},
|
| +
|
| +iae: function(argument) {
|
| + throw H.wrapException(new P.ArgumentError(argument));
|
| +},
|
| +
|
| +ioore: function(receiver, index) {
|
| + if (receiver == null)
|
| + J.get$length$asx(receiver);
|
| + if (typeof index !== "number" || Math.floor(index) !== index)
|
| + H.iae(index);
|
| + throw H.wrapException(new P.RangeError("value " + H.S(index)));
|
| +},
|
| +
|
| +wrapException: function(ex) {
|
| + var wrapper;
|
| + if (ex == null)
|
| + ex = new P.NullThrownError();
|
| + wrapper = new Error();
|
| + wrapper.dartException = ex;
|
| + if ("defineProperty" in Object) {
|
| + Object.defineProperty(wrapper, "message", { get: H.toStringWrapper$closure.call$0 });
|
| + wrapper.name = "";
|
| + } else
|
| + wrapper.toString = H.toStringWrapper$closure.call$0;
|
| + return wrapper;
|
| +},
|
| +
|
| +toStringWrapper: function() {
|
| + return J.toString$0(this.dartException);
|
| +},
|
| +
|
| +throwExpression: function(ex) {
|
| + throw H.wrapException(ex);
|
| +},
|
| +
|
| +unwrapException: function(ex) {
|
| + var t1, message, number, ieErrorCode, t2, t3, t4, nullLiteralCall, t5, t6, t7, t8, t9, match;
|
| + t1 = new H.unwrapException_saveStackTrace(ex);
|
| + if (ex == null)
|
| + return;
|
| + if (typeof ex !== "object")
|
| + return ex;
|
| + if ("dartException" in ex)
|
| + return t1.call$1(ex.dartException);
|
| + else if (!("message" in ex))
|
| + return ex;
|
| + message = ex.message;
|
| + if ("number" in ex && typeof ex.number == "number") {
|
| + number = ex.number;
|
| + ieErrorCode = number & 65535;
|
| + if ((C.JSInt_methods.$shr(number, 16) & 8191) === 10)
|
| + switch (ieErrorCode) {
|
| + case 438:
|
| + return t1.call$1(H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", null));
|
| + case 445:
|
| + case 5007:
|
| + t2 = H.S(message) + " (Error " + ieErrorCode + ")";
|
| + return t1.call$1(new H.NullError(t2, null));
|
| + default:
|
| + }
|
| + }
|
| + if (ex instanceof TypeError) {
|
| + t2 = $.get$TypeErrorDecoder_noSuchMethodPattern();
|
| + t3 = $.get$TypeErrorDecoder_notClosurePattern();
|
| + t4 = $.get$TypeErrorDecoder_nullCallPattern();
|
| + nullLiteralCall = $.get$TypeErrorDecoder_nullLiteralCallPattern();
|
| + t5 = $.get$TypeErrorDecoder_undefinedCallPattern();
|
| + t6 = $.get$TypeErrorDecoder_undefinedLiteralCallPattern();
|
| + t7 = $.get$TypeErrorDecoder_nullPropertyPattern();
|
| + $.get$TypeErrorDecoder_nullLiteralPropertyPattern();
|
| + t8 = $.get$TypeErrorDecoder_undefinedPropertyPattern();
|
| + t9 = $.get$TypeErrorDecoder_undefinedLiteralPropertyPattern();
|
| + match = t2.matchTypeError$1(message);
|
| + if (match != null)
|
| + return t1.call$1(H.JsNoSuchMethodError$(message, match));
|
| + else {
|
| + match = t3.matchTypeError$1(message);
|
| + if (match != null) {
|
| + match.method = "call";
|
| + return t1.call$1(H.JsNoSuchMethodError$(message, match));
|
| + } else {
|
| + match = t4.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = nullLiteralCall.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t5.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t6.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t7.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = nullLiteralCall.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t8.matchTypeError$1(message);
|
| + if (match == null) {
|
| + match = t9.matchTypeError$1(message);
|
| + t2 = match != null;
|
| + } else
|
| + t2 = true;
|
| + } else
|
| + t2 = true;
|
| + } else
|
| + t2 = true;
|
| + } else
|
| + t2 = true;
|
| + } else
|
| + t2 = true;
|
| + } else
|
| + t2 = true;
|
| + } else
|
| + t2 = true;
|
| + if (t2) {
|
| + t2 = match == null ? null : match.method;
|
| + return t1.call$1(new H.NullError(message, t2));
|
| + }
|
| + }
|
| + }
|
| + t2 = typeof message === "string" ? message : "";
|
| + return t1.call$1(new H.UnknownJsTypeError(t2));
|
| + }
|
| + if (ex instanceof RangeError) {
|
| + if (typeof message === "string" && message.indexOf("call stack") !== -1)
|
| + return new P.StackOverflowError();
|
| + return t1.call$1(new P.ArgumentError(null));
|
| + }
|
| + if (typeof InternalError == "function" && ex instanceof InternalError)
|
| + if (typeof message === "string" && message === "too much recursion")
|
| + return new P.StackOverflowError();
|
| + return ex;
|
| +},
|
| +
|
| +objectHashCode: function(object) {
|
| + if (object == null || typeof object != 'object')
|
| + return J.get$hashCode$(object);
|
| + else
|
| + return H.Primitives_objectHashCode(object);
|
| +},
|
| +
|
| +fillLiteralMap: function(keyValuePairs, result) {
|
| + var $length, index, index0, index1;
|
| + $length = keyValuePairs.length;
|
| + for (index = 0; index < $length; index = index1) {
|
| + index0 = index + 1;
|
| + index1 = index0 + 1;
|
| + result.$indexSet(result, keyValuePairs[index], keyValuePairs[index0]);
|
| + }
|
| + return result;
|
| +},
|
| +
|
| +invokeClosure: function(closure, isolate, numberOfArguments, arg1, arg2) {
|
| + var t1 = J.getInterceptor(numberOfArguments);
|
| + if (t1.$eq(numberOfArguments, 0))
|
| + return H._callInIsolate(isolate, new H.invokeClosure_closure(closure));
|
| + else if (t1.$eq(numberOfArguments, 1))
|
| + return H._callInIsolate(isolate, new H.invokeClosure_closure0(closure, arg1));
|
| + else if (t1.$eq(numberOfArguments, 2))
|
| + return H._callInIsolate(isolate, new H.invokeClosure_closure1(closure, arg1, arg2));
|
| + else
|
| + throw H.wrapException(new P._ExceptionImplementation("Unsupported number of arguments for wrapped closure"));
|
| +},
|
| +
|
| +convertDartClosureToJS: function(closure, arity) {
|
| + var $function;
|
| + if (closure == null)
|
| + return;
|
| + $function = closure.$identity;
|
| + if (!!$function)
|
| + return $function;
|
| + $function = (function ($2, $3) { return function($0, $1) { return $3(closure, $2, arity, $0, $1) }})($globalState.currentContext, H.invokeClosure$closure.call$5);
|
| + closure.$identity = $function;
|
| + return $function;
|
| +},
|
| +
|
| +throwCyclicInit: function(staticName) {
|
| + throw H.wrapException(new P.CyclicInitializationError("Cyclic initialization for static " + H.S(staticName)));
|
| +},
|
| +
|
| +setRuntimeTypeInfo: function(target, typeInfo) {
|
| + if (target != null)
|
| + target.$builtinTypeInfo = typeInfo;
|
| + return target;
|
| +},
|
| +
|
| +getRuntimeTypeInfo: function(target) {
|
| + if (target == null)
|
| + return;
|
| + return target.$builtinTypeInfo;
|
| +},
|
| +
|
| +getRuntimeTypeArguments: function(target, substitutionName) {
|
| + return H.substitute(target["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target));
|
| +},
|
| +
|
| +getRuntimeTypeArgument: function(target, substitutionName, index) {
|
| + var $arguments = H.getRuntimeTypeArguments(target, substitutionName);
|
| + return $arguments == null ? null : $arguments[index];
|
| +},
|
| +
|
| +runtimeTypeToString: function(type) {
|
| + if (type == null)
|
| + return "dynamic";
|
| + else if (typeof type === "object" && type !== null && type.constructor === Array)
|
| + return type[0].builtin$cls + H.joinArguments(type, 1);
|
| + else if (typeof type == "function")
|
| + return type.builtin$cls;
|
| + else
|
| + return;
|
| +},
|
| +
|
| +joinArguments: function(types, startIndex) {
|
| + var buffer, index, firstArgument, allDynamic, argument, str;
|
| + if (types == null)
|
| + return "";
|
| + buffer = P.StringBuffer$("");
|
| + for (index = startIndex, firstArgument = true, allDynamic = true; index < types.length; ++index) {
|
| + if (firstArgument)
|
| + firstArgument = false;
|
| + else
|
| + buffer._contents = buffer._contents + ", ";
|
| + argument = types[index];
|
| + if (argument != null)
|
| + allDynamic = false;
|
| + str = H.runtimeTypeToString(argument);
|
| + str = typeof str === "string" ? str : str;
|
| + buffer._contents = buffer._contents + str;
|
| + }
|
| + return allDynamic ? "" : "<" + H.S(buffer) + ">";
|
| +},
|
| +
|
| +substitute: function(substitution, $arguments) {
|
| + if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array)
|
| + $arguments = substitution;
|
| + else if (typeof substitution == "function") {
|
| + substitution = H.invokeOn(substitution, null, $arguments);
|
| + if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array)
|
| + $arguments = substitution;
|
| + else if (typeof substitution == "function")
|
| + $arguments = H.invokeOn(substitution, null, $arguments);
|
| + }
|
| + return $arguments;
|
| +},
|
| +
|
| +areSubtypes: function(s, t) {
|
| + var len, i;
|
| + if (s == null || t == null)
|
| + return true;
|
| + len = s.length;
|
| + for (i = 0; i < len; ++i)
|
| + if (!H.isSubtype(s[i], t[i]))
|
| + return false;
|
| + return true;
|
| +},
|
| +
|
| +isSupertypeOfNull: function(type) {
|
| + return type == null || type.builtin$cls === "Object" || type.builtin$cls === "Null";
|
| +},
|
| +
|
| +checkSubtypeOfRuntimeType: function(o, t) {
|
| + var rti, type;
|
| + if (o == null)
|
| + return H.isSupertypeOfNull(t);
|
| + if (t == null)
|
| + return true;
|
| + rti = H.getRuntimeTypeInfo(o);
|
| + o = J.getInterceptor(o);
|
| + if (rti != null) {
|
| + type = rti.slice();
|
| + type.splice(0, 0, o);
|
| + } else
|
| + type = o;
|
| + return H.isSubtype(type, t);
|
| +},
|
| +
|
| +isSubtype: function(s, t) {
|
| + var targetSignatureFunction, t1, typeOfS, t2, typeOfT, substitution;
|
| + if (s === t)
|
| + return true;
|
| + if (s == null || t == null)
|
| + return true;
|
| + if ("func" in t) {
|
| + if (!("func" in s)) {
|
| + if ("$is_" + H.S(t.func) in s)
|
| + return true;
|
| + targetSignatureFunction = s.$signature;
|
| + if (targetSignatureFunction == null)
|
| + return false;
|
| + s = targetSignatureFunction.apply(s, null);
|
| + }
|
| + return H.isFunctionSubtype(s, t);
|
| + }
|
| + if (t.builtin$cls === "Function" && "func" in s)
|
| + return true;
|
| + t1 = typeof s === "object" && s !== null && s.constructor === Array;
|
| + typeOfS = t1 ? s[0] : s;
|
| + t2 = typeof t === "object" && t !== null && t.constructor === Array;
|
| + typeOfT = t2 ? t[0] : t;
|
| + if (!("$is" + H.runtimeTypeToString(typeOfT) in typeOfS))
|
| + return false;
|
| + substitution = typeOfT !== typeOfS ? typeOfS["$as" + H.runtimeTypeToString(typeOfT)] : null;
|
| + if (!t1 && substitution == null || !t2)
|
| + return true;
|
| + t1 = t1 ? s.slice(1) : null;
|
| + t2 = t2 ? t.slice(1) : null;
|
| + return H.areSubtypes(H.substitute(substitution, t1), t2);
|
| +},
|
| +
|
| +isAssignable: function(s, t) {
|
| + return H.isSubtype(s, t) || H.isSubtype(t, s);
|
| +},
|
| +
|
| +areAssignable: function(s, t, allowShorter) {
|
| + var sLength, tLength, i, t1, t2;
|
| + if (t == null && s == null)
|
| + return true;
|
| + if (t == null)
|
| + return allowShorter;
|
| + if (s == null)
|
| + return false;
|
| + sLength = s.length;
|
| + tLength = t.length;
|
| + if (allowShorter) {
|
| + if (sLength < tLength)
|
| + return false;
|
| + } else if (sLength !== tLength)
|
| + return false;
|
| + for (i = 0; i < tLength; ++i) {
|
| + t1 = s[i];
|
| + t2 = t[i];
|
| + if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
|
| + return false;
|
| + }
|
| + return true;
|
| +},
|
| +
|
| +areAssignableMaps: function(s, t) {
|
| + if (t == null)
|
| + return true;
|
| + if (s == null)
|
| + return false;
|
| + return function (t, s, isAssignable) {
|
| + for (var $name in t) {
|
| + if (!s.hasOwnProperty($name)) {
|
| + return false;
|
| + }
|
| + var tType = t[$name];
|
| + var sType = s[$name];
|
| + if (!isAssignable.call$2(sType, tType)) {
|
| + return false;
|
| + }
|
| + }
|
| + return true;
|
| + }(t, s, H.isAssignable$closure)
|
| + ;
|
| +},
|
| +
|
| +isFunctionSubtype: function(s, t) {
|
| + var sReturnType, tReturnType, sParameterTypes, tParameterTypes, sOptionalParameterTypes, tOptionalParameterTypes, sParametersLen, tParametersLen, sOptionalParametersLen, tOptionalParametersLen, pos, t1, t2, tPos, sPos;
|
| + if (!("func" in s))
|
| + return false;
|
| + if ("void" in s) {
|
| + if (!("void" in t) && "ret" in t)
|
| + return false;
|
| + } else if (!("void" in t)) {
|
| + sReturnType = s.ret;
|
| + tReturnType = t.ret;
|
| + if (!(H.isSubtype(sReturnType, tReturnType) || H.isSubtype(tReturnType, sReturnType)))
|
| + return false;
|
| + }
|
| + sParameterTypes = s.args;
|
| + tParameterTypes = t.args;
|
| + sOptionalParameterTypes = s.opt;
|
| + tOptionalParameterTypes = t.opt;
|
| + sParametersLen = sParameterTypes != null ? sParameterTypes.length : 0;
|
| + tParametersLen = tParameterTypes != null ? tParameterTypes.length : 0;
|
| + sOptionalParametersLen = sOptionalParameterTypes != null ? sOptionalParameterTypes.length : 0;
|
| + tOptionalParametersLen = tOptionalParameterTypes != null ? tOptionalParameterTypes.length : 0;
|
| + if (sParametersLen > tParametersLen)
|
| + return false;
|
| + if (sParametersLen + sOptionalParametersLen < tParametersLen + tOptionalParametersLen)
|
| + return false;
|
| + if (sParametersLen === tParametersLen) {
|
| + if (!H.areAssignable(sParameterTypes, tParameterTypes, false))
|
| + return false;
|
| + if (!H.areAssignable(sOptionalParameterTypes, tOptionalParameterTypes, true))
|
| + return false;
|
| + } else {
|
| + for (pos = 0; pos < sParametersLen; ++pos) {
|
| + t1 = sParameterTypes[pos];
|
| + t2 = tParameterTypes[pos];
|
| + if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
|
| + return false;
|
| + }
|
| + for (tPos = pos, sPos = 0; tPos < tParametersLen; ++sPos, ++tPos) {
|
| + t1 = sOptionalParameterTypes[sPos];
|
| + t2 = tParameterTypes[tPos];
|
| + if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
|
| + return false;
|
| + }
|
| + for (sPos = 0; tPos < tOptionalParametersLen; ++sPos, ++tPos) {
|
| + t1 = tOptionalParameterTypes[sPos];
|
| + t2 = tOptionalParameterTypes[tPos];
|
| + if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
|
| + return false;
|
| + }
|
| + }
|
| + return H.areAssignableMaps(s.named, t.named);
|
| +},
|
| +
|
| +invokeOn: function($function, receiver, $arguments) {
|
| + return $function.apply(receiver, $arguments);
|
| +},
|
| +
|
| +typeNameInChrome: function(obj) {
|
| + return obj.constructor.name;
|
| +},
|
| +
|
| +typeNameInSafari: function(obj) {
|
| + return H.constructorNameFallback(obj);
|
| +},
|
| +
|
| +typeNameInOpera: function(obj) {
|
| + return H.constructorNameFallback(obj);
|
| +},
|
| +
|
| +typeNameInFirefox: function(obj) {
|
| + var $name = H.constructorNameFallback(obj);
|
| + if ($name === "BeforeUnloadEvent")
|
| + return "Event";
|
| + if ($name === "DataTransfer")
|
| + return "Clipboard";
|
| + if ($name === "GeoGeolocation")
|
| + return "Geolocation";
|
| + if ($name === "WorkerMessageEvent")
|
| + return "MessageEvent";
|
| + if ($name === "XMLDocument")
|
| + return "Document";
|
| + return $name;
|
| +},
|
| +
|
| +typeNameInIE: function(obj) {
|
| + var $name = H.constructorNameFallback(obj);
|
| + if ($name === "Document") {
|
| + if (!!obj.xmlVersion)
|
| + return "Document";
|
| + return "HTMLDocument";
|
| + }
|
| + if ($name === "BeforeUnloadEvent")
|
| + return "Event";
|
| + if ($name === "DataTransfer")
|
| + return "Clipboard";
|
| + if ($name === "HTMLDDElement")
|
| + return "HTMLElement";
|
| + if ($name === "HTMLDTElement")
|
| + return "HTMLElement";
|
| + if ($name === "HTMLPhraseElement")
|
| + return "HTMLElement";
|
| + if ($name === "Position")
|
| + return "Geoposition";
|
| + if ($name === "Object")
|
| + if (window.DataView && obj instanceof window.DataView)
|
| + return "DataView";
|
| + return $name;
|
| +},
|
| +
|
| +constructorNameFallback: function(object) {
|
| + var $constructor, $name, t1, string;
|
| + if (object == null)
|
| + return "Null";
|
| + $constructor = object.constructor;
|
| + if (typeof $constructor === "function") {
|
| + $name = $constructor.builtin$cls;
|
| + if ($name != null)
|
| + return $name;
|
| + $name = $constructor.name;
|
| + if (typeof $name === "string")
|
| + t1 = $name !== "" && $name !== "Object" && $name !== "Function.prototype";
|
| + else
|
| + t1 = false;
|
| + if (t1)
|
| + return $name;
|
| + }
|
| + string = Object.prototype.toString.call(object);
|
| + return string.substring(8, string.length - 1);
|
| +},
|
| +
|
| +alternateTag: function(object, tag) {
|
| + if (!!/^HTML[A-Z].*Element$/.test(tag)) {
|
| + if (Object.prototype.toString.call(object) === "[object Object]")
|
| + return;
|
| + return "HTMLElement";
|
| + }
|
| + return;
|
| +},
|
| +
|
| +getFunctionForTypeNameOf: function() {
|
| + var getTagFunction = H.getBaseFunctionForTypeNameOf();
|
| + if (typeof dartExperimentalFixupGetTag == "function")
|
| + return H.applyExperimentalFixup(dartExperimentalFixupGetTag, getTagFunction);
|
| + return getTagFunction;
|
| +},
|
| +
|
| +getBaseFunctionForTypeNameOf: function() {
|
| + if (typeof navigator !== "object")
|
| + return H.typeNameInChrome$closure;
|
| + var userAgent = navigator.userAgent;
|
| + if (userAgent.indexOf("Chrome") !== -1 || userAgent.indexOf("DumpRenderTree") !== -1)
|
| + return H.typeNameInChrome$closure;
|
| + else if (userAgent.indexOf("Firefox") !== -1)
|
| + return H.typeNameInFirefox$closure;
|
| + else if (userAgent.indexOf("Trident/") !== -1)
|
| + return H.typeNameInIE$closure;
|
| + else if (userAgent.indexOf("Opera") !== -1)
|
| + return H.typeNameInOpera$closure;
|
| + else if (userAgent.indexOf("AppleWebKit") !== -1)
|
| + return H.typeNameInSafari$closure;
|
| + else
|
| + return H.constructorNameFallback$closure;
|
| +},
|
| +
|
| +applyExperimentalFixup: function(fixupJSFunction, originalGetTagDartFunction) {
|
| + return new H.applyExperimentalFixup_newGetTagDartFunction(fixupJSFunction((function(invoke, closure){return function(arg){ return invoke(closure, arg); };})(H.callDartFunctionWith1Arg$closure.call$2, originalGetTagDartFunction)));
|
| +},
|
| +
|
| +callDartFunctionWith1Arg: function(fn, arg) {
|
| + return fn.call$1(arg);
|
| +},
|
| +
|
| +toStringForNativeObject: function(obj) {
|
| + return "Instance of " + $.get$getTypeNameOf().call$1(obj);
|
| +},
|
| +
|
| +hashCodeForNativeObject: function(object) {
|
| + return H.Primitives_objectHashCode(object);
|
| +},
|
| +
|
| +defineProperty: function(obj, property, value) {
|
| + Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
|
| +},
|
| +
|
| +defineNativeMethods: function(tags, interceptorClass) {
|
| + H.defineNativeMethodsCommon(tags, interceptorClass, true);
|
| +},
|
| +
|
| +defineNativeMethodsNonleaf: function(tags, interceptorClass) {
|
| + H.defineNativeMethodsCommon(tags, interceptorClass, false);
|
| +},
|
| +
|
| +defineNativeMethodsExtended: function(tags, interceptorClass, subclassInterceptorClasses) {
|
| + var classes, t1, i;
|
| + if ($.interceptorToTag == null)
|
| + $.interceptorToTag = [];
|
| + classes = subclassInterceptorClasses;
|
| + for (t1 = classes.length, i = 0; i < t1; ++i) {
|
| + $.interceptorToTag.push(classes[i]);
|
| + $.interceptorToTag.push(tags);
|
| + }
|
| + H.defineNativeMethodsCommon(tags, interceptorClass, false);
|
| +},
|
| +
|
| +defineNativeMethodsCommon: function(tags, interceptorClass, isLeaf) {
|
| + var methods, tagsList, i, tag;
|
| + methods = interceptorClass.prototype;
|
| + if ($.interceptorsByTag == null)
|
| + $.interceptorsByTag = {};
|
| + if ($.leafTags == null)
|
| + $.leafTags = {};
|
| + tagsList = tags.split("|");
|
| + for (i = 0; i < tagsList.length; ++i) {
|
| + tag = tagsList[i];
|
| + $.interceptorsByTag[tag] = methods;
|
| + $.leafTags[tag] = isLeaf;
|
| + }
|
| +},
|
| +
|
| +defineNativeMethodsFinish: function() {
|
| +},
|
| +
|
| +lookupInterceptor: function(hasOwnPropertyFunction, tag) {
|
| + var map = $.interceptorsByTag;
|
| + if (map == null)
|
| + return;
|
| + return hasOwnPropertyFunction.call(map, tag) ? map[tag] : null;
|
| +},
|
| +
|
| +lookupDispatchRecord: function(obj) {
|
| + var hasOwnPropertyFunction, tag, interceptor, secondTag, t1;
|
| + hasOwnPropertyFunction = Object.prototype.hasOwnProperty;
|
| + tag = $.get$getTypeNameOf().call$1(obj);
|
| + interceptor = H.lookupInterceptor(hasOwnPropertyFunction, tag);
|
| + if (interceptor == null) {
|
| + secondTag = H.alternateTag(obj, tag);
|
| + if (secondTag != null)
|
| + interceptor = H.lookupInterceptor(hasOwnPropertyFunction, secondTag);
|
| + }
|
| + if (interceptor == null)
|
| + return;
|
| + t1 = $.leafTags;
|
| + if (t1 != null && t1[tag] === true)
|
| + return H.makeLeafDispatchRecord(interceptor);
|
| + else
|
| + return J.makeDispatchRecord(interceptor, Object.getPrototypeOf(obj), null, null);
|
| +},
|
| +
|
| +makeLeafDispatchRecord: function(interceptor) {
|
| + return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
|
| +},
|
| +
|
| +ConstantMap: {"": "Object;",
|
| + toString$0: function(_) {
|
| + return P.Maps_mapToString(this);
|
| + },
|
| + _throwUnmodifiable$0: function() {
|
| + throw H.wrapException(new P.UnsupportedError("Cannot modify unmodifiable Map"));
|
| + },
|
| + $indexSet: function(_, key, val) {
|
| + return this._throwUnmodifiable$0();
|
| + },
|
| + $isMap: true
|
| +},
|
| +
|
| +ConstantStringMap: {"": "ConstantMap;length>,_jsObject,_keys",
|
| + containsKey$1: function(key) {
|
| + if (typeof key !== "string")
|
| + return false;
|
| + if (key === "__proto__")
|
| + return false;
|
| + return this._jsObject.hasOwnProperty(key);
|
| + },
|
| + $index: function(_, key) {
|
| + if (typeof key !== "string")
|
| + return;
|
| + if (!this.containsKey$1(key))
|
| + return;
|
| + return this._jsObject[key];
|
| + },
|
| + forEach$1: function(_, f) {
|
| + J.forEach$1$ax(this._keys, new H.ConstantStringMap_forEach_closure(this, f));
|
| + },
|
| + get$keys: function() {
|
| + var t1 = new H._ConstantMapKeyIterable(this);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "ConstantStringMap", 0)]);
|
| + return t1;
|
| + },
|
| + get$values: function(_) {
|
| + return J.map$1$ax(this._keys, new H.ConstantStringMap_values_closure(this));
|
| + },
|
| + $asConstantMap: null,
|
| + $asMap: null
|
| +},
|
| +
|
| +ConstantStringMap_forEach_closure: {"": "Closure;this_0,f_1",
|
| + call$1: function(key) {
|
| + var t1 = this.this_0;
|
| + return this.f_1.call$2(key, t1.$index(t1, key));
|
| + }
|
| +},
|
| +
|
| +ConstantStringMap_values_closure: {"": "Closure;this_0",
|
| + call$1: function(key) {
|
| + var t1 = this.this_0;
|
| + return t1.$index(t1, key);
|
| + }
|
| +},
|
| +
|
| +_ConstantMapKeyIterable: {"": "IterableBase;_liblib1$_map",
|
| + get$iterator: function(_) {
|
| + return J.get$iterator$ax(this._liblib1$_map._keys);
|
| + },
|
| + $asIterableBase: null
|
| +},
|
| +
|
| +TypeErrorDecoder: {"": "Object;_pattern,_arguments,_argumentsExpr,_expr,_method,_receiver",
|
| + matchTypeError$1: function(message) {
|
| + var match, result, t1;
|
| + match = new RegExp(this._pattern).exec(message);
|
| + if (match == null)
|
| + return;
|
| + result = {};
|
| + t1 = this._arguments;
|
| + if (t1 !== -1)
|
| + result.arguments = match[t1 + 1];
|
| + t1 = this._argumentsExpr;
|
| + if (t1 !== -1)
|
| + result.argumentsExpr = match[t1 + 1];
|
| + t1 = this._expr;
|
| + if (t1 !== -1)
|
| + result.expr = match[t1 + 1];
|
| + t1 = this._method;
|
| + if (t1 !== -1)
|
| + result.method = match[t1 + 1];
|
| + t1 = this._receiver;
|
| + if (t1 !== -1)
|
| + result.receiver = match[t1 + 1];
|
| + return result;
|
| + },
|
| + static: {
|
| +"": "TypeErrorDecoder_noSuchMethodPattern,TypeErrorDecoder_notClosurePattern,TypeErrorDecoder_nullCallPattern,TypeErrorDecoder_nullLiteralCallPattern,TypeErrorDecoder_undefinedCallPattern,TypeErrorDecoder_undefinedLiteralCallPattern,TypeErrorDecoder_nullPropertyPattern,TypeErrorDecoder_nullLiteralPropertyPattern,TypeErrorDecoder_undefinedPropertyPattern,TypeErrorDecoder_undefinedLiteralPropertyPattern",
|
| +TypeErrorDecoder_extractPattern: function(message) {
|
| + var match, $arguments, argumentsExpr, expr, method, receiver;
|
| + message = message.replace(String({}), '$receiver$').replace(new RegExp("[[\\]{}()*+?.\\\\^$|]", 'g'), '\\$&');
|
| + match = message.match(/\\\$[a-zA-Z]+\\\$/g);
|
| + if (match == null)
|
| + match = [];
|
| + $arguments = match.indexOf("\\$arguments\\$");
|
| + argumentsExpr = match.indexOf("\\$argumentsExpr\\$");
|
| + expr = match.indexOf("\\$expr\\$");
|
| + method = match.indexOf("\\$method\\$");
|
| + receiver = match.indexOf("\\$receiver\\$");
|
| + return new H.TypeErrorDecoder(message.replace('\\$arguments\\$', '((?:x|[^x])*)').replace('\\$argumentsExpr\\$', '((?:x|[^x])*)').replace('\\$expr\\$', '((?:x|[^x])*)').replace('\\$method\\$', '((?:x|[^x])*)').replace('\\$receiver\\$', '((?:x|[^x])*)'), $arguments, argumentsExpr, expr, method, receiver);
|
| +},
|
| +
|
| +TypeErrorDecoder_provokeCallErrorOn: function(expression) {
|
| + return function($expr$) {
|
| + var $argumentsExpr$ = '$arguments$'
|
| + try {
|
| + $expr$.$method$($argumentsExpr$);
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| +}(expression);
|
| +},
|
| +
|
| +TypeErrorDecoder_provokeCallErrorOnNull: function() {
|
| + return function() {
|
| + var $argumentsExpr$ = '$arguments$'
|
| + try {
|
| + null.$method$($argumentsExpr$);
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| +}();
|
| +},
|
| +
|
| +TypeErrorDecoder_provokeCallErrorOnUndefined: function() {
|
| + return function() {
|
| + var $argumentsExpr$ = '$arguments$'
|
| + try {
|
| + (void 0).$method$($argumentsExpr$);
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| +}();
|
| +},
|
| +
|
| +TypeErrorDecoder_provokePropertyErrorOn: function(expression) {
|
| + return function($expr$) {
|
| + try {
|
| + $expr$.$method$;
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| +}(expression);
|
| +},
|
| +
|
| +TypeErrorDecoder_provokePropertyErrorOnNull: function() {
|
| + return function() {
|
| + try {
|
| + null.$method$;
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| +}();
|
| +},
|
| +
|
| +TypeErrorDecoder_provokePropertyErrorOnUndefined: function() {
|
| + return function() {
|
| + try {
|
| + (void 0).$method$;
|
| + } catch (e) {
|
| + return e.message;
|
| + }
|
| +}();
|
| +}}
|
| +
|
| +},
|
| +
|
| +NullError: {"": "Error;_message,_method",
|
| + toString$0: function(_) {
|
| + var t1 = this._method;
|
| + if (t1 == null)
|
| + return "NullError: " + H.S(this._message);
|
| + return "NullError: Cannot call \"" + H.S(t1) + "\" on null";
|
| + },
|
| + $isError: true
|
| +},
|
| +
|
| +JsNoSuchMethodError: {"": "Error;_message,_method,_receiver",
|
| + toString$0: function(_) {
|
| + var t1, t2;
|
| + t1 = this._method;
|
| + if (t1 == null)
|
| + return "NoSuchMethodError: " + H.S(this._message);
|
| + t2 = this._receiver;
|
| + if (t2 == null)
|
| + return "NoSuchMethodError: Cannot call \"" + t1 + "\" (" + H.S(this._message) + ")";
|
| + return "NoSuchMethodError: Cannot call \"" + t1 + "\" on \"" + t2 + "\" (" + H.S(this._message) + ")";
|
| + },
|
| + $isError: true,
|
| + static: {
|
| +JsNoSuchMethodError$: function(_message, match) {
|
| + var t1, t2;
|
| + t1 = match == null;
|
| + t2 = t1 ? null : match.method;
|
| + t1 = t1 ? null : match.receiver;
|
| + return new H.JsNoSuchMethodError(_message, t2, t1);
|
| +}}
|
| +
|
| +},
|
| +
|
| +UnknownJsTypeError: {"": "Error;_message",
|
| + toString$0: function(_) {
|
| + var t1 = this._message;
|
| + return C.JSString_methods.get$isEmpty(t1) ? "Error" : "Error: " + t1;
|
| + }
|
| +},
|
| +
|
| +unwrapException_saveStackTrace: {"": "Closure;ex_0",
|
| + call$1: function(error) {
|
| + var t1 = J.getInterceptor(error);
|
| + if (typeof error === "object" && error !== null && !!t1.$isError)
|
| + if (error.$thrownJsError == null)
|
| + error.$thrownJsError = this.ex_0;
|
| + return error;
|
| + }
|
| +},
|
| +
|
| +_StackTrace: {"": "Object;_exception,_trace",
|
| + toString$0: function(_) {
|
| + var t1, trace;
|
| + t1 = this._trace;
|
| + if (t1 != null)
|
| + return t1;
|
| + t1 = this._exception;
|
| + trace = typeof t1 === "object" ? t1.stack : null;
|
| + t1 = trace == null ? "" : trace;
|
| + this._trace = t1;
|
| + return t1;
|
| + }
|
| +},
|
| +
|
| +invokeClosure_closure: {"": "Closure;closure_0",
|
| + call$0: function() {
|
| + return this.closure_0.call$0();
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +invokeClosure_closure0: {"": "Closure;closure_1,arg1_2",
|
| + call$0: function() {
|
| + return this.closure_1.call$1(this.arg1_2);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +invokeClosure_closure1: {"": "Closure;closure_3,arg1_4,arg2_5",
|
| + call$0: function() {
|
| + return this.closure_3.call$2(this.arg1_4, this.arg2_5);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +Closure: {"": "Object;",
|
| + toString$0: function(_) {
|
| + return "Closure";
|
| + }
|
| +},
|
| +
|
| +BoundClosure: {"": "Closure;_self,_liblib1$_target,_receiver,_liblib1$_name",
|
| + $eq: function(_, other) {
|
| + var t1;
|
| + if (other == null)
|
| + return false;
|
| + if (this === other)
|
| + return true;
|
| + t1 = J.getInterceptor(other);
|
| + if (typeof other !== "object" || other === null || !t1.$isBoundClosure)
|
| + return false;
|
| + return this._self === other._self && this._liblib1$_target === other._liblib1$_target && this._receiver === other._receiver;
|
| + },
|
| + get$hashCode: function(_) {
|
| + var t1, receiverHashCode;
|
| + t1 = this._receiver;
|
| + if (t1 == null)
|
| + receiverHashCode = H.Primitives_objectHashCode(this._self);
|
| + else
|
| + receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1);
|
| + return (receiverHashCode ^ H.Primitives_objectHashCode(this._liblib1$_target)) >>> 0;
|
| + },
|
| + $isBoundClosure: true
|
| +},
|
| +
|
| +TypeImpl: {"": "Object;_typeName,_unmangledName",
|
| + toString$0: function(_) {
|
| + var t1, unmangledName, unmangledName0;
|
| + t1 = this._unmangledName;
|
| + if (t1 != null)
|
| + return t1;
|
| + unmangledName = this._typeName;
|
| + unmangledName0 = H.unmangleGlobalNameIfPreservedAnyways(unmangledName);
|
| + unmangledName = unmangledName0 == null ? unmangledName : unmangledName0;
|
| + this._unmangledName = unmangledName;
|
| + return unmangledName;
|
| + },
|
| + get$hashCode: function(_) {
|
| + return J.get$hashCode$(this._typeName);
|
| + },
|
| + $eq: function(_, other) {
|
| + var t1;
|
| + if (other == null)
|
| + return false;
|
| + t1 = J.getInterceptor(other);
|
| + return typeof other === "object" && other !== null && !!t1.$isTypeImpl && J.$eq(this._typeName, other._typeName);
|
| + },
|
| + $isTypeImpl: true
|
| +},
|
| +
|
| +applyExperimentalFixup_newGetTagDartFunction: {"": "Closure;newGetTagJSFunction_0",
|
| + call$1: function(object) {
|
| + return this.newGetTagJSFunction_0(object);
|
| + }
|
| +}}],
|
| +["dart._collection.dev", "dart:_collection-dev", , H, {
|
| +Arrays_copy: function(src, srcStart, dst, dstStart, count) {
|
| + var i, j, t1, t2, t3, t4;
|
| + if (typeof dst !== "object" || dst === null || (dst.constructor !== Array || !!dst.immutable$list) && !H.isJsIndexable(dst, dst[init.dispatchPropertyName]))
|
| + return H.Arrays_copy$bailout(1, dst, src, srcStart, dstStart, count);
|
| + if (srcStart < dstStart)
|
| + for (i = srcStart + count - 1, j = dstStart + count - 1, t1 = src.length, t2 = dst.length; i >= srcStart; --i, --j) {
|
| + if (i < 0 || i >= t1)
|
| + throw H.ioore(src, i);
|
| + t3 = src[i];
|
| + if (j < 0 || j >= t2)
|
| + throw H.ioore(dst, j);
|
| + dst[j] = t3;
|
| + }
|
| + else
|
| + for (t1 = srcStart + count, t2 = src.length, t3 = dst.length, j = dstStart, i = srcStart; i < t1; ++i, ++j) {
|
| + if (i < 0 || i >= t2)
|
| + throw H.ioore(src, i);
|
| + t4 = src[i];
|
| + if (j < 0 || j >= t3)
|
| + throw H.ioore(dst, j);
|
| + dst[j] = t4;
|
| + }
|
| +},
|
| +
|
| +Arrays_copy$bailout: function(state0, dst, src, srcStart, dstStart, count) {
|
| + var i, j, t1;
|
| + if (srcStart < dstStart)
|
| + for (i = srcStart + count - 1, j = dstStart + count - 1; i >= srcStart; --i, --j) {
|
| + if (i < 0 || i >= src.length)
|
| + throw H.ioore(src, i);
|
| + C.JSArray_methods.$indexSet(dst, j, src[i]);
|
| + }
|
| + else
|
| + for (t1 = srcStart + count, j = dstStart, i = srcStart; i < t1; ++i, ++j) {
|
| + if (i < 0 || i >= src.length)
|
| + throw H.ioore(src, i);
|
| + C.JSArray_methods.$indexSet(dst, j, src[i]);
|
| + }
|
| +},
|
| +
|
| +IterableMixinWorkaround_forEach: function(iterable, f) {
|
| + var t1;
|
| + for (t1 = new H.ListIterator(iterable, iterable.length, 0, null); t1.moveNext$0();)
|
| + f.call$1(t1._current);
|
| +},
|
| +
|
| +IterableMixinWorkaround_toStringIterable: function(iterable, leftDelimiter, rightDelimiter) {
|
| + var result, i, t1;
|
| + for (i = 0; i < $.get$IterableMixinWorkaround__toStringList().length; ++i) {
|
| + t1 = $.get$IterableMixinWorkaround__toStringList();
|
| + if (i >= t1.length)
|
| + throw H.ioore(t1, i);
|
| + if (t1[i] === iterable)
|
| + return H.S(leftDelimiter) + "..." + H.S(rightDelimiter);
|
| + }
|
| + result = P.StringBuffer$("");
|
| + try {
|
| + $.get$IterableMixinWorkaround__toStringList().push(iterable);
|
| + result.write$1(leftDelimiter);
|
| + result.writeAll$2(iterable, ", ");
|
| + result.write$1(rightDelimiter);
|
| + } finally {
|
| + t1 = $.get$IterableMixinWorkaround__toStringList();
|
| + if (0 >= t1.length)
|
| + throw H.ioore(t1, 0);
|
| + t1.pop();
|
| + }
|
| + return result.get$_contents();
|
| +},
|
| +
|
| +IterableMixinWorkaround__rangeCheck: function(list, start, end) {
|
| + var t1;
|
| + if (start < 0 || start > list.length) {
|
| + t1 = list.length;
|
| + throw H.wrapException(new P.RangeError("value " + start + " not in range 0.." + t1));
|
| + }
|
| + if (end < start || end > list.length) {
|
| + t1 = list.length;
|
| + throw H.wrapException(new P.RangeError("value " + end + " not in range " + start + ".." + t1));
|
| + }
|
| +},
|
| +
|
| +IterableMixinWorkaround_setRangeList: function(list, start, end, from, skipCount) {
|
| + var $length;
|
| + H.IterableMixinWorkaround__rangeCheck(list, start, end);
|
| + $length = end - start;
|
| + if ($length === 0)
|
| + return;
|
| + if (skipCount < 0)
|
| + throw H.wrapException(new P.ArgumentError(skipCount));
|
| + if (skipCount + $length > from.length)
|
| + throw H.wrapException(new P.StateError("Not enough elements"));
|
| + H.Arrays_copy(from, skipCount, list, start, $length);
|
| +},
|
| +
|
| +Symbol_getName: function(symbol) {
|
| + return symbol.get$_name();
|
| +},
|
| +
|
| +ListIterable: {"": "IterableBase;",
|
| + get$iterator: function(_) {
|
| + return new H.ListIterator(this, this.get$length(this), 0, null);
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var $length, i;
|
| + $length = this.get$length(this);
|
| + for (i = 0; i < $length; ++i) {
|
| + action.call$1(this.elementAt$1(this, i));
|
| + if ($length !== this.get$length(this))
|
| + throw H.wrapException(new P.ConcurrentModificationError(this));
|
| + }
|
| + },
|
| + map$1: function(_, f) {
|
| + var t1 = new H.MappedListIterable(this, f);
|
| + H.setRuntimeTypeInfo(t1, [null, null]);
|
| + return t1;
|
| + },
|
| + toList$1$growable: function(_, growable) {
|
| + var result, i, t1;
|
| + if (growable) {
|
| + result = P.List_List(null, H.getRuntimeTypeArgument(this, "ListIterable", 0));
|
| + H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(this, "ListIterable", 0)]);
|
| + C.JSArray_methods.set$length(result, this.get$length(this));
|
| + } else {
|
| + result = P.List_List(this.get$length(this), H.getRuntimeTypeArgument(this, "ListIterable", 0));
|
| + H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(this, "ListIterable", 0)]);
|
| + }
|
| + for (i = 0; i < this.get$length(this); ++i) {
|
| + t1 = this.elementAt$1(this, i);
|
| + if (i >= result.length)
|
| + throw H.ioore(result, i);
|
| + result[i] = t1;
|
| + }
|
| + return result;
|
| + },
|
| + toList$0: function($receiver) {
|
| + return this.toList$1$growable($receiver, true);
|
| + },
|
| + $asIterableBase: null
|
| +},
|
| +
|
| +ListIterator: {"": "Object;_iterable,_length,_index,_current",
|
| + get$current: function() {
|
| + return this._current;
|
| + },
|
| + moveNext$0: function() {
|
| + var t1, t2, $length, t3;
|
| + t1 = this._iterable;
|
| + t2 = J.getInterceptor$asx(t1);
|
| + $length = t2.get$length(t1);
|
| + if (this._length !== $length)
|
| + throw H.wrapException(new P.ConcurrentModificationError(t1));
|
| + t3 = this._index;
|
| + if (t3 >= $length) {
|
| + this._current = null;
|
| + return false;
|
| + }
|
| + this._current = t2.elementAt$1(t1, t3);
|
| + this._index = this._index + 1;
|
| + return true;
|
| + }
|
| +},
|
| +
|
| +MappedIterable: {"": "IterableBase;_iterable,_f",
|
| + get$iterator: function(_) {
|
| + var t1 = this._iterable;
|
| + t1 = t1.get$iterator(t1);
|
| + t1 = new H.MappedIterator(null, t1, this._f);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "MappedIterable", 0), H.getRuntimeTypeArgument(this, "MappedIterable", 1)]);
|
| + return t1;
|
| + },
|
| + get$length: function(_) {
|
| + var t1 = this._iterable;
|
| + return t1.get$length(t1);
|
| + },
|
| + $asIterableBase: function($S, $T) {
|
| + return [$T];
|
| + }
|
| +},
|
| +
|
| +MappedIterator: {"": "Iterator;_current,_iterator,_f",
|
| + _f$1: function(arg0) {
|
| + return this._f.call$1(arg0);
|
| + },
|
| + moveNext$0: function() {
|
| + var t1 = this._iterator;
|
| + if (t1.moveNext$0()) {
|
| + this._current = this._f$1(t1.get$current());
|
| + return true;
|
| + }
|
| + this._current = null;
|
| + return false;
|
| + },
|
| + get$current: function() {
|
| + return this._current;
|
| + },
|
| + $asIterator: function($S, $T) {
|
| + return [$T];
|
| + }
|
| +},
|
| +
|
| +MappedListIterable: {"": "ListIterable;_source,_f",
|
| + _f$1: function(arg0) {
|
| + return this._f.call$1(arg0);
|
| + },
|
| + get$length: function(_) {
|
| + return J.get$length$asx(this._source);
|
| + },
|
| + elementAt$1: function(_, index) {
|
| + return this._f$1(J.elementAt$1$ax(this._source, index));
|
| + },
|
| + $asListIterable: function($S, $T) {
|
| + return [$T];
|
| + }
|
| +},
|
| +
|
| +WhereIterable: {"": "IterableBase;_iterable,_f",
|
| + get$iterator: function(_) {
|
| + var t1 = J.get$iterator$ax(this._iterable);
|
| + t1 = new H.WhereIterator(t1, this._f);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "WhereIterable", 0)]);
|
| + return t1;
|
| + },
|
| + $asIterableBase: null
|
| +},
|
| +
|
| +WhereIterator: {"": "Iterator;_iterator,_f",
|
| + _f$1: function(arg0) {
|
| + return this._f.call$1(arg0);
|
| + },
|
| + moveNext$0: function() {
|
| + for (var t1 = this._iterator; t1.moveNext$0();)
|
| + if (this._f$1(t1.get$current()) === true)
|
| + return true;
|
| + return false;
|
| + },
|
| + get$current: function() {
|
| + return this._iterator.get$current();
|
| + },
|
| + $asIterator: null
|
| +},
|
| +
|
| +FixedLengthListMixin: {"": "Object;"}}],
|
| +["dart._js_names", "dart:_js_names", , H, {
|
| +unmangleGlobalNameIfPreservedAnyways: function($name) {
|
| + return init.mangledGlobalNames[$name];
|
| +}}],
|
| +["dart.async", "dart:async", , P, {
|
| +_attachStackTrace: function(o, st) {
|
| + var t1;
|
| + if (o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string")
|
| + return;
|
| + t1 = $.get$_stackTraceExpando();
|
| + t1.$indexSet(t1, o, st);
|
| +},
|
| +
|
| +getAttachedStackTrace: function(o) {
|
| + var t1;
|
| + if (o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string")
|
| + return;
|
| + t1 = $.get$_stackTraceExpando();
|
| + return t1.$index(t1, o);
|
| +},
|
| +
|
| +_asyncRunCallback: function() {
|
| + var callback, t1, exception, milliseconds;
|
| + for (; t1 = $.get$_asyncCallbacks(), t1._head !== t1._tail;) {
|
| + callback = $.get$_asyncCallbacks().removeFirst$0();
|
| + try {
|
| + callback.call$0();
|
| + } catch (exception) {
|
| + H.unwrapException(exception);
|
| + milliseconds = C.Duration_0.get$inMilliseconds();
|
| + H.TimerImpl$(milliseconds < 0 ? 0 : milliseconds, P._asyncRunCallback$closure);
|
| + throw exception;
|
| + }
|
| +
|
| + }
|
| + $._callbacksAreEnqueued = false;
|
| +},
|
| +
|
| +_scheduleAsyncCallback: function(callback) {
|
| + $.get$_asyncCallbacks()._add$1(callback);
|
| + if (!$._callbacksAreEnqueued) {
|
| + P._createTimer(C.Duration_0, P._asyncRunCallback$closure);
|
| + $._callbacksAreEnqueued = true;
|
| + }
|
| +},
|
| +
|
| +runAsync: function(callback) {
|
| + var t1;
|
| + if (J.$eq($.Zone__current, C._CustomizedZone_WYN)) {
|
| + $.Zone__current.scheduleMicrotask$1(callback);
|
| + return;
|
| + }
|
| + t1 = $.Zone__current;
|
| + t1.scheduleMicrotask$1(t1.bindCallback$2$runGuarded(callback, true));
|
| +},
|
| +
|
| +Future_wait: function(futures) {
|
| + var t1, t2, t3, future, pos, t4, t5, result, completer;
|
| + t1 = {};
|
| + t1.completer_0 = null;
|
| + t1.values_1 = null;
|
| + t2 = new P.Future_wait_handleError(t1);
|
| + t1.remaining_2 = 0;
|
| + for (t3 = new H.ListIterator(futures, futures.length, 0, null); t3.moveNext$0();) {
|
| + future = t3._current;
|
| + pos = t1.remaining_2;
|
| + t1.remaining_2 = pos + 1;
|
| + t4 = future.catchError$1(t2);
|
| + t5 = $.Zone__current;
|
| + result = new P._Future(0, t5, null, null, t5.registerUnaryCallback$1(new P.Future_wait_closure(t1, pos)), null, $.Zone__current.registerUnaryCallback$1(null), null);
|
| + result.$builtinTypeInfo = [null];
|
| + t4._addListener$1(result);
|
| + }
|
| + t2 = t1.remaining_2;
|
| + if (t2 === 0)
|
| + return P._Future$immediate(C.List_empty, null);
|
| + t1.values_1 = P.List_List(t2, null);
|
| + t2 = J.JSArray;
|
| + completer = new P._AsyncCompleter(P._Future$(t2));
|
| + H.setRuntimeTypeInfo(completer, [t2]);
|
| + t1.completer_0 = completer;
|
| + return t1.completer_0.future;
|
| +},
|
| +
|
| +_nullDataHandler: function(value) {
|
| +},
|
| +
|
| +_nullErrorHandler: function(error) {
|
| + $.Zone__current.handleUncaughtError$1(error);
|
| +},
|
| +
|
| +_nullDoneHandler: function() {
|
| +},
|
| +
|
| +_asyncError: function(error, stackTrace) {
|
| + if (stackTrace == null)
|
| + return error;
|
| + if (P.getAttachedStackTrace(error) != null)
|
| + return error;
|
| + P._attachStackTrace(error, stackTrace);
|
| + return error;
|
| +},
|
| +
|
| +_runUserCode: function(userCode, onSuccess, onError) {
|
| + var e, s, exception, t1;
|
| + try {
|
| + onSuccess.call$1(userCode.call$0());
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = new H._StackTrace(exception, null);
|
| + onError.call$1(P._asyncError(e, s));
|
| + }
|
| +
|
| +},
|
| +
|
| +_cancelAndError: function(subscription, future) {
|
| + return new P._cancelAndError_closure(subscription, future);
|
| +},
|
| +
|
| +Timer_Timer: function(duration, callback) {
|
| + var t1;
|
| + if (J.$eq($.Zone__current, C._CustomizedZone_WYN))
|
| + return $.Zone__current.createTimer$2(duration, callback);
|
| + t1 = $.Zone__current;
|
| + return t1.createTimer$2(duration, t1.bindCallback$2$runGuarded(callback, true));
|
| +},
|
| +
|
| +_createTimer: function(duration, callback) {
|
| + var milliseconds = duration.get$inMilliseconds();
|
| + return H.TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
|
| +},
|
| +
|
| +_createPeriodicTimer: function(duration, callback) {
|
| + var milliseconds = duration.get$inMilliseconds();
|
| + return H.TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback);
|
| +},
|
| +
|
| +_rootHandleUncaughtError: function($self, $parent, zone, error) {
|
| + P._scheduleAsyncCallback(new P._rootHandleUncaughtError_closure(error));
|
| +},
|
| +
|
| +_rootRun: function($self, $parent, zone, f) {
|
| + var old, t1;
|
| + if (J.$eq($.Zone__current, zone))
|
| + return f.call$0();
|
| + old = $.Zone__current;
|
| + try {
|
| + $.Zone__current = zone;
|
| + t1 = f.call$0();
|
| + return t1;
|
| + } finally {
|
| + $.Zone__current = old;
|
| + }
|
| +},
|
| +
|
| +_rootRunUnary: function($self, $parent, zone, f, arg) {
|
| + var old, t1;
|
| + if (J.$eq($.Zone__current, zone))
|
| + return f.call$1(arg);
|
| + old = $.Zone__current;
|
| + try {
|
| + $.Zone__current = zone;
|
| + t1 = f.call$1(arg);
|
| + return t1;
|
| + } finally {
|
| + $.Zone__current = old;
|
| + }
|
| +},
|
| +
|
| +_rootRegisterCallback: function($self, $parent, zone, f) {
|
| + return f;
|
| +},
|
| +
|
| +_rootRegisterUnaryCallback: function($self, $parent, zone, f) {
|
| + return f;
|
| +},
|
| +
|
| +_rootScheduleMicrotask: function($self, $parent, zone, f) {
|
| + P._scheduleAsyncCallback(f);
|
| +},
|
| +
|
| +_rootCreateTimer: function($self, $parent, zone, duration, callback) {
|
| + return P._createTimer(duration, callback);
|
| +},
|
| +
|
| +_rootCreatePeriodicTimer: function($self, $parent, zone, duration, callback) {
|
| + return P._createPeriodicTimer(duration, callback);
|
| +},
|
| +
|
| +_rootFork: function($self, $parent, zone, specification, zoneValues) {
|
| + var t1, copiedMap;
|
| + if (specification == null)
|
| + specification = C._ZoneSpecification_eLJ;
|
| + else {
|
| + t1 = J.getInterceptor(specification);
|
| + if (typeof specification !== "object" || specification === null || !t1.$is_ZoneSpecification)
|
| + throw H.wrapException(new P.ArgumentError("ZoneSpecifications must be instantiated with the provided constructor."));
|
| + }
|
| + copiedMap = P.HashMap_HashMap(null, null, null, null, null);
|
| + if (zoneValues != null)
|
| + J.forEach$1$ax(zoneValues, new P._rootFork_closure(copiedMap));
|
| + return new P._CustomizedZone(zone, specification, copiedMap);
|
| +},
|
| +
|
| +Future: {"": "Object;", $isFuture: true},
|
| +
|
| +Future_wait_handleError: {"": "Closure;box_0",
|
| + call$1: function(error) {
|
| + var t1 = this.box_0;
|
| + if (t1.values_1 != null) {
|
| + t1.values_1 = null;
|
| + t1 = t1.completer_0;
|
| + t1.completeError$2;
|
| + t1 = t1.future;
|
| + if (t1._state !== 0)
|
| + H.throwExpression(new P.StateError("Future already completed"));
|
| + t1._asyncCompleteError$2(error, null);
|
| + }
|
| + return;
|
| + }
|
| +},
|
| +
|
| +Future_wait_closure: {"": "Closure;box_0,pos_1",
|
| + call$1: function(value) {
|
| + var t1, t2, t3;
|
| + t1 = this.box_0;
|
| + t2 = t1.values_1;
|
| + if (t2 == null)
|
| + return;
|
| + t3 = this.pos_1;
|
| + if (t3 < 0 || t3 >= t2.length)
|
| + throw H.ioore(t2, t3);
|
| + t2[t3] = value;
|
| + t1.remaining_2 = t1.remaining_2 - 1;
|
| + if (t1.remaining_2 === 0) {
|
| + t2 = t1.completer_0;
|
| + t1 = t1.values_1;
|
| + t2.complete$1;
|
| + t2 = t2.future;
|
| + if (t2._state !== 0)
|
| + H.throwExpression(new P.StateError("Future already completed"));
|
| + t2._asyncComplete$1(t1);
|
| + }
|
| + }
|
| +},
|
| +
|
| +_Completer: {"": "Object;"},
|
| +
|
| +_AsyncCompleter: {"": "_Completer;future", $as_Completer: null},
|
| +
|
| +_Future: {"": "Object;_state,_zone<,_resultOrListeners,_nextListener@,_onValueCallback,_errorTestCallback,_onErrorCallback,_whenCompleteActionCallback",
|
| + get$_isComplete: function() {
|
| + return this._state >= 4;
|
| + },
|
| + get$_hasError: function() {
|
| + return this._state === 8;
|
| + },
|
| + set$_isChained: function(value) {
|
| + if (value)
|
| + this._state = 2;
|
| + else
|
| + this._state = 0;
|
| + },
|
| + get$_onValue: function() {
|
| + return this._state === 2 ? null : this._onValueCallback;
|
| + },
|
| + _onValue$1: function(arg0) {
|
| + return this.get$_onValue().call$1(arg0);
|
| + },
|
| + get$_onError: function() {
|
| + return this._state === 2 ? null : this._onErrorCallback;
|
| + },
|
| + _onError$1: function(arg0) {
|
| + return this.get$_onError().call$1(arg0);
|
| + },
|
| + get$_whenCompleteAction: function() {
|
| + return this._state === 2 ? null : this._whenCompleteActionCallback;
|
| + },
|
| + _whenCompleteAction$0: function() {
|
| + return this.get$_whenCompleteAction().call$0();
|
| + },
|
| + then$2$onError: function(f, onError) {
|
| + var result = P._Future$_then(f, onError, null);
|
| + this._addListener$1(result);
|
| + return result;
|
| + },
|
| + then$1: function(f) {
|
| + return this.then$2$onError(f, null);
|
| + },
|
| + catchError$2$test: function(f, test) {
|
| + var result = P._Future$_catchError(f, test, null);
|
| + this._addListener$1(result);
|
| + return result;
|
| + },
|
| + catchError$1: function(f) {
|
| + return this.catchError$2$test(f, null);
|
| + },
|
| + get$_value: function() {
|
| + return this._resultOrListeners;
|
| + },
|
| + get$_error: function() {
|
| + return this._resultOrListeners;
|
| + },
|
| + _setValue$1: function(value) {
|
| + this._state = 4;
|
| + this._resultOrListeners = value;
|
| + },
|
| + _setError$1: function(error) {
|
| + this._state = 8;
|
| + this._resultOrListeners = error;
|
| + },
|
| + _addListener$1: function(listener) {
|
| + if (this._state >= 4)
|
| + this._zone.scheduleMicrotask$1(new P._Future__addListener_closure(this, listener));
|
| + else {
|
| + listener._nextListener = this._resultOrListeners;
|
| + this._resultOrListeners = listener;
|
| + }
|
| + },
|
| + _removeListeners$0: function() {
|
| + var current, prev, next;
|
| + current = this._resultOrListeners;
|
| + this._resultOrListeners = null;
|
| + for (prev = null; current != null; prev = current, current = next) {
|
| + next = current.get$_nextListener();
|
| + current.set$_nextListener(prev);
|
| + }
|
| + return prev;
|
| + },
|
| + _complete$1: function(value) {
|
| + var t1, listeners;
|
| + t1 = J.getInterceptor(value);
|
| + if (typeof value === "object" && value !== null && !!t1.$isFuture) {
|
| + P._Future__chainFutures(value, this);
|
| + return;
|
| + }
|
| + listeners = this._removeListeners$0();
|
| + this._setValue$1(value);
|
| + P._Future__propagateToListeners(this, listeners);
|
| + },
|
| + _completeError$2: function(error, stackTrace) {
|
| + var listeners;
|
| + if (stackTrace != null)
|
| + P._attachStackTrace(error, stackTrace);
|
| + listeners = this._state === 2 ? null : this._removeListeners$0();
|
| + this._setError$1(error);
|
| + P._Future__propagateToListeners(this, listeners);
|
| + },
|
| + _completeError$1: function(error) {
|
| + return this._completeError$2(error, null);
|
| + },
|
| + get$_completeError: function() {
|
| + return new P.Bound__completeError__Future(this, P._Future.prototype._completeError$2, null, "_completeError$2");
|
| + },
|
| + _asyncComplete$1: function(value) {
|
| + var t1, t2;
|
| + t1 = J.getInterceptor(value);
|
| + t2 = typeof value === "object" && value !== null && !!t1.$isFuture;
|
| + if (t2)
|
| + ;
|
| + if (t2)
|
| + t1 = !t1.$is_Future || value._state < 4;
|
| + else
|
| + t1 = false;
|
| + if (t1) {
|
| + this._complete$1(value);
|
| + return;
|
| + }
|
| + if (this._state !== 0)
|
| + H.throwExpression(new P.StateError("Future already completed"));
|
| + this._state = 1;
|
| + this._zone.scheduleMicrotask$1(new P._Future__asyncComplete_closure(this, value));
|
| + },
|
| + _asyncCompleteError$2: function(error, stackTrace) {
|
| + if (this._state !== 0)
|
| + H.throwExpression(new P.StateError("Future already completed"));
|
| + this._state = 1;
|
| + this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteError_closure(this, error, stackTrace));
|
| + },
|
| + _Future$immediate$1: function(value, $T) {
|
| + this._asyncComplete$1(value);
|
| + },
|
| + $is_Future: true,
|
| + $isFuture: true,
|
| + static: {
|
| +"": "_Future__INCOMPLETE,_Future__PENDING_COMPLETE,_Future__CHAINED,_Future__VALUE,_Future__ERROR",
|
| +_Future$: function($T) {
|
| + var t1 = new P._Future(0, $.Zone__current, null, null, null, null, null, null);
|
| + H.setRuntimeTypeInfo(t1, [$T]);
|
| + return t1;
|
| +},
|
| +
|
| +_Future$immediate: function(value, $T) {
|
| + var t1 = new P._Future(0, $.Zone__current, null, null, null, null, null, null);
|
| + H.setRuntimeTypeInfo(t1, [$T]);
|
| + t1._Future$immediate$1(value, $T);
|
| + return t1;
|
| +},
|
| +
|
| +_Future$_then: function(onValueCallback, onErrorCallback, $T) {
|
| + var t1 = $.Zone__current;
|
| + t1 = new P._Future(0, t1, null, null, t1.registerUnaryCallback$1(onValueCallback), null, $.Zone__current.registerUnaryCallback$1(onErrorCallback), null);
|
| + H.setRuntimeTypeInfo(t1, [$T]);
|
| + return t1;
|
| +},
|
| +
|
| +_Future$_catchError: function(onErrorCallback, errorTestCallback, $T) {
|
| + var t1, t2;
|
| + t1 = $.Zone__current;
|
| + t2 = t1.registerUnaryCallback$1(onErrorCallback);
|
| + t2 = new P._Future(0, t1, null, null, null, $.Zone__current.registerUnaryCallback$1(errorTestCallback), t2, null);
|
| + H.setRuntimeTypeInfo(t2, [$T]);
|
| + return t2;
|
| +},
|
| +
|
| +_Future__chainFutures: function(source, target) {
|
| + var t1;
|
| + target._state = 2;
|
| + t1 = J.getInterceptor(source);
|
| + if (typeof source === "object" && source !== null && !!t1.$is_Future)
|
| + if (source._state >= 4)
|
| + P._Future__propagateToListeners(source, target);
|
| + else
|
| + source._addListener$1(target);
|
| + else
|
| + source.then$2$onError(new P._Future__chainFutures_closure(target), new P._Future__chainFutures_closure0(target));
|
| +},
|
| +
|
| +_Future__propagateMultipleListeners: function(source, listeners) {
|
| + var listeners0;
|
| + do {
|
| + listeners0 = listeners.get$_nextListener();
|
| + listeners.set$_nextListener(null);
|
| + P._Future__propagateToListeners(source, listeners);
|
| + if (listeners0 != null) {
|
| + listeners = listeners0;
|
| + continue;
|
| + } else
|
| + break;
|
| + } while (true);
|
| +},
|
| +
|
| +_Future__propagateToListeners: function(source, listeners) {
|
| + var t1, t2, hasError, t3, t4, t5, chainSource, listeners0;
|
| + t1 = {};
|
| + t1.source_4 = source;
|
| + for (; true;) {
|
| + t2 = {};
|
| + if (!t1.source_4.get$_isComplete())
|
| + return;
|
| + hasError = t1.source_4.get$_hasError();
|
| + if (hasError && listeners == null) {
|
| + t1.source_4.get$_zone().handleUncaughtError$1(t1.source_4.get$_error());
|
| + return;
|
| + }
|
| + if (listeners == null)
|
| + return;
|
| + if (listeners._nextListener != null) {
|
| + P._Future__propagateMultipleListeners(t1.source_4, listeners);
|
| + return;
|
| + }
|
| + if (hasError && !t1.source_4.get$_zone().inSameErrorZone$1(listeners._zone)) {
|
| + t1.source_4.get$_zone().handleUncaughtError$1(t1.source_4.get$_error());
|
| + return;
|
| + }
|
| + t3 = $.Zone__current;
|
| + t4 = listeners._zone;
|
| + if (t3 == null ? t4 != null : t3 !== t4) {
|
| + t4.run$1(new P._Future__propagateToListeners_closure(t1, listeners));
|
| + return;
|
| + }
|
| + t2.listenerHasValue_1 = null;
|
| + t2.listenerValueOrError_2 = null;
|
| + t2.isPropagationAborted_3 = false;
|
| + t4.run$1(new P._Future__propagateToListeners_closure0(t1, t2, hasError, listeners));
|
| + if (t2.isPropagationAborted_3)
|
| + return;
|
| + t3 = t2.listenerHasValue_1 === true;
|
| + if (t3) {
|
| + t4 = t2.listenerValueOrError_2;
|
| + t5 = J.getInterceptor(t4);
|
| + t5 = typeof t4 === "object" && t4 !== null && !!t5.$isFuture;
|
| + t4 = t5;
|
| + } else
|
| + t4 = false;
|
| + if (t4) {
|
| + chainSource = t2.listenerValueOrError_2;
|
| + t2 = J.getInterceptor(chainSource);
|
| + if (typeof chainSource === "object" && chainSource !== null && !!t2.$is_Future && chainSource._state >= 4) {
|
| + listeners._state = 2;
|
| + t1.source_4 = chainSource;
|
| + continue;
|
| + }
|
| + P._Future__chainFutures(chainSource, listeners);
|
| + return;
|
| + }
|
| + if (t3) {
|
| + listeners0 = listeners._removeListeners$0();
|
| + t2 = t2.listenerValueOrError_2;
|
| + listeners._state = 4;
|
| + listeners._resultOrListeners = t2;
|
| + } else {
|
| + listeners0 = listeners._removeListeners$0();
|
| + t2 = t2.listenerValueOrError_2;
|
| + listeners._state = 8;
|
| + listeners._resultOrListeners = t2;
|
| + }
|
| + t1.source_4 = listeners;
|
| + listeners = listeners0;
|
| + }
|
| +}}
|
| +
|
| +},
|
| +
|
| +_Future__addListener_closure: {"": "Closure;this_0,listener_1",
|
| + call$0: function() {
|
| + P._Future__propagateToListeners(this.this_0, this.listener_1);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_Future__chainFutures_closure: {"": "Closure;target_0",
|
| + call$1: function(value) {
|
| + this.target_0._complete$1(value);
|
| + }
|
| +},
|
| +
|
| +_Future__chainFutures_closure0: {"": "Closure;target_1",
|
| + call$1: function(error) {
|
| + this.target_1._completeError$1(error);
|
| + }
|
| +},
|
| +
|
| +_Future__asyncComplete_closure: {"": "Closure;this_0,value_1",
|
| + call$0: function() {
|
| + this.this_0._complete$1(this.value_1);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_Future__asyncCompleteError_closure: {"": "Closure;this_0,error_1,stackTrace_2",
|
| + call$0: function() {
|
| + this.this_0._completeError$2(this.error_1, this.stackTrace_2);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_Future__propagateToListeners_closure: {"": "Closure;box_2,listener_3",
|
| + call$0: function() {
|
| + P._Future__propagateToListeners(this.box_2.source_4, this.listener_3);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_Future__propagateToListeners_closure0: {"": "Closure;box_2,box_1,hasError_4,listener_5",
|
| + call$0: function() {
|
| + var t1, value, error, test, matchesTest, e, s, t2, t3, t4, exception;
|
| + t1 = {};
|
| + try {
|
| + t2 = this.box_2;
|
| + if (!this.hasError_4) {
|
| + value = t2.source_4.get$_value();
|
| + t2 = this.listener_5;
|
| + t3 = t2._state === 2 ? null : t2._onValueCallback;
|
| + t4 = this.box_1;
|
| + if (t3 != null) {
|
| + t4.listenerValueOrError_2 = t2._onValue$1(value);
|
| + t4.listenerHasValue_1 = true;
|
| + } else {
|
| + t4.listenerValueOrError_2 = value;
|
| + t4.listenerHasValue_1 = true;
|
| + }
|
| + } else {
|
| + error = t2.source_4.get$_error();
|
| + t2 = this.listener_5;
|
| + test = t2._state === 2 ? null : t2._errorTestCallback;
|
| + matchesTest = true;
|
| + if (test != null)
|
| + matchesTest = test.call$1(error);
|
| + if (matchesTest === true)
|
| + t3 = (t2._state === 2 ? null : t2._onErrorCallback) != null;
|
| + else
|
| + t3 = false;
|
| + t4 = this.box_1;
|
| + if (t3) {
|
| + t4.listenerValueOrError_2 = t2._onError$1(error);
|
| + t4.listenerHasValue_1 = true;
|
| + } else {
|
| + t4.listenerValueOrError_2 = error;
|
| + t4.listenerHasValue_1 = false;
|
| + }
|
| + }
|
| + t2 = this.listener_5;
|
| + if ((t2._state === 2 ? null : t2._whenCompleteActionCallback) != null) {
|
| + t1.completeResult_0 = t2._whenCompleteAction$0();
|
| + t3 = t1.completeResult_0;
|
| + t4 = J.getInterceptor(t3);
|
| + if (typeof t3 === "object" && t3 !== null && !!t4.$isFuture) {
|
| + t2.set$_isChained(true);
|
| + t1.completeResult_0.then$2$onError(new P._Future__propagateToListeners__closure(this.box_2, t2), new P._Future__propagateToListeners__closure0(t1, t2));
|
| + this.box_1.isPropagationAborted_3 = true;
|
| + }
|
| + }
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = new H._StackTrace(exception, null);
|
| + t1 = this.box_1;
|
| + t1.listenerValueOrError_2 = P._asyncError(e, s);
|
| + t1.listenerHasValue_1 = false;
|
| + }
|
| +
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_Future__propagateToListeners__closure: {"": "Closure;box_2,listener_6",
|
| + call$1: function(ignored) {
|
| + P._Future__propagateToListeners(this.box_2.source_4, this.listener_6);
|
| + }
|
| +},
|
| +
|
| +_Future__propagateToListeners__closure0: {"": "Closure;box_0,listener_7",
|
| + call$1: function(error) {
|
| + var t1, t2, t3;
|
| + t1 = this.box_0;
|
| + t2 = t1.completeResult_0;
|
| + t3 = J.getInterceptor(t2);
|
| + if (typeof t2 !== "object" || t2 === null || !t3.$is_Future) {
|
| + t1.completeResult_0 = P._Future$(null);
|
| + t1.completeResult_0._setError$1(error);
|
| + }
|
| + P._Future__propagateToListeners(t1.completeResult_0, this.listener_7);
|
| + }
|
| +},
|
| +
|
| +Stream: {"": "Object;",
|
| + map$1: function(_, convert) {
|
| + var t1 = new P._MapStream(convert, this);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "Stream", 0), null]);
|
| + return t1;
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var t1, future;
|
| + t1 = {};
|
| + future = P._Future$(null);
|
| + t1.subscription_0 = null;
|
| + t1.subscription_0 = this.listen$4$cancelOnError$onDone$onError(new P.Stream_forEach_closure(t1, this, action, future), true, new P.Stream_forEach_closure0(future), future.get$_completeError());
|
| + return future;
|
| + },
|
| + get$length: function(_) {
|
| + var t1, future;
|
| + t1 = {};
|
| + future = P._Future$(J.JSInt);
|
| + t1.count_0 = 0;
|
| + this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1), true, new P.Stream_length_closure0(t1, future), future.get$_completeError());
|
| + return future;
|
| + },
|
| + toList$0: function(_) {
|
| + var result, future;
|
| + result = [];
|
| + future = P._Future$([J.JSArray, H.getRuntimeTypeArgument(this, "Stream", 0)]);
|
| + this.listen$4$cancelOnError$onDone$onError(new P.Stream_toList_closure(this, result), true, new P.Stream_toList_closure0(result, future), future.get$_completeError());
|
| + return future;
|
| + }
|
| +},
|
| +
|
| +Stream_forEach_closure: {"": "Closure;box_0,this_1,action_2,future_3",
|
| + call$1: function(element) {
|
| + P._runUserCode(new P.Stream_forEach__closure(this.action_2, element), new P.Stream_forEach__closure0(), P._cancelAndError(this.box_0.subscription_0, this.future_3));
|
| + }
|
| +},
|
| +
|
| +Stream_forEach__closure: {"": "Closure;action_4,element_5",
|
| + call$0: function() {
|
| + return this.action_4.call$1(this.element_5);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +Stream_forEach__closure0: {"": "Closure;",
|
| + call$1: function(_) {
|
| + }
|
| +},
|
| +
|
| +Stream_forEach_closure0: {"": "Closure;future_6",
|
| + call$0: function() {
|
| + this.future_6._complete$1(null);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +Stream_length_closure: {"": "Closure;box_0",
|
| + call$1: function(_) {
|
| + var t1 = this.box_0;
|
| + t1.count_0 = t1.count_0 + 1;
|
| + }
|
| +},
|
| +
|
| +Stream_length_closure0: {"": "Closure;box_0,future_1",
|
| + call$0: function() {
|
| + this.future_1._complete$1(this.box_0.count_0);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +Stream_toList_closure: {"": "Closure;this_0,result_1",
|
| + call$1: function(data) {
|
| + this.result_1.push(data);
|
| + }
|
| +},
|
| +
|
| +Stream_toList_closure0: {"": "Closure;result_2,future_3",
|
| + call$0: function() {
|
| + this.future_3._complete$1(this.result_2);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +StreamSubscription: {"": "Object;"},
|
| +
|
| +EventSink: {"": "Object;"},
|
| +
|
| +_EventSink: {"": "Object;"},
|
| +
|
| +_BufferingStreamSubscription: {"": "Object;_zone<",
|
| + pause$1: function(_, resumeSignal) {
|
| + var t1, t2;
|
| + t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + this._state = (t1 + 64 | 4) >>> 0;
|
| + if (t1 < 64 && this._pending != null) {
|
| + t2 = this._pending;
|
| + t2.cancelSchedule$0;
|
| + if (t2._state === 1)
|
| + t2._state = 3;
|
| + }
|
| + if ((t1 & 4) === 0 && (this._state & 16) === 0)
|
| + this._guardCallback$1(this.get$_onPause());
|
| + },
|
| + pause$0: function($receiver) {
|
| + return this.pause$1($receiver, null);
|
| + },
|
| + resume$0: function() {
|
| + var t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + if (t1 >= 64) {
|
| + this._state = t1 - 64;
|
| + t1 = this._state;
|
| + if (t1 < 64)
|
| + if ((t1 & 32) !== 0 && this._pending.lastPendingEvent != null)
|
| + this._pending.schedule$1(this);
|
| + else {
|
| + this._state = (t1 & 4294967291) >>> 0;
|
| + if ((this._state & 16) === 0)
|
| + this._guardCallback$1(this.get$_onResume());
|
| + }
|
| + }
|
| + },
|
| + cancel$0: function() {
|
| + if ((this._state & 8) !== 0)
|
| + return;
|
| + this._cancel$0();
|
| + var t1 = this._state;
|
| + if ((t1 & 16) === 0) {
|
| + this._state = (t1 | 16) >>> 0;
|
| + this._onCancel$0();
|
| + this._pending = null;
|
| + this._state = (this._state & 4294967279) >>> 0;
|
| + }
|
| + },
|
| + get$_mayResumeInput: function() {
|
| + if (this._state < 64) {
|
| + var t1 = this._pending;
|
| + t1 = t1 == null || t1.lastPendingEvent == null;
|
| + } else
|
| + t1 = false;
|
| + return t1;
|
| + },
|
| + _cancel$0: function() {
|
| + this._state = (this._state | 8) >>> 0;
|
| + if ((this._state & 32) !== 0) {
|
| + var t1 = this._pending;
|
| + t1.cancelSchedule$0;
|
| + if (t1._state === 1)
|
| + t1._state = 3;
|
| + }
|
| + },
|
| + _liblib3$_add$1: function(data) {
|
| + var t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + if (t1 < 16)
|
| + this._sendData$1(data);
|
| + else
|
| + this._addPending$1(new P._DelayedData(data, null));
|
| + },
|
| + _addError$1: function(error) {
|
| + var t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + if (t1 < 16)
|
| + this._sendError$1(error);
|
| + else
|
| + this._addPending$1(new P._DelayedError(error, null));
|
| + },
|
| + _close$0: function() {
|
| + var t1 = this._state;
|
| + if ((t1 & 8) !== 0)
|
| + return;
|
| + this._state = (t1 | 2) >>> 0;
|
| + if (this._state < 16)
|
| + this._sendDone$0();
|
| + else
|
| + this._addPending$1(C.C__DelayedDone);
|
| + },
|
| + _onPause$0: function() {
|
| + },
|
| + get$_onPause: function() {
|
| + return new P.Bound__onPause__BufferingStreamSubscription(this, P._BufferingStreamSubscription.prototype._onPause$0, null, "_onPause$0");
|
| + },
|
| + _onResume$0: function() {
|
| + },
|
| + get$_onResume: function() {
|
| + return new P.Bound__onResume__BufferingStreamSubscription(this, P._BufferingStreamSubscription.prototype._onResume$0, null, "_onResume$0");
|
| + },
|
| + _onCancel$0: function() {
|
| + },
|
| + _addPending$1: function($event) {
|
| + var pending, t1;
|
| + pending = this._pending;
|
| + if (pending == null) {
|
| + pending = new P._StreamImplEvents(null, null, 0);
|
| + this._pending = pending;
|
| + }
|
| + pending.add$1(pending, $event);
|
| + t1 = this._state;
|
| + if ((t1 & 32) === 0) {
|
| + this._state = (t1 | 32) >>> 0;
|
| + if (this._state < 64)
|
| + this._pending.schedule$1(this);
|
| + }
|
| + },
|
| + _sendData$1: function(data) {
|
| + var t1 = this._state;
|
| + this._state = (t1 | 16) >>> 0;
|
| + this._zone.runUnaryGuarded$2(this._liblib3$_onData, data);
|
| + this._state = (this._state & 4294967279) >>> 0;
|
| + this._checkState$1((t1 & 4) !== 0);
|
| + },
|
| + _sendError$1: function(error) {
|
| + var t1, t2;
|
| + t1 = this._state;
|
| + this._state = (t1 | 16) >>> 0;
|
| + t2 = this._zone;
|
| + if (!t2.inSameErrorZone$1($.Zone__current))
|
| + $.Zone__current.handleUncaughtError$1(error);
|
| + else
|
| + t2.runUnaryGuarded$2(this._onError, error);
|
| + this._state = (this._state & 4294967279) >>> 0;
|
| + if ((this._state & 1) !== 0)
|
| + this._cancel$0();
|
| + this._checkState$1((t1 & 4) !== 0);
|
| + },
|
| + _sendDone$0: function() {
|
| + this._state = (this._state | 26) >>> 0;
|
| + this._zone.runGuarded$1(this._onDone);
|
| + this._onCancel$0();
|
| + this._state = (this._state & 4294967279) >>> 0;
|
| + },
|
| + _guardCallback$1: function(callback) {
|
| + var t1 = this._state;
|
| + this._state = (t1 | 16) >>> 0;
|
| + callback.call$0();
|
| + this._state = (this._state & 4294967279) >>> 0;
|
| + this._checkState$1((t1 & 4) !== 0);
|
| + },
|
| + _checkState$1: function(wasInputPaused) {
|
| + var t1, isInputPaused;
|
| + t1 = this._state;
|
| + if ((t1 & 32) !== 0 && this._pending.lastPendingEvent == null) {
|
| + this._state = (t1 & 4294967263) >>> 0;
|
| + if ((this._state & 4) !== 0 && this.get$_mayResumeInput())
|
| + this._state = (this._state & 4294967291) >>> 0;
|
| + }
|
| + for (; true; wasInputPaused = isInputPaused) {
|
| + t1 = this._state;
|
| + if ((t1 & 8) !== 0) {
|
| + this._onCancel$0();
|
| + this._pending = null;
|
| + return;
|
| + }
|
| + isInputPaused = (t1 & 4) !== 0;
|
| + if (wasInputPaused === isInputPaused)
|
| + break;
|
| + this._state = (t1 ^ 16) >>> 0;
|
| + if (isInputPaused)
|
| + this._onPause$0();
|
| + else
|
| + this._onResume$0();
|
| + this._state = (this._state & 4294967279) >>> 0;
|
| + }
|
| + t1 = this._state;
|
| + if ((t1 & 32) !== 0 && t1 < 64)
|
| + this._pending.schedule$1(this);
|
| + },
|
| + _BufferingStreamSubscription$4: function(onData, onError, onDone, cancelOnError) {
|
| + }
|
| +},
|
| +
|
| +_DelayedEvent: {"": "Object;next@"},
|
| +
|
| +_DelayedData: {"": "_DelayedEvent;value,next",
|
| + perform$1: function(dispatch) {
|
| + dispatch._sendData$1(this.value);
|
| + }
|
| +},
|
| +
|
| +_DelayedError: {"": "_DelayedEvent;error,next",
|
| + perform$1: function(dispatch) {
|
| + dispatch._sendError$1(this.error);
|
| + }
|
| +},
|
| +
|
| +_DelayedDone: {"": "Object;",
|
| + perform$1: function(dispatch) {
|
| + dispatch._sendDone$0();
|
| + },
|
| + get$next: function() {
|
| + return;
|
| + },
|
| + set$next: function(_) {
|
| + throw H.wrapException(new P.StateError("No events after a done."));
|
| + }
|
| +},
|
| +
|
| +_PendingEvents: {"": "Object;",
|
| + schedule$1: function(dispatch) {
|
| + var t1 = this._state;
|
| + if (t1 === 1)
|
| + return;
|
| + if (t1 >= 1) {
|
| + this._state = 1;
|
| + return;
|
| + }
|
| + P.runAsync(new P._PendingEvents_schedule_closure(this, dispatch));
|
| + this._state = 1;
|
| + }
|
| +},
|
| +
|
| +_PendingEvents_schedule_closure: {"": "Closure;this_0,dispatch_1",
|
| + call$0: function() {
|
| + var t1, oldState;
|
| + t1 = this.this_0;
|
| + oldState = t1._state;
|
| + t1._state = 0;
|
| + if (oldState === 3)
|
| + return;
|
| + t1.handleNext$1(this.dispatch_1);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_StreamImplEvents: {"": "_PendingEvents;firstPendingEvent,lastPendingEvent,_state",
|
| + add$1: function(_, $event) {
|
| + var t1 = this.lastPendingEvent;
|
| + if (t1 == null) {
|
| + this.lastPendingEvent = $event;
|
| + this.firstPendingEvent = $event;
|
| + } else {
|
| + t1.set$next($event);
|
| + this.lastPendingEvent = $event;
|
| + }
|
| + },
|
| + handleNext$1: function(dispatch) {
|
| + var $event = this.firstPendingEvent;
|
| + this.firstPendingEvent = $event.get$next();
|
| + if (this.firstPendingEvent == null)
|
| + this.lastPendingEvent = null;
|
| + $event.perform$1(dispatch);
|
| + }
|
| +},
|
| +
|
| +_cancelAndError_closure: {"": "Closure;subscription_0,future_1",
|
| + call$1: function(error) {
|
| + this.subscription_0.cancel$0();
|
| + this.future_1._completeError$1(error);
|
| + }
|
| +},
|
| +
|
| +_ForwardingStream: {"": "Stream;",
|
| + listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
|
| + return P._ForwardingStreamSubscription$(this, onData, onError, onDone, true === cancelOnError, H.getRuntimeTypeArgument(this, "_ForwardingStream", 0), H.getRuntimeTypeArgument(this, "_ForwardingStream", 1));
|
| + },
|
| + listen$3$onDone$onError: function(onData, onDone, onError) {
|
| + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
|
| + },
|
| + _handleData$2: function(data, sink) {
|
| + sink._liblib3$_add$1(data);
|
| + },
|
| + $asStream: function($S, $T) {
|
| + return [$T];
|
| + }
|
| +},
|
| +
|
| +_ForwardingStreamSubscription: {"": "_BufferingStreamSubscription;_stream,_subscription,_liblib3$_onData,_onError,_onDone,_zone,_state,_pending",
|
| + _liblib3$_add$1: function(data) {
|
| + if ((this._state & 2) !== 0)
|
| + return;
|
| + P._BufferingStreamSubscription.prototype._liblib3$_add$1.call(this, data);
|
| + },
|
| + _addError$1: function(error) {
|
| + if ((this._state & 2) !== 0)
|
| + return;
|
| + P._BufferingStreamSubscription.prototype._addError$1.call(this, error);
|
| + },
|
| + _onPause$0: function() {
|
| + var t1 = this._subscription;
|
| + if (t1 == null)
|
| + return;
|
| + t1.pause$0(t1);
|
| + },
|
| + get$_onPause: function() {
|
| + return new P.Bound__onPause__ForwardingStreamSubscription(this, P._ForwardingStreamSubscription.prototype._onPause$0, null, "_onPause$0");
|
| + },
|
| + _onResume$0: function() {
|
| + var t1 = this._subscription;
|
| + if (t1 == null)
|
| + return;
|
| + t1.resume$0();
|
| + },
|
| + get$_onResume: function() {
|
| + return new P.Bound__onResume__ForwardingStreamSubscription(this, P._ForwardingStreamSubscription.prototype._onResume$0, null, "_onResume$0");
|
| + },
|
| + _onCancel$0: function() {
|
| + var t1 = this._subscription;
|
| + if (t1 != null) {
|
| + this._subscription = null;
|
| + t1.cancel$0();
|
| + }
|
| + },
|
| + _handleData$1: function(data) {
|
| + this._stream._handleData$2(data, this);
|
| + },
|
| + get$_handleData: function() {
|
| + return new P.BoundClosure$1(this, P._ForwardingStreamSubscription.prototype._handleData$1, null, "_handleData$1");
|
| + },
|
| + _handleError$1: function(error) {
|
| + this._addError$1(error);
|
| + },
|
| + get$_handleError: function() {
|
| + return new P.BoundClosure$1(this, P._ForwardingStreamSubscription.prototype._handleError$1, null, "_handleError$1");
|
| + },
|
| + _handleDone$0: function() {
|
| + this._close$0();
|
| + },
|
| + get$_handleDone: function() {
|
| + return new P.Bound__handleDone__ForwardingStreamSubscription(this, P._ForwardingStreamSubscription.prototype._handleDone$0, null, "_handleDone$0");
|
| + },
|
| + _ForwardingStreamSubscription$5: function(_stream, onData, onError, onDone, cancelOnError, $S, $T) {
|
| + var t1, t2;
|
| + t1 = this.get$_handleData();
|
| + t2 = this.get$_handleError();
|
| + this._subscription = this._stream._liblib3$_source.listen$3$onDone$onError(t1, this.get$_handleDone(), t2);
|
| + },
|
| + $as_BufferingStreamSubscription: function($S, $T) {
|
| + return [$T];
|
| + },
|
| + static: {
|
| +_ForwardingStreamSubscription$: function(_stream, onData, onError, onDone, cancelOnError, $S, $T) {
|
| + var t1, t2, t3, t4, t5;
|
| + t1 = $.Zone__current;
|
| + t2 = t1.registerUnaryCallback$1(onData);
|
| + t3 = $.Zone__current.registerUnaryCallback$1(onError);
|
| + t4 = $.Zone__current.registerCallback$1(onDone);
|
| + t5 = cancelOnError ? 1 : 0;
|
| + t5 = new P._ForwardingStreamSubscription(_stream, null, t2, t3, t4, t1, t5, null);
|
| + H.setRuntimeTypeInfo(t5, [$S, $T]);
|
| + t5._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError);
|
| + t5._ForwardingStreamSubscription$5(_stream, onData, onError, onDone, cancelOnError, $S, $T);
|
| + return t5;
|
| +}}
|
| +
|
| +},
|
| +
|
| +_MapStream: {"": "_ForwardingStream;_transform,_liblib3$_source",
|
| + _transform$1: function(arg0) {
|
| + return this._transform.call$1(arg0);
|
| + },
|
| + _handleData$2: function(inputEvent, sink) {
|
| + var outputEvent, e, s, exception, t1;
|
| + outputEvent = null;
|
| + try {
|
| + outputEvent = this._transform$1(inputEvent);
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = new H._StackTrace(exception, null);
|
| + sink._addError$1(P._asyncError(e, s));
|
| + return;
|
| + }
|
| +
|
| + sink._liblib3$_add$1(outputEvent);
|
| + },
|
| + $as_ForwardingStream: null
|
| +},
|
| +
|
| +Timer: {"": "Object;"},
|
| +
|
| +ZoneSpecification: {"": "Object;"},
|
| +
|
| +_ZoneSpecification: {"": "Object;handleUncaughtError,run,runUnary,registerCallback,registerUnaryCallback,scheduleMicrotask,createTimer,createPeriodicTimer,fork",
|
| + handleUncaughtError$1: function(arg0) {
|
| + return this.handleUncaughtError.call$1(arg0);
|
| + },
|
| + run$1: function(arg0) {
|
| + return this.run.call$1(arg0);
|
| + },
|
| + registerCallback$1: function(arg0) {
|
| + return this.registerCallback.call$1(arg0);
|
| + },
|
| + registerUnaryCallback$1: function(arg0) {
|
| + return this.registerUnaryCallback.call$1(arg0);
|
| + },
|
| + scheduleMicrotask$1: function(arg0) {
|
| + return this.scheduleMicrotask.call$1(arg0);
|
| + },
|
| + createTimer$2: function(arg0, arg1) {
|
| + return this.createTimer.call$2(arg0, arg1);
|
| + },
|
| + $is_ZoneSpecification: true
|
| +},
|
| +
|
| +ZoneDelegate: {"": "Object;"},
|
| +
|
| +Zone: {"": "Object;"},
|
| +
|
| +_ZoneDelegate: {"": "Object;_degelationTarget",
|
| + get$_zone: function() {
|
| + return this._degelationTarget;
|
| + },
|
| + handleUncaughtError$2: function(zone, e) {
|
| + var $parent, t1, t2;
|
| + $parent = this._degelationTarget;
|
| + for (; t1 = $parent.get$_specification().handleUncaughtError, t2 = J.getInterceptor$x($parent), t1 == null;)
|
| + $parent = t2.get$parent($parent);
|
| + return t1.call$4($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, e);
|
| + },
|
| + run$2: function(zone, f) {
|
| + var $parent, t1, t2;
|
| + $parent = this._degelationTarget;
|
| + for (; t1 = $parent.get$_specification().run, t2 = J.getInterceptor$x($parent), t1 == null;)
|
| + $parent = t2.get$parent($parent);
|
| + return t1.call$4($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, f);
|
| + },
|
| + runUnary$3: function(zone, f, arg) {
|
| + var $parent, t1, t2;
|
| + $parent = this._degelationTarget;
|
| + for (; t1 = $parent.get$_specification().runUnary, t2 = J.getInterceptor$x($parent), t1 == null;)
|
| + $parent = t2.get$parent($parent);
|
| + return t1.call$5($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, f, arg);
|
| + },
|
| + registerCallback$2: function(zone, f) {
|
| + var $parent, t1, t2;
|
| + $parent = this._degelationTarget;
|
| + for (; t1 = $parent.get$_specification().registerCallback, t2 = J.getInterceptor$x($parent), t1 == null;)
|
| + $parent = t2.get$parent($parent);
|
| + return t1.call$4($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, f);
|
| + },
|
| + registerUnaryCallback$2: function(zone, f) {
|
| + var $parent, t1, t2;
|
| + $parent = this._degelationTarget;
|
| + for (; t1 = $parent.get$_specification().registerUnaryCallback, t2 = J.getInterceptor$x($parent), t1 == null;)
|
| + $parent = t2.get$parent($parent);
|
| + return t1.call$4($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, f);
|
| + },
|
| + scheduleMicrotask$2: function(zone, f) {
|
| + var $parent, t1;
|
| + $parent = this._degelationTarget;
|
| + for (; t1 = J.getInterceptor$x($parent), $parent.get$_specification().scheduleMicrotask == null;)
|
| + $parent = t1.get$parent($parent);
|
| + t1 = t1.get$parent($parent);
|
| + $parent.get$_specification().scheduleMicrotask.call$4($parent, new P._ZoneDelegate(t1), zone, f);
|
| + },
|
| + createTimer$3: function(zone, duration, f) {
|
| + var $parent, t1, t2;
|
| + $parent = this._degelationTarget;
|
| + for (; t1 = $parent.get$_specification().createTimer, t2 = J.getInterceptor$x($parent), t1 == null;)
|
| + $parent = t2.get$parent($parent);
|
| + return t1.call$5($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, duration, f);
|
| + }
|
| +},
|
| +
|
| +_CustomizedZone: {"": "Object;parent>,_specification<,_map",
|
| + get$_errorZone: function() {
|
| + if (this._specification.handleUncaughtError != null)
|
| + return this;
|
| + return this.parent.get$_errorZone();
|
| + },
|
| + inSameErrorZone$1: function(otherZone) {
|
| + return this.get$_errorZone() === otherZone.get$_errorZone();
|
| + },
|
| + runGuarded$1: function(f) {
|
| + var e, s, t1, exception;
|
| + try {
|
| + t1 = new P._ZoneDelegate(this).run$2(this, f);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = new H._StackTrace(exception, null);
|
| + return new P._ZoneDelegate(this).handleUncaughtError$2(this, P._asyncError(e, s));
|
| + }
|
| +
|
| + },
|
| + runUnaryGuarded$2: function(f, arg) {
|
| + var e, s, t1, exception;
|
| + try {
|
| + t1 = new P._ZoneDelegate(this).runUnary$3(this, f, arg);
|
| + return t1;
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + s = new H._StackTrace(exception, null);
|
| + return new P._ZoneDelegate(this).handleUncaughtError$2(this, P._asyncError(e, s));
|
| + }
|
| +
|
| + },
|
| + bindCallback$2$runGuarded: function(f, runGuarded) {
|
| + var registered = new P._ZoneDelegate(this).registerCallback$2(this, f);
|
| + if (runGuarded)
|
| + return new P._CustomizedZone_bindCallback_closure(this, registered);
|
| + else
|
| + return new P._CustomizedZone_bindCallback_closure0(this, registered);
|
| + },
|
| + bindUnaryCallback$2$runGuarded: function(f, runGuarded) {
|
| + var registered = new P._ZoneDelegate(this).registerUnaryCallback$2(this, f);
|
| + if (runGuarded)
|
| + return new P._CustomizedZone_bindUnaryCallback_closure(this, registered);
|
| + else
|
| + return new P._CustomizedZone_bindUnaryCallback_closure0(this, registered);
|
| + },
|
| + $index: function(_, key) {
|
| + var t1, result;
|
| + t1 = this._map;
|
| + result = t1.$index(t1, key);
|
| + if (result != null || t1.containsKey$1(key))
|
| + return result;
|
| + t1 = this.parent;
|
| + if (t1 != null)
|
| + return J.$index$asx(t1, key);
|
| + return;
|
| + },
|
| + handleUncaughtError$1: function(error) {
|
| + return new P._ZoneDelegate(this).handleUncaughtError$2(this, error);
|
| + },
|
| + run$1: function(f) {
|
| + return new P._ZoneDelegate(this).run$2(this, f);
|
| + },
|
| + registerCallback$1: function(f) {
|
| + return new P._ZoneDelegate(this).registerCallback$2(this, f);
|
| + },
|
| + registerUnaryCallback$1: function(f) {
|
| + return new P._ZoneDelegate(this).registerUnaryCallback$2(this, f);
|
| + },
|
| + scheduleMicrotask$1: function(f) {
|
| + new P._ZoneDelegate(this).scheduleMicrotask$2(this, f);
|
| + },
|
| + createTimer$2: function(duration, f) {
|
| + return new P._ZoneDelegate(this).createTimer$3(this, duration, f);
|
| + }
|
| +},
|
| +
|
| +_CustomizedZone_bindCallback_closure: {"": "Closure;this_0,registered_1",
|
| + call$0: function() {
|
| + return this.this_0.runGuarded$1(this.registered_1);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_CustomizedZone_bindCallback_closure0: {"": "Closure;this_2,registered_3",
|
| + call$0: function() {
|
| + var t1 = this.this_2;
|
| + return new P._ZoneDelegate(t1).run$2(t1, this.registered_3);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_CustomizedZone_bindUnaryCallback_closure: {"": "Closure;this_0,registered_1",
|
| + call$1: function(arg) {
|
| + return this.this_0.runUnaryGuarded$2(this.registered_1, arg);
|
| + }
|
| +},
|
| +
|
| +_CustomizedZone_bindUnaryCallback_closure0: {"": "Closure;this_2,registered_3",
|
| + call$1: function(arg) {
|
| + var t1 = this.this_2;
|
| + return new P._ZoneDelegate(t1).runUnary$3(t1, this.registered_3, arg);
|
| + }
|
| +},
|
| +
|
| +_rootHandleUncaughtError_closure: {"": "Closure;error_0",
|
| + call$0: function() {
|
| + var t1, trace;
|
| + t1 = this.error_0;
|
| + H.Primitives_printString("Uncaught Error: " + H.S(t1));
|
| + trace = P.getAttachedStackTrace(t1);
|
| + P._attachStackTrace(t1, null);
|
| + if (trace != null)
|
| + H.Primitives_printString("Stack Trace:\n" + H.S(trace) + "\n");
|
| + throw H.wrapException(t1);
|
| + },
|
| + $is_void_: true
|
| +},
|
| +
|
| +_rootFork_closure: {"": "Closure;copiedMap_0",
|
| + call$2: function(key, value) {
|
| + var t1;
|
| + if (key == null)
|
| + throw H.wrapException(new P.ArgumentError("ZoneValue key must not be null"));
|
| + t1 = this.copiedMap_0;
|
| + t1.$indexSet(t1, key, value);
|
| + }
|
| +}}],
|
| +["dart.collection", "dart:collection", , P, {
|
| +_defaultEquals: function(a, b) {
|
| + return J.$eq(a, b);
|
| +},
|
| +
|
| +_defaultHashCode: function(a) {
|
| + return J.get$hashCode$(a);
|
| +},
|
| +
|
| +HashMap_HashMap: function(equals, hashCode, isValidKey, $K, $V) {
|
| + var t1 = new P._HashMap(0, null, null, null, null);
|
| + H.setRuntimeTypeInfo(t1, [$K, $V]);
|
| + return t1;
|
| +},
|
| +
|
| +LinkedHashMap_LinkedHashMap: function(equals, hashCode, isValidKey, $K, $V) {
|
| + var t1;
|
| + if (hashCode == null) {
|
| + if (equals == null) {
|
| + t1 = new P._LinkedHashMap(0, null, null, null, null, null, 0);
|
| + H.setRuntimeTypeInfo(t1, [$K, $V]);
|
| + return t1;
|
| + }
|
| + hashCode = P._defaultHashCode$closure;
|
| + } else {
|
| + if ((P.identityHashCode$closure == null ? hashCode == null : P.identityHashCode$closure === hashCode) && (P.identical$closure == null ? equals == null : P.identical$closure === equals)) {
|
| + t1 = new P._LinkedIdentityHashMap(0, null, null, null, null, null, 0);
|
| + H.setRuntimeTypeInfo(t1, [$K, $V]);
|
| + return t1;
|
| + }
|
| + if (equals == null)
|
| + equals = P._defaultEquals$closure;
|
| + }
|
| + return P._LinkedCustomHashMap$(equals, hashCode, isValidKey, $K, $V);
|
| +},
|
| +
|
| +Maps_mapToString: function(m) {
|
| + var t1, result, i, t2;
|
| + t1 = {};
|
| + for (i = 0; i < $.get$Maps__toStringList().length; ++i) {
|
| + t2 = $.get$Maps__toStringList();
|
| + if (i >= t2.length)
|
| + throw H.ioore(t2, i);
|
| + if (t2[i] === m)
|
| + return "{...}";
|
| + }
|
| + result = P.StringBuffer$("");
|
| + try {
|
| + $.get$Maps__toStringList().push(m);
|
| + result.write$1("{");
|
| + t1.first_0 = true;
|
| + J.forEach$1$ax(m, new P.Maps_mapToString_closure(t1, result));
|
| + result.write$1("}");
|
| + } finally {
|
| + t1 = $.get$Maps__toStringList();
|
| + if (0 >= t1.length)
|
| + throw H.ioore(t1, 0);
|
| + t1.pop();
|
| + }
|
| + return result.get$_contents();
|
| +},
|
| +
|
| +_HashMap: {"": "Object;_liblib0$_length,_strings,_nums,_rest,_liblib0$_keys",
|
| + get$length: function(_) {
|
| + return this._liblib0$_length;
|
| + },
|
| + get$keys: function() {
|
| + var t1 = new P.HashMapKeyIterable(this);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_HashMap", 0)]);
|
| + return t1;
|
| + },
|
| + get$values: function(_) {
|
| + var t1, t2;
|
| + t1 = new P.HashMapKeyIterable(this);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_HashMap", 0)]);
|
| + t2 = new H.MappedIterable(t1, new P._HashMap_values_closure(this));
|
| + H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "IterableBase", 0), null]);
|
| + return t2;
|
| + },
|
| + containsKey$1: function(key) {
|
| + var strings, nums, rest;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._strings;
|
| + return strings == null ? false : strings[key] != null;
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._nums;
|
| + return nums == null ? false : nums[key] != null;
|
| + } else {
|
| + rest = this._rest;
|
| + if (rest == null)
|
| + return false;
|
| + return this._findBucketIndex$2(rest[this._computeHashCode$1(key)], key) >= 0;
|
| + }
|
| + },
|
| + $index: function(_, key) {
|
| + var strings, t1, entry, nums, rest, bucket, index;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._strings;
|
| + if (strings == null)
|
| + t1 = null;
|
| + else {
|
| + entry = strings[key];
|
| + t1 = entry === strings ? null : entry;
|
| + }
|
| + return t1;
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._nums;
|
| + if (nums == null)
|
| + t1 = null;
|
| + else {
|
| + entry = nums[key];
|
| + t1 = entry === nums ? null : entry;
|
| + }
|
| + return t1;
|
| + } else {
|
| + rest = this._rest;
|
| + if (rest == null)
|
| + return;
|
| + bucket = rest[this._computeHashCode$1(key)];
|
| + index = this._findBucketIndex$2(bucket, key);
|
| + return index < 0 ? null : bucket[index + 1];
|
| + }
|
| + },
|
| + $indexSet: function(_, key, value) {
|
| + var strings, nums, rest, hash, bucket, index;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._strings;
|
| + if (strings == null) {
|
| + strings = P._HashMap__newHashTable();
|
| + this._strings = strings;
|
| + }
|
| + this._addHashTableEntry$3(strings, key, value);
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._nums;
|
| + if (nums == null) {
|
| + nums = P._HashMap__newHashTable();
|
| + this._nums = nums;
|
| + }
|
| + this._addHashTableEntry$3(nums, key, value);
|
| + } else {
|
| + rest = this._rest;
|
| + if (rest == null) {
|
| + rest = P._HashMap__newHashTable();
|
| + this._rest = rest;
|
| + }
|
| + hash = this._computeHashCode$1(key);
|
| + bucket = rest[hash];
|
| + if (bucket == null) {
|
| + P._HashMap__setTableEntry(rest, hash, [key, value]);
|
| + this._liblib0$_length = this._liblib0$_length + 1;
|
| + this._liblib0$_keys = null;
|
| + } else {
|
| + index = this._findBucketIndex$2(bucket, key);
|
| + if (index >= 0)
|
| + bucket[index + 1] = value;
|
| + else {
|
| + bucket.push(key, value);
|
| + this._liblib0$_length = this._liblib0$_length + 1;
|
| + this._liblib0$_keys = null;
|
| + }
|
| + }
|
| + }
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var keys, $length, i, key;
|
| + keys = this._computeKeys$0();
|
| + for ($length = keys.length, i = 0; i < $length; ++i) {
|
| + key = keys[i];
|
| + action.call$2(key, this.$index(this, key));
|
| + if (keys !== this._liblib0$_keys)
|
| + throw H.wrapException(new P.ConcurrentModificationError(this));
|
| + }
|
| + },
|
| + _computeKeys$0: function() {
|
| + var t1, result, strings, names, entries, index, i, nums, rest, bucket, $length, i0;
|
| + t1 = this._liblib0$_keys;
|
| + if (t1 != null)
|
| + return t1;
|
| + result = P.List_List(this._liblib0$_length, null);
|
| + strings = this._strings;
|
| + if (strings != null) {
|
| + names = Object.getOwnPropertyNames(strings);
|
| + entries = names.length;
|
| + for (index = 0, i = 0; i < entries; ++i) {
|
| + result[index] = names[i];
|
| + ++index;
|
| + }
|
| + } else
|
| + index = 0;
|
| + nums = this._nums;
|
| + if (nums != null) {
|
| + names = Object.getOwnPropertyNames(nums);
|
| + entries = names.length;
|
| + for (i = 0; i < entries; ++i) {
|
| + result[index] = +names[i];
|
| + ++index;
|
| + }
|
| + }
|
| + rest = this._rest;
|
| + if (rest != null) {
|
| + names = Object.getOwnPropertyNames(rest);
|
| + entries = names.length;
|
| + for (i = 0; i < entries; ++i) {
|
| + bucket = rest[names[i]];
|
| + $length = bucket.length;
|
| + for (i0 = 0; i0 < $length; i0 += 2) {
|
| + result[index] = bucket[i0];
|
| + ++index;
|
| + }
|
| + }
|
| + }
|
| + this._liblib0$_keys = result;
|
| + return result;
|
| + },
|
| + _addHashTableEntry$3: function(table, key, value) {
|
| + if (table[key] == null) {
|
| + this._liblib0$_length = this._liblib0$_length + 1;
|
| + this._liblib0$_keys = null;
|
| + }
|
| + P._HashMap__setTableEntry(table, key, value);
|
| + },
|
| + _computeHashCode$1: function(key) {
|
| + return J.get$hashCode$(key) & 0x3ffffff;
|
| + },
|
| + _findBucketIndex$2: function(bucket, key) {
|
| + var $length, i;
|
| + if (bucket == null)
|
| + return -1;
|
| + $length = bucket.length;
|
| + for (i = 0; i < $length; i += 2)
|
| + if (J.$eq(bucket[i], key))
|
| + return i;
|
| + return -1;
|
| + },
|
| + $isMap: true,
|
| + static: {
|
| +_HashMap__setTableEntry: function(table, key, value) {
|
| + if (value == null)
|
| + table[key] = table;
|
| + else
|
| + table[key] = value;
|
| +},
|
| +
|
| +_HashMap__newHashTable: function() {
|
| + var table = Object.create(null);
|
| + P._HashMap__setTableEntry(table, "<non-identifier-key>", table);
|
| + delete table["<non-identifier-key>"];
|
| + return table;
|
| +}}
|
| +
|
| +},
|
| +
|
| +_HashMap_values_closure: {"": "Closure;this_0",
|
| + call$1: function(each) {
|
| + var t1 = this.this_0;
|
| + return t1.$index(t1, each);
|
| + }
|
| +},
|
| +
|
| +HashMapKeyIterable: {"": "IterableBase;_liblib0$_map",
|
| + get$length: function(_) {
|
| + return this._liblib0$_map._liblib0$_length;
|
| + },
|
| + get$iterator: function(_) {
|
| + var t1 = this._liblib0$_map;
|
| + return new P.HashMapKeyIterator(t1, t1._computeKeys$0(), 0, null);
|
| + },
|
| + forEach$1: function(_, f) {
|
| + var t1, keys, $length, i;
|
| + t1 = this._liblib0$_map;
|
| + keys = t1._computeKeys$0();
|
| + for ($length = keys.length, i = 0; i < $length; ++i) {
|
| + f.call$1(keys[i]);
|
| + if (keys !== t1._liblib0$_keys)
|
| + throw H.wrapException(new P.ConcurrentModificationError(t1));
|
| + }
|
| + },
|
| + $asIterableBase: null
|
| +},
|
| +
|
| +HashMapKeyIterator: {"": "Object;_liblib0$_map,_liblib0$_keys,_offset,_liblib0$_current",
|
| + get$current: function() {
|
| + return this._liblib0$_current;
|
| + },
|
| + moveNext$0: function() {
|
| + var keys, offset, t1;
|
| + keys = this._liblib0$_keys;
|
| + offset = this._offset;
|
| + t1 = this._liblib0$_map;
|
| + if (keys !== t1._liblib0$_keys)
|
| + throw H.wrapException(new P.ConcurrentModificationError(t1));
|
| + else if (offset >= keys.length) {
|
| + this._liblib0$_current = null;
|
| + return false;
|
| + } else {
|
| + this._liblib0$_current = keys[offset];
|
| + this._offset = offset + 1;
|
| + return true;
|
| + }
|
| + }
|
| +},
|
| +
|
| +_LinkedHashMap: {"": "Object;_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications",
|
| + get$length: function(_) {
|
| + return this._liblib0$_length;
|
| + },
|
| + get$keys: function() {
|
| + var t1 = new P.LinkedHashMapKeyIterable(this);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_LinkedHashMap", 0)]);
|
| + return t1;
|
| + },
|
| + get$values: function(_) {
|
| + var t1, t2;
|
| + t1 = new P.LinkedHashMapKeyIterable(this);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_LinkedHashMap", 0)]);
|
| + t2 = new H.MappedIterable(t1, new P._LinkedHashMap_values_closure(this));
|
| + H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "IterableBase", 0), null]);
|
| + return t2;
|
| + },
|
| + containsKey$1: function(key) {
|
| + var strings, nums, rest;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._strings;
|
| + if (strings == null)
|
| + return false;
|
| + return strings[key] != null;
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._nums;
|
| + if (nums == null)
|
| + return false;
|
| + return nums[key] != null;
|
| + } else {
|
| + rest = this._rest;
|
| + if (rest == null)
|
| + return false;
|
| + return this._findBucketIndex$2(rest[this._computeHashCode$1(key)], key) >= 0;
|
| + }
|
| + },
|
| + $index: function(_, key) {
|
| + var strings, cell, nums, rest, bucket, index;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._strings;
|
| + if (strings == null)
|
| + return;
|
| + cell = strings[key];
|
| + return cell == null ? null : cell.get$_liblib0$_value();
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._nums;
|
| + if (nums == null)
|
| + return;
|
| + cell = nums[key];
|
| + return cell == null ? null : cell.get$_liblib0$_value();
|
| + } else {
|
| + rest = this._rest;
|
| + if (rest == null)
|
| + return;
|
| + bucket = rest[this._computeHashCode$1(key)];
|
| + index = this._findBucketIndex$2(bucket, key);
|
| + if (index < 0)
|
| + return;
|
| + return bucket[index].get$_liblib0$_value();
|
| + }
|
| + },
|
| + $indexSet: function(_, key, value) {
|
| + var strings, nums, rest, hash, bucket, index;
|
| + if (typeof key === "string" && key !== "__proto__") {
|
| + strings = this._strings;
|
| + if (strings == null) {
|
| + strings = P._LinkedHashMap__newHashTable();
|
| + this._strings = strings;
|
| + }
|
| + this._addHashTableEntry$3(strings, key, value);
|
| + } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
|
| + nums = this._nums;
|
| + if (nums == null) {
|
| + nums = P._LinkedHashMap__newHashTable();
|
| + this._nums = nums;
|
| + }
|
| + this._addHashTableEntry$3(nums, key, value);
|
| + } else {
|
| + rest = this._rest;
|
| + if (rest == null) {
|
| + rest = P._LinkedHashMap__newHashTable();
|
| + this._rest = rest;
|
| + }
|
| + hash = this._computeHashCode$1(key);
|
| + bucket = rest[hash];
|
| + if (bucket == null)
|
| + rest[hash] = [this._newLinkedCell$2(key, value)];
|
| + else {
|
| + index = this._findBucketIndex$2(bucket, key);
|
| + if (index >= 0)
|
| + bucket[index].set$_liblib0$_value(value);
|
| + else
|
| + bucket.push(this._newLinkedCell$2(key, value));
|
| + }
|
| + }
|
| + },
|
| + remove$1: function(_, key) {
|
| + var rest, bucket, index, cell;
|
| + if (typeof key === "string" && key !== "__proto__")
|
| + return this._removeHashTableEntry$2(this._strings, key);
|
| + else if (typeof key === "number" && (key & 0x3ffffff) === key)
|
| + return this._removeHashTableEntry$2(this._nums, key);
|
| + else {
|
| + rest = this._rest;
|
| + if (rest == null)
|
| + return;
|
| + bucket = rest[this._computeHashCode$1(key)];
|
| + index = this._findBucketIndex$2(bucket, key);
|
| + if (index < 0)
|
| + return;
|
| + cell = bucket.splice(index, 1)[0];
|
| + this._unlinkCell$1(cell);
|
| + return cell.get$_liblib0$_value();
|
| + }
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var cell, modifications;
|
| + cell = this._first;
|
| + modifications = this._modifications;
|
| + for (; cell != null;) {
|
| + action.call$2(cell._key, cell._liblib0$_value);
|
| + if (modifications !== this._modifications)
|
| + throw H.wrapException(new P.ConcurrentModificationError(this));
|
| + cell = cell._next;
|
| + }
|
| + },
|
| + _addHashTableEntry$3: function(table, key, value) {
|
| + var cell = table[key];
|
| + if (cell == null)
|
| + table[key] = this._newLinkedCell$2(key, value);
|
| + else
|
| + cell.set$_liblib0$_value(value);
|
| + },
|
| + _removeHashTableEntry$2: function(table, key) {
|
| + var cell;
|
| + if (table == null)
|
| + return;
|
| + cell = table[key];
|
| + if (cell == null)
|
| + return;
|
| + this._unlinkCell$1(cell);
|
| + delete table[key];
|
| + return cell.get$_liblib0$_value();
|
| + },
|
| + _newLinkedCell$2: function(key, value) {
|
| + var cell, last;
|
| + cell = new P.LinkedHashMapCell(key, value, null, null);
|
| + if (this._first == null) {
|
| + this._last = cell;
|
| + this._first = cell;
|
| + } else {
|
| + last = this._last;
|
| + cell._previous = last;
|
| + last._next = cell;
|
| + this._last = cell;
|
| + }
|
| + this._liblib0$_length = this._liblib0$_length + 1;
|
| + this._modifications = this._modifications + 1 & 67108863;
|
| + return cell;
|
| + },
|
| + _unlinkCell$1: function(cell) {
|
| + var previous, next;
|
| + previous = cell.get$_previous();
|
| + next = cell.get$_next();
|
| + if (previous == null)
|
| + this._first = next;
|
| + else
|
| + previous._next = next;
|
| + if (next == null)
|
| + this._last = previous;
|
| + else
|
| + next._previous = previous;
|
| + this._liblib0$_length = this._liblib0$_length - 1;
|
| + this._modifications = this._modifications + 1 & 67108863;
|
| + },
|
| + _computeHashCode$1: function(key) {
|
| + return J.get$hashCode$(key) & 0x3ffffff;
|
| + },
|
| + _findBucketIndex$2: function(bucket, key) {
|
| + var $length, i;
|
| + if (bucket == null)
|
| + return -1;
|
| + $length = bucket.length;
|
| + for (i = 0; i < $length; ++i)
|
| + if (J.$eq(bucket[i].get$_key(), key))
|
| + return i;
|
| + return -1;
|
| + },
|
| + toString$0: function(_) {
|
| + return P.Maps_mapToString(this);
|
| + },
|
| + $isMap: true,
|
| + static: {
|
| +_LinkedHashMap__newHashTable: function() {
|
| + var table = Object.create(null);
|
| + table["<non-identifier-key>"] = table;
|
| + delete table["<non-identifier-key>"];
|
| + return table;
|
| +}}
|
| +
|
| +},
|
| +
|
| +_LinkedHashMap_values_closure: {"": "Closure;this_0",
|
| + call$1: function(each) {
|
| + var t1 = this.this_0;
|
| + return t1.$index(t1, each);
|
| + }
|
| +},
|
| +
|
| +_LinkedIdentityHashMap: {"": "_LinkedHashMap;_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications",
|
| + _computeHashCode$1: function(key) {
|
| + return H.objectHashCode(key) & 0x3ffffff;
|
| + },
|
| + _findBucketIndex$2: function(bucket, key) {
|
| + var $length, i, t1;
|
| + if (bucket == null)
|
| + return -1;
|
| + $length = bucket.length;
|
| + for (i = 0; i < $length; ++i) {
|
| + t1 = bucket[i].get$_key();
|
| + if (t1 == null ? key == null : t1 === key)
|
| + return i;
|
| + }
|
| + return -1;
|
| + },
|
| + $as_LinkedHashMap: null,
|
| + $asMap: null
|
| +},
|
| +
|
| +_LinkedCustomHashMap: {"": "_LinkedHashMap;_equals,_hashCode,_validKey,_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications",
|
| + _equals$2: function(arg0, arg1) {
|
| + return this._equals.call$2(arg0, arg1);
|
| + },
|
| + _hashCode$1: function(arg0) {
|
| + return this._hashCode.call$1(arg0);
|
| + },
|
| + _validKey$1: function(arg0) {
|
| + return this._validKey.call$1(arg0);
|
| + },
|
| + $index: function(_, key) {
|
| + if (this._validKey$1(key) !== true)
|
| + return;
|
| + return P._LinkedHashMap.prototype.$index.call(this, this, key);
|
| + },
|
| + containsKey$1: function(key) {
|
| + if (this._validKey$1(key) !== true)
|
| + return false;
|
| + return P._LinkedHashMap.prototype.containsKey$1.call(this, key);
|
| + },
|
| + remove$1: function(_, key) {
|
| + if (this._validKey$1(key) !== true)
|
| + return;
|
| + return P._LinkedHashMap.prototype.remove$1.call(this, this, key);
|
| + },
|
| + _computeHashCode$1: function(key) {
|
| + return this._hashCode$1(key) & 0x3ffffff;
|
| + },
|
| + _findBucketIndex$2: function(bucket, key) {
|
| + var $length, i;
|
| + if (bucket == null)
|
| + return -1;
|
| + $length = bucket.length;
|
| + for (i = 0; i < $length; ++i)
|
| + if (this._equals$2(bucket[i].get$_key(), key) === true)
|
| + return i;
|
| + return -1;
|
| + },
|
| + $as_LinkedHashMap: null,
|
| + $asMap: null,
|
| + static: {
|
| +_LinkedCustomHashMap$: function(_equals, _hashCode, validKey, $K, $V) {
|
| + var t1 = new P._LinkedCustomHashMap_closure($K);
|
| + t1 = new P._LinkedCustomHashMap(_equals, _hashCode, t1, 0, null, null, null, null, null, 0);
|
| + H.setRuntimeTypeInfo(t1, [$K, $V]);
|
| + return t1;
|
| +}}
|
| +
|
| +},
|
| +
|
| +_LinkedCustomHashMap_closure: {"": "Closure;K_0",
|
| + call$1: function(v) {
|
| + var t1 = H.checkSubtypeOfRuntimeType(v, this.K_0);
|
| + return t1;
|
| + }
|
| +},
|
| +
|
| +LinkedHashMapCell: {"": "Object;_key<,_liblib0$_value@,_next<,_previous<"},
|
| +
|
| +LinkedHashMapKeyIterable: {"": "IterableBase;_liblib0$_map",
|
| + get$length: function(_) {
|
| + return this._liblib0$_map._liblib0$_length;
|
| + },
|
| + get$iterator: function(_) {
|
| + var t1 = this._liblib0$_map;
|
| + t1 = new P.LinkedHashMapKeyIterator(t1, t1._modifications, null, null);
|
| + t1._cell = t1._liblib0$_map._first;
|
| + return t1;
|
| + },
|
| + forEach$1: function(_, f) {
|
| + var t1, cell, modifications;
|
| + t1 = this._liblib0$_map;
|
| + cell = t1._first;
|
| + modifications = t1._modifications;
|
| + for (; cell != null;) {
|
| + f.call$1(cell._key);
|
| + if (modifications !== t1._modifications)
|
| + throw H.wrapException(new P.ConcurrentModificationError(t1));
|
| + cell = cell._next;
|
| + }
|
| + },
|
| + $asIterableBase: null
|
| +},
|
| +
|
| +LinkedHashMapKeyIterator: {"": "Object;_liblib0$_map,_modifications,_cell,_liblib0$_current",
|
| + get$current: function() {
|
| + return this._liblib0$_current;
|
| + },
|
| + moveNext$0: function() {
|
| + var t1 = this._liblib0$_map;
|
| + if (this._modifications !== t1._modifications)
|
| + throw H.wrapException(new P.ConcurrentModificationError(t1));
|
| + else {
|
| + t1 = this._cell;
|
| + if (t1 == null) {
|
| + this._liblib0$_current = null;
|
| + return false;
|
| + } else {
|
| + this._liblib0$_current = t1._key;
|
| + this._cell = this._cell._next;
|
| + return true;
|
| + }
|
| + }
|
| + }
|
| +},
|
| +
|
| +IterableBase: {"": "Object;",
|
| + map$1: function(_, f) {
|
| + var t1 = new H.MappedIterable(this, f);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "IterableBase", 0), null]);
|
| + return t1;
|
| + },
|
| + forEach$1: function(_, f) {
|
| + var t1;
|
| + for (t1 = this.get$iterator(this); t1.moveNext$0();)
|
| + f.call$1(t1.get$current());
|
| + },
|
| + toList$1$growable: function(_, growable) {
|
| + return P.List_List$from(this, growable, H.getRuntimeTypeArgument(this, "IterableBase", 0));
|
| + },
|
| + toList$0: function($receiver) {
|
| + return this.toList$1$growable($receiver, true);
|
| + },
|
| + get$length: function(_) {
|
| + var it, count;
|
| + it = this.get$iterator(this);
|
| + for (count = 0; it.moveNext$0();)
|
| + ++count;
|
| + return count;
|
| + },
|
| + elementAt$1: function(_, index) {
|
| + var t1, remaining, element;
|
| + if (index < 0)
|
| + throw H.wrapException(new P.RangeError("value " + index));
|
| + for (t1 = this.get$iterator(this), remaining = index; t1.moveNext$0();) {
|
| + element = t1.get$current();
|
| + if (remaining === 0)
|
| + return element;
|
| + --remaining;
|
| + }
|
| + throw H.wrapException(new P.RangeError("value " + index));
|
| + }
|
| +},
|
| +
|
| +ListBase: {"": "Object+ListMixin;", $isList: true, $asList: null},
|
| +
|
| +ListMixin: {"": "Object;",
|
| + get$iterator: function(receiver) {
|
| + return new H.ListIterator(receiver, this.get$length(receiver), 0, null);
|
| + },
|
| + elementAt$1: function(receiver, index) {
|
| + return this.$index(receiver, index);
|
| + },
|
| + forEach$1: function(receiver, action) {
|
| + var $length, i;
|
| + if (typeof receiver !== "string" && (typeof receiver !== "object" || receiver === null || receiver.constructor !== Array && !H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])))
|
| + return this.forEach$1$bailout(1, receiver, action);
|
| + $length = receiver.length;
|
| + for (i = 0; i < $length; ++i) {
|
| + if (i >= receiver.length)
|
| + throw H.ioore(receiver, i);
|
| + action.call$1(receiver[i]);
|
| + if ($length !== receiver.length)
|
| + throw H.wrapException(new P.ConcurrentModificationError(receiver));
|
| + }
|
| + },
|
| + forEach$1$bailout: function(state0, receiver, action) {
|
| + var $length, i;
|
| + $length = this.get$length(receiver);
|
| + for (i = 0; i < $length; ++i) {
|
| + action.call$1(this.$index(receiver, i));
|
| + if ($length !== this.get$length(receiver))
|
| + throw H.wrapException(new P.ConcurrentModificationError(receiver));
|
| + }
|
| + },
|
| + where$1: function(receiver, test) {
|
| + var t1 = new H.WhereIterable(receiver, test);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
|
| + return t1;
|
| + },
|
| + map$1: function(receiver, f) {
|
| + var t1 = new H.MappedListIterable(receiver, f);
|
| + H.setRuntimeTypeInfo(t1, [null, null]);
|
| + return t1;
|
| + },
|
| + toList$1$growable: function(receiver, growable) {
|
| + var result, t1, t2, i, t3;
|
| + if (typeof receiver !== "string" && (typeof receiver !== "object" || receiver === null || receiver.constructor !== Array && !H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])))
|
| + return this.toList$1$growable$bailout(1, receiver, growable);
|
| + if (growable) {
|
| + result = P.List_List(null, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
|
| + H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
|
| + C.JSArray_methods.set$length(result, receiver.length);
|
| + } else {
|
| + result = P.List_List(receiver.length, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
|
| + H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
|
| + }
|
| + for (t1 = receiver.length, t2 = result.length, i = 0; i < t1; ++i) {
|
| + t3 = receiver[i];
|
| + if (i >= t2)
|
| + throw H.ioore(result, i);
|
| + result[i] = t3;
|
| + }
|
| + return result;
|
| + },
|
| + toList$1$growable$bailout: function(state0, receiver, growable) {
|
| + var result, i, t1;
|
| + if (growable) {
|
| + result = P.List_List(null, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
|
| + H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
|
| + C.JSArray_methods.set$length(result, this.get$length(receiver));
|
| + } else {
|
| + result = P.List_List(this.get$length(receiver), H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
|
| + H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
|
| + }
|
| + for (i = 0; i < this.get$length(receiver); ++i) {
|
| + t1 = this.$index(receiver, i);
|
| + if (i >= result.length)
|
| + throw H.ioore(result, i);
|
| + result[i] = t1;
|
| + }
|
| + return result;
|
| + },
|
| + toList$0: function($receiver) {
|
| + return this.toList$1$growable($receiver, true);
|
| + },
|
| + toString$0: function(receiver) {
|
| + var result, i, t1;
|
| + for (i = 0; i < $.get$ListMixin__toStringList().length; ++i) {
|
| + t1 = $.get$ListMixin__toStringList();
|
| + if (i >= t1.length)
|
| + throw H.ioore(t1, i);
|
| + if (t1[i] === receiver)
|
| + return "[...]";
|
| + }
|
| + result = P.StringBuffer$("");
|
| + try {
|
| + $.get$ListMixin__toStringList().push(receiver);
|
| + result.write$1("[");
|
| + result.writeAll$2(receiver, ", ");
|
| + result.write$1("]");
|
| + } finally {
|
| + t1 = $.get$ListMixin__toStringList();
|
| + if (0 >= t1.length)
|
| + throw H.ioore(t1, 0);
|
| + t1.pop();
|
| + }
|
| + return result.get$_contents();
|
| + },
|
| + $isList: true,
|
| + $asList: null
|
| +},
|
| +
|
| +Maps_mapToString_closure: {"": "Closure;box_0,result_1",
|
| + call$2: function(k, v) {
|
| + var t1 = this.box_0;
|
| + if (!t1.first_0)
|
| + this.result_1.write$1(", ");
|
| + t1.first_0 = false;
|
| + t1 = this.result_1;
|
| + t1.write$1(k);
|
| + t1.write$1(": ");
|
| + t1.write$1(v);
|
| + }
|
| +},
|
| +
|
| +ListQueue: {"": "IterableBase;_table,_head,_tail,_modificationCount",
|
| + get$iterator: function(_) {
|
| + return P._ListQueueIterator$(this);
|
| + },
|
| + forEach$1: function(_, action) {
|
| + var modificationCount, i, t1;
|
| + modificationCount = this._modificationCount;
|
| + for (i = this._head; i !== this._tail; i = (i + 1 & this._table.length - 1) >>> 0) {
|
| + t1 = this._table;
|
| + if (i < 0 || i >= t1.length)
|
| + throw H.ioore(t1, i);
|
| + action.call$1(t1[i]);
|
| + if (modificationCount !== this._modificationCount)
|
| + H.throwExpression(new P.ConcurrentModificationError(this));
|
| + }
|
| + },
|
| + get$length: function(_) {
|
| + return (this._tail - this._head & this._table.length - 1) >>> 0;
|
| + },
|
| + toString$0: function(_) {
|
| + return H.IterableMixinWorkaround_toStringIterable(this, "{", "}");
|
| + },
|
| + removeFirst$0: function() {
|
| + var t1, t2, t3, result;
|
| + if (this._head === this._tail)
|
| + throw H.wrapException(new P.StateError("No elements"));
|
| + this._modificationCount = this._modificationCount + 1;
|
| + t1 = this._table;
|
| + t2 = this._head;
|
| + t3 = t1.length;
|
| + if (t2 < 0 || t2 >= t3)
|
| + throw H.ioore(t1, t2);
|
| + result = t1[t2];
|
| + this._head = (t2 + 1 & t3 - 1) >>> 0;
|
| + return result;
|
| + },
|
| + _add$1: function(element) {
|
| + var t1, t2, t3;
|
| + t1 = this._table;
|
| + t2 = this._tail;
|
| + t3 = t1.length;
|
| + if (t2 < 0 || t2 >= t3)
|
| + throw H.ioore(t1, t2);
|
| + t1[t2] = element;
|
| + this._tail = (t2 + 1 & t3 - 1) >>> 0;
|
| + if (this._head === this._tail)
|
| + this._grow$0();
|
| + this._modificationCount = this._modificationCount + 1;
|
| + },
|
| + _grow$0: function() {
|
| + var newTable, t1, t2, split;
|
| + newTable = P.List_List(this._table.length * 2, H.getRuntimeTypeArgument(this, "ListQueue", 0));
|
| + H.setRuntimeTypeInfo(newTable, [H.getRuntimeTypeArgument(this, "ListQueue", 0)]);
|
| + t1 = this._table;
|
| + t2 = this._head;
|
| + split = t1.length - t2;
|
| + H.IterableMixinWorkaround_setRangeList(newTable, 0, split, t1, t2);
|
| + t1 = this._head;
|
| + t2 = this._table;
|
| + H.IterableMixinWorkaround_setRangeList(newTable, split, split + t1, t2, 0);
|
| + this._head = 0;
|
| + this._tail = this._table.length;
|
| + this._table = newTable;
|
| + },
|
| + ListQueue$1: function(initialCapacity, $E) {
|
| + var t1 = P.List_List(8, $E);
|
| + H.setRuntimeTypeInfo(t1, [$E]);
|
| + this._table = t1;
|
| + },
|
| + $asIterableBase: null,
|
| + static: {
|
| +"": "ListQueue__INITIAL_CAPACITY",
|
| +ListQueue$: function(initialCapacity, $E) {
|
| + var t1 = new P.ListQueue(null, 0, 0, 0);
|
| + H.setRuntimeTypeInfo(t1, [$E]);
|
| + t1.ListQueue$1(initialCapacity, $E);
|
| + return t1;
|
| +}}
|
| +
|
| +},
|
| +
|
| +_ListQueueIterator: {"": "Object;_queue,_end,_modificationCount,_position,_liblib0$_current",
|
| + get$current: function() {
|
| + return this._liblib0$_current;
|
| + },
|
| + moveNext$0: function() {
|
| + var t1, t2, t3;
|
| + t1 = this._queue;
|
| + if (this._modificationCount !== t1._modificationCount)
|
| + H.throwExpression(new P.ConcurrentModificationError(t1));
|
| + t2 = this._position;
|
| + if (t2 === this._end) {
|
| + this._liblib0$_current = null;
|
| + return false;
|
| + }
|
| + t3 = t1._table;
|
| + if (t2 < 0 || t2 >= t3.length)
|
| + throw H.ioore(t3, t2);
|
| + this._liblib0$_current = t3[t2];
|
| + this._position = (this._position + 1 & t1._table.length - 1) >>> 0;
|
| + return true;
|
| + },
|
| + static: {
|
| +_ListQueueIterator$: function(queue) {
|
| + return new P._ListQueueIterator(queue, queue._tail, queue._modificationCount, queue._head, null);
|
| +}}
|
| +
|
| +}}],
|
| +["dart.convert", "dart:convert", , P, {
|
| +_convertJsonToDart: function(json, reviver) {
|
| + var revive = reviver == null ? new P._convertJsonToDart_closure() : reviver;
|
| + return revive.call$2(null, new P._convertJsonToDart_walk(revive).call$1(json));
|
| +},
|
| +
|
| +_parseJson: function(source, reviver) {
|
| + var parsed, e, t1, exception;
|
| + t1 = source;
|
| + if (typeof t1 !== "string")
|
| + throw H.wrapException(new P.ArgumentError(source));
|
| + parsed = null;
|
| + try {
|
| + parsed = JSON.parse(source);
|
| + } catch (exception) {
|
| + t1 = H.unwrapException(exception);
|
| + e = t1;
|
| + throw H.wrapException(new P.FormatException(String(e)));
|
| + }
|
| +
|
| + return P._convertJsonToDart(parsed, reviver);
|
| +},
|
| +
|
| +_convertJsonToDart_closure: {"": "Closure;",
|
| + call$2: function(key, value) {
|
| + return value;
|
| + }
|
| +},
|
| +
|
| +_convertJsonToDart_walk: {"": "Closure;revive_0",
|
| + call$1: function(e) {
|
| + var list, t1, i, keys, map, key, proto;
|
| + if (e == null || typeof e != "object")
|
| + return e;
|
| + if (Object.getPrototypeOf(e) === Array.prototype) {
|
| + list = e;
|
| + for (t1 = this.revive_0, i = 0; i < list.length; ++i)
|
| + list[i] = t1.call$2(i, this.call$1(list[i]));
|
| + return list;
|
| + }
|
| + keys = Object.keys(e);
|
| + map = H.fillLiteralMap([], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null));
|
| + for (t1 = this.revive_0, i = 0; i < keys.length; ++i) {
|
| + key = keys[i];
|
| + map.$indexSet(map, key, t1.call$2(key, this.call$1(e[key])));
|
| + }
|
| + proto = e.__proto__;
|
| + if (typeof proto !== "undefined" && proto !== Object.prototype)
|
| + map.$indexSet(map, "__proto__", t1.call$2("__proto__", this.call$1(proto)));
|
| + return map;
|
| + }
|
| +},
|
| +
|
| +Codec: {"": "Object;"},
|
| +
|
| +Converter: {"": "Object;"},
|
| +
|
| +JsonCodec: {"": "Codec;"},
|
| +
|
| +JsonDecoder: {"": "Converter;_reviver"}}],
|
| +["dart.core", "dart:core", , P, {
|
| +_symbolToString: function(symbol) {
|
| + return H.Symbol_getName(symbol);
|
| +},
|
| +
|
| +Error_safeToString: function(object) {
|
| + var buffer, t1, i, codeUnit, t2, charCodes;
|
| + if (typeof object === "number" && Math.floor(object) === object || typeof object === "number" || typeof object === "boolean" || null == object)
|
| + return J.toString$0(object);
|
| + if (typeof object === "string") {
|
| + buffer = new P.StringBuffer("");
|
| + buffer._contents = "\"";
|
| + for (t1 = object.length, i = 0; i < t1; ++i) {
|
| + codeUnit = C.JSString_methods.codeUnitAt$1(object, i);
|
| + if (codeUnit <= 31)
|
| + if (codeUnit === 10)
|
| + buffer._contents = buffer._contents + "\\n";
|
| + else if (codeUnit === 13)
|
| + buffer._contents = buffer._contents + "\\r";
|
| + else if (codeUnit === 9)
|
| + buffer._contents = buffer._contents + "\\t";
|
| + else {
|
| + buffer._contents = buffer._contents + "\\x";
|
| + if (codeUnit < 16)
|
| + buffer._contents = buffer._contents + "0";
|
| + else {
|
| + buffer._contents = buffer._contents + "1";
|
| + codeUnit -= 16;
|
| + }
|
| + t2 = codeUnit < 10 ? 48 + codeUnit : 87 + codeUnit;
|
| + charCodes = P.List_List$filled(1, t2, J.JSInt);
|
| + charCodes.$builtinTypeInfo = [J.JSInt];
|
| + t2 = H.Primitives_stringFromCharCodes(charCodes);
|
| + buffer._contents = buffer._contents + t2;
|
| + }
|
| + else if (codeUnit === 92)
|
| + buffer._contents = buffer._contents + "\\\\";
|
| + else if (codeUnit === 34)
|
| + buffer._contents = buffer._contents + "\\\"";
|
| + else {
|
| + charCodes = P.List_List$filled(1, codeUnit, J.JSInt);
|
| + charCodes.$builtinTypeInfo = [J.JSInt];
|
| + t2 = H.Primitives_stringFromCharCodes(charCodes);
|
| + buffer._contents = buffer._contents + t2;
|
| + }
|
| + }
|
| + buffer._contents = buffer._contents + "\"";
|
| + return buffer._contents;
|
| + }
|
| + return "Instance of '" + H.Primitives_objectTypeName(object) + "'";
|
| +},
|
| +
|
| +identical: function(a, b) {
|
| + return a == null ? b == null : a === b;
|
| +},
|
| +
|
| +identityHashCode: function(object) {
|
| + return H.objectHashCode(object);
|
| +},
|
| +
|
| +List_List: function($length, $E) {
|
| + if ($length == null)
|
| + return new Array(0);
|
| + if (typeof $length !== "number" || Math.floor($length) !== $length || $length < 0)
|
| + throw H.wrapException(new P.ArgumentError("Length must be a positive integer: " + H.S($length) + "."));
|
| + return H.Primitives_newFixedList($length);
|
| +},
|
| +
|
| +List_List$filled: function($length, fill, $E) {
|
| + var result, t1, i;
|
| + if ($length < 0)
|
| + throw H.wrapException(new P.ArgumentError("Length must be a positive integer: " + $length + "."));
|
| + result = H.Primitives_newFixedList($length);
|
| + if ($length !== 0 && true)
|
| + for (t1 = result.length, i = 0; i < t1; ++i)
|
| + result[i] = fill;
|
| + return result;
|
| +},
|
| +
|
| +List_List$from: function(other, growable, $E) {
|
| + var list, t1, $length, fixedList, t2, i, t3;
|
| + list = P.List_List(null, $E);
|
| + H.setRuntimeTypeInfo(list, [$E]);
|
| + for (t1 = J.get$iterator$ax(other); t1.moveNext$0();)
|
| + list.push(t1.get$current());
|
| + if (growable)
|
| + return list;
|
| + $length = list.length;
|
| + fixedList = P.List_List($length, $E);
|
| + H.setRuntimeTypeInfo(fixedList, [$E]);
|
| + for (t1 = list.length, t2 = fixedList.length, i = 0; i < $length; ++i) {
|
| + if (i >= t1)
|
| + throw H.ioore(list, i);
|
| + t3 = list[i];
|
| + if (i >= t2)
|
| + throw H.ioore(fixedList, i);
|
| + fixedList[i] = t3;
|
| + }
|
| + return fixedList;
|
| +},
|
| +
|
| +NoSuchMethodError_toString_closure: {"": "Closure;box_0",
|
| + call$2: function(key, value) {
|
| + var t1 = this.box_0;
|
| + if (t1.i_1 > 0)
|
| + t1.sb_0.write$1(", ");
|
| + t1.sb_0.write$1(P._symbolToString(key));
|
| + }
|
| +},
|
| +
|
| +Duration: {"": "Object;_duration",
|
| + $lt: function(_, other) {
|
| + var t1 = other.get$_duration();
|
| + if (typeof t1 !== "number")
|
| + throw H.iae(t1);
|
| + return C.JSNumber_methods.$lt(this._duration, t1);
|
| + },
|
| + $gt: function(_, other) {
|
| + var t1 = other.get$_duration();
|
| + if (typeof t1 !== "number")
|
| + throw H.iae(t1);
|
| + return C.JSNumber_methods.$gt(this._duration, t1);
|
| + },
|
| + $ge: function(_, other) {
|
| + var t1 = other.get$_duration();
|
| + if (typeof t1 !== "number")
|
| + throw H.iae(t1);
|
| + return C.JSNumber_methods.$ge(this._duration, t1);
|
| + },
|
| + get$inMilliseconds: function() {
|
| + return C.JSNumber_methods.$tdiv(this._duration, 1000);
|
| + },
|
| + $eq: function(_, other) {
|
| + var t1;
|
| + if (other == null)
|
| + return false;
|
| + t1 = J.getInterceptor(other);
|
| + if (typeof other !== "object" || other === null || !t1.$isDuration)
|
| + return false;
|
| + return this._duration === other._duration;
|
| + },
|
| + get$hashCode: function(_) {
|
| + return this._duration & 0x1FFFFFFF;
|
| + },
|
| + toString$0: function(_) {
|
| + var t1, t2, twoDigitMinutes, twoDigitSeconds, sixDigitUs;
|
| + t1 = new P.Duration_toString_twoDigits();
|
| + t2 = this._duration;
|
| + if (t2 < 0)
|
| + return "-" + H.S(P.Duration$(0, 0, -t2, 0, 0, 0));
|
| + twoDigitMinutes = t1.call$1(C.JSNumber_methods.remainder$1(C.JSNumber_methods.$tdiv(t2, 60000000), 60));
|
| + twoDigitSeconds = t1.call$1(C.JSNumber_methods.remainder$1(C.JSNumber_methods.$tdiv(t2, 1000000), 60));
|
| + sixDigitUs = new P.Duration_toString_sixDigits().call$1(C.JSNumber_methods.remainder$1(t2, 1000000));
|
| + return H.S(C.JSNumber_methods.$tdiv(t2, 3600000000)) + ":" + H.S(twoDigitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs);
|
| + },
|
| + $isDuration: true,
|
| + static: {
|
| +"": "Duration_MICROSECONDS_PER_MILLISECOND,Duration_MILLISECONDS_PER_SECOND,Duration_SECONDS_PER_MINUTE,Duration_MINUTES_PER_HOUR,Duration_HOURS_PER_DAY,Duration_MICROSECONDS_PER_SECOND,Duration_MICROSECONDS_PER_MINUTE,Duration_MICROSECONDS_PER_HOUR,Duration_MICROSECONDS_PER_DAY,Duration_MILLISECONDS_PER_MINUTE,Duration_MILLISECONDS_PER_HOUR,Duration_MILLISECONDS_PER_DAY,Duration_SECONDS_PER_HOUR,Duration_SECONDS_PER_DAY,Duration_MINUTES_PER_DAY,Duration_ZERO",
|
| +Duration$: function(days, hours, microseconds, milliseconds, minutes, seconds) {
|
| + return new P.Duration(days * 86400000000 + hours * 3600000000 + minutes * 60000000 + seconds * 1000000 + milliseconds * 1000 + microseconds);
|
| +}}
|
| +
|
| +},
|
| +
|
| +Duration_toString_sixDigits: {"": "Closure;",
|
| + call$1: function(n) {
|
| + var t1 = J.getInterceptor$n(n);
|
| + if (t1.$ge(n, 100000))
|
| + return H.S(n);
|
| + if (t1.$ge(n, 10000))
|
| + return "0" + H.S(n);
|
| + if (t1.$ge(n, 1000))
|
| + return "00" + H.S(n);
|
| + if (t1.$ge(n, 100))
|
| + return "000" + H.S(n);
|
| + if (t1.$gt(n, 10))
|
| + return "0000" + H.S(n);
|
| + return "00000" + H.S(n);
|
| + }
|
| +},
|
| +
|
| +Duration_toString_twoDigits: {"": "Closure;",
|
| + call$1: function(n) {
|
| + if (J.$ge$n(n, 10))
|
| + return H.S(n);
|
| + return "0" + H.S(n);
|
| + }
|
| +},
|
| +
|
| +Error: {"": "Object;", $isError: true},
|
| +
|
| +NullThrownError: {"": "Error;",
|
| + toString$0: function(_) {
|
| + return "Throw of null.";
|
| + }
|
| +},
|
| +
|
| +ArgumentError: {"": "Error;message",
|
| + toString$0: function(_) {
|
| + var t1 = this.message;
|
| + if (t1 != null)
|
| + return "Illegal argument(s): " + H.S(t1);
|
| + return "Illegal argument(s)";
|
| + }
|
| +},
|
| +
|
| +RangeError: {"": "ArgumentError;message",
|
| + toString$0: function(_) {
|
| + return "RangeError: " + H.S(this.message);
|
| + }
|
| +},
|
| +
|
| +UnsupportedError: {"": "Error;message",
|
| + toString$0: function(_) {
|
| + return "Unsupported operation: " + this.message;
|
| + }
|
| +},
|
| +
|
| +StateError: {"": "Error;message",
|
| + toString$0: function(_) {
|
| + return "Bad state: " + this.message;
|
| + }
|
| +},
|
| +
|
| +ConcurrentModificationError: {"": "Error;modifiedObject",
|
| + toString$0: function(_) {
|
| + var t1 = this.modifiedObject;
|
| + if (t1 == null)
|
| + return "Concurrent modification during iteration.";
|
| + return "Concurrent modification during iteration: " + H.S(P.Error_safeToString(t1)) + ".";
|
| + }
|
| +},
|
| +
|
| +StackOverflowError: {"": "Object;",
|
| + toString$0: function(_) {
|
| + return "Stack Overflow";
|
| + },
|
| + $isError: true
|
| +},
|
| +
|
| +CyclicInitializationError: {"": "Error;variableName",
|
| + toString$0: function(_) {
|
| + return "Reading static variable '" + this.variableName + "' during its initialization";
|
| + }
|
| +},
|
| +
|
| +_ExceptionImplementation: {"": "Object;message",
|
| + toString$0: function(_) {
|
| + var t1 = this.message;
|
| + if (t1 == null)
|
| + return "Exception";
|
| + return "Exception: " + H.S(t1);
|
| + },
|
| + $isException: true
|
| +},
|
| +
|
| +FormatException: {"": "Object;message",
|
| + toString$0: function(_) {
|
| + return "FormatException: " + this.message;
|
| + },
|
| + $isException: true
|
| +},
|
| +
|
| +Expando: {"": "Object;name",
|
| + toString$0: function(_) {
|
| + return "Expando:" + this.name;
|
| + },
|
| + $index: function(_, object) {
|
| + var values = H.Primitives_getProperty(object, "expando$values");
|
| + return values == null ? null : H.Primitives_getProperty(values, this._getKey$0());
|
| + },
|
| + $indexSet: function(_, object, value) {
|
| + var values = H.Primitives_getProperty(object, "expando$values");
|
| + if (values == null) {
|
| + values = new P.Object();
|
| + H.Primitives_setProperty(object, "expando$values", values);
|
| + }
|
| + H.Primitives_setProperty(values, this._getKey$0(), value);
|
| + },
|
| + _getKey$0: function() {
|
| + var key, t1;
|
| + key = H.Primitives_getProperty(this, "expando$key");
|
| + if (key == null) {
|
| + t1 = $.Expando__keyCount;
|
| + $.Expando__keyCount = t1 + 1;
|
| + key = "expando$key$" + t1;
|
| + H.Primitives_setProperty(this, "expando$key", key);
|
| + }
|
| + return key;
|
| + },
|
| + static: {
|
| +"": "Expando__KEY_PROPERTY_NAME,Expando__EXPANDO_PROPERTY_NAME,Expando__keyCount",
|
| +}
|
| +
|
| +},
|
| +
|
| +Function: {"": "Object;"},
|
| +
|
| +Iterator: {"": "Object;"},
|
| +
|
| +Map: {"": "Object;", $isMap: true},
|
| +
|
| +Null: {"": "Object;",
|
| + toString$0: function(_) {
|
| + return "null";
|
| + }
|
| +},
|
| +
|
| +Object: {"": ";",
|
| + $eq: function(_, other) {
|
| + return this === other;
|
| + },
|
| + get$hashCode: function(_) {
|
| + return H.Primitives_objectHashCode(this);
|
| + },
|
| + toString$0: function(_) {
|
| + return H.Primitives_objectToString(this);
|
| + },
|
| + $isObject: true
|
| +},
|
| +
|
| +StackTrace: {"": "Object;"},
|
| +
|
| +StringBuffer: {"": "Object;_contents<",
|
| + get$length: function(_) {
|
| + return this._contents.length;
|
| + },
|
| + write$1: function(obj) {
|
| + if (typeof obj !== "string")
|
| + return this.write$1$bailout(1, obj);
|
| + this._contents = this._contents + obj;
|
| + },
|
| + write$1$bailout: function(state0, obj) {
|
| + var str = typeof obj === "string" ? obj : H.S(obj);
|
| + this._contents = this._contents + str;
|
| + },
|
| + writeAll$2: function(objects, separator) {
|
| + var iterator, str;
|
| + iterator = J.get$iterator$ax(objects);
|
| + if (!iterator.moveNext$0())
|
| + return;
|
| + if (separator.length === 0)
|
| + do {
|
| + str = iterator.get$current();
|
| + str = typeof str === "string" ? str : H.S(str);
|
| + this._contents = this._contents + str;
|
| + } while (iterator.moveNext$0());
|
| + else {
|
| + this.write$1(iterator.get$current());
|
| + for (; iterator.moveNext$0();) {
|
| + this._contents = this._contents + separator;
|
| + str = iterator.get$current();
|
| + str = typeof str === "string" ? str : H.S(str);
|
| + this._contents = this._contents + str;
|
| + }
|
| + }
|
| + },
|
| + toString$0: function(_) {
|
| + return this._contents;
|
| + },
|
| + StringBuffer$1: function($content) {
|
| + this._contents = $content;
|
| + },
|
| + static: {
|
| +StringBuffer$: function($content) {
|
| + var t1 = new P.StringBuffer("");
|
| + t1.StringBuffer$1($content);
|
| + return t1;
|
| +}}
|
| +
|
| +},
|
| +
|
| +Symbol: {"": "Object;", $isSymbol: true}}],
|
| +["dart.dom.html", "dart:html", , W, {
|
| +HttpRequest_getString: function(url, onProgress, withCredentials) {
|
| + return W.HttpRequest_request(url, null, null, onProgress, null, null, null, withCredentials).then$1(new W.HttpRequest_getString_closure());
|
| +},
|
| +
|
| +HttpRequest_request: function(url, method, mimeType, onProgress, requestHeaders, responseType, sendData, withCredentials) {
|
| + var t1, completer, xhr, t2;
|
| + t1 = W.HttpRequest;
|
| + completer = new P._AsyncCompleter(P._Future$(t1));
|
| + H.setRuntimeTypeInfo(completer, [t1]);
|
| + xhr = new XMLHttpRequest();
|
| + C.HttpRequest_methods.open$3$async(xhr, "GET", url, true);
|
| + t1 = new W._EventStream(xhr, C.EventStreamProvider_load._eventType, false);
|
| + H.setRuntimeTypeInfo(t1, [null]);
|
| + t2 = new W._EventStreamSubscription(0, t1._target, t1._eventType, W._EventStreamSubscription__wrapZone(new W.HttpRequest_request_closure(completer, xhr)), t1._useCapture);
|
| + H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "_EventStream", 0)]);
|
| + t2._tryResume$0();
|
| + t2 = new W._EventStream(xhr, C.EventStreamProvider_error._eventType, false);
|
| + H.setRuntimeTypeInfo(t2, [null]);
|
| + t1 = new W._EventStreamSubscription(0, t2._target, t2._eventType, W._EventStreamSubscription__wrapZone(new W.HttpRequest_request_closure0(completer)), t2._useCapture);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(t2, "_EventStream", 0)]);
|
| + t1._tryResume$0();
|
| + xhr.send();
|
| + return completer.future;
|
| +},
|
| +
|
| +_convertNativeToDart_Window: function(win) {
|
| + if (win == null)
|
| + return;
|
| + return W._DOMWindowCrossFrame__createSafe(win);
|
| +},
|
| +
|
| +_ChildrenElementList: {"": "ListBase;_element,_childElements",
|
| + get$length: function(_) {
|
| + return this._childElements.length;
|
| + },
|
| + $index: function(_, index) {
|
| + var t1 = this._childElements;
|
| + if (index >>> 0 !== index || index >= t1.length)
|
| + throw H.ioore(t1, index);
|
| + return t1[index];
|
| + },
|
| + $indexSet: function(_, index, value) {
|
| + var t1 = this._childElements;
|
| + if (index >>> 0 !== index || index >= t1.length)
|
| + throw H.ioore(t1, index);
|
| + this._element.replaceChild(value, t1[index]);
|
| + },
|
| + add$1: function(_, value) {
|
| + this._element.appendChild(value);
|
| + return value;
|
| + },
|
| + get$iterator: function(_) {
|
| + var t1 = this.toList$0(this);
|
| + return new H.ListIterator(t1, t1.length, 0, null);
|
| + },
|
| + $asList: function() {
|
| + return [W.Element];
|
| + }
|
| +},
|
| +
|
| +Interceptor_ListMixin: {"": "Interceptor+ListMixin;", $isList: true, $asList: null},
|
| +
|
| +Interceptor_ListMixin_ImmutableListMixin: {"": "Interceptor_ListMixin+ImmutableListMixin;", $asList: null, $isList: true},
|
| +
|
| +HttpRequest_getString_closure: {"": "Closure;",
|
| + call$1: function(xhr) {
|
| + return J.get$responseText$x(xhr);
|
| + }
|
| +},
|
| +
|
| +HttpRequest_request_closure1: {"": "Closure;xhr_0",
|
| + call$2: function(header, value) {
|
| + this.xhr_0.setRequestHeader(header, value);
|
| + }
|
| +},
|
| +
|
| +HttpRequest_request_closure: {"": "Closure;completer_1,xhr_2",
|
| + call$1: function(e) {
|
| + var t1, t2, t3;
|
| + t1 = this.xhr_2;
|
| + t2 = t1.status;
|
| + if (t2 == null)
|
| + throw t2.$ge();
|
| + t2 = t2 >= 200 && t2 < 300 || t2 === 0 || t2 === 304;
|
| + t3 = this.completer_1;
|
| + if (t2) {
|
| + t2 = t3.future;
|
| + if (t2._state !== 0)
|
| + H.throwExpression(new P.StateError("Future already completed"));
|
| + t2._asyncComplete$1(t1);
|
| + } else {
|
| + t1 = t3.future;
|
| + if (t1._state !== 0)
|
| + H.throwExpression(new P.StateError("Future already completed"));
|
| + t1._asyncCompleteError$2(e, null);
|
| + }
|
| + }
|
| +},
|
| +
|
| +HttpRequest_request_closure0: {"": "Closure;completer_3",
|
| + call$1: function(e) {
|
| + var t1 = this.completer_3.future;
|
| + if (t1._state !== 0)
|
| + H.throwExpression(new P.StateError("Future already completed"));
|
| + t1._asyncCompleteError$2(e, null);
|
| + }
|
| +},
|
| +
|
| +_ChildNodeListLazy: {"": "ListBase;_this",
|
| + $indexSet: function(_, index, value) {
|
| + var t1, t2;
|
| + t1 = this._this;
|
| + t2 = t1.childNodes;
|
| + if (index >>> 0 !== index || index >= t2.length)
|
| + throw H.ioore(t2, index);
|
| + t1.replaceChild(value, t2[index]);
|
| + },
|
| + get$iterator: function(_) {
|
| + return C.NodeList_methods.get$iterator(this._this.childNodes);
|
| + },
|
| + get$length: function(_) {
|
| + return this._this.childNodes.length;
|
| + },
|
| + $index: function(_, index) {
|
| + var t1 = this._this.childNodes;
|
| + if (index >>> 0 !== index || index >= t1.length)
|
| + throw H.ioore(t1, index);
|
| + return t1[index];
|
| + },
|
| + $asList: function() {
|
| + return [W.Node];
|
| + }
|
| +},
|
| +
|
| +Interceptor_ListMixin0: {"": "Interceptor+ListMixin;", $isList: true, $asList: null},
|
| +
|
| +Interceptor_ListMixin_ImmutableListMixin0: {"": "Interceptor_ListMixin0+ImmutableListMixin;", $asList: null, $isList: true},
|
| +
|
| +_EventStream: {"": "Stream;_target,_eventType,_useCapture",
|
| + listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
|
| + var t1 = new W._EventStreamSubscription(0, this._target, this._eventType, W._EventStreamSubscription__wrapZone(onData), this._useCapture);
|
| + H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_EventStream", 0)]);
|
| + t1._tryResume$0();
|
| + return t1;
|
| + },
|
| + listen$3$onDone$onError: function(onData, onDone, onError) {
|
| + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
|
| + },
|
| + $asStream: null
|
| +},
|
| +
|
| +_ElementEventStreamImpl: {"": "_EventStream;_target,_eventType,_useCapture", $as_EventStream: null},
|
| +
|
| +_EventStreamSubscription: {"": "StreamSubscription;_pauseCount,_target,_eventType,_onData,_useCapture",
|
| + cancel$0: function() {
|
| + if (this._target == null)
|
| + return;
|
| + this._unlisten$0();
|
| + this._target = null;
|
| + this._onData = null;
|
| + },
|
| + pause$1: function(_, resumeSignal) {
|
| + if (this._target == null)
|
| + return;
|
| + this._pauseCount = this._pauseCount + 1;
|
| + this._unlisten$0();
|
| + },
|
| + pause$0: function($receiver) {
|
| + return this.pause$1($receiver, null);
|
| + },
|
| + resume$0: function() {
|
| + if (this._target == null || this._pauseCount <= 0)
|
| + return;
|
| + this._pauseCount = this._pauseCount - 1;
|
| + this._tryResume$0();
|
| + },
|
| + _tryResume$0: function() {
|
| + var t1 = this._onData;
|
| + if (t1 != null && this._pauseCount <= 0)
|
| + J.$$dom_addEventListener$3$x(this._target, this._eventType, t1, this._useCapture);
|
| + },
|
| + _unlisten$0: function() {
|
| + var t1 = this._onData;
|
| + if (t1 != null)
|
| + J.$$dom_removeEventListener$3$x(this._target, this._eventType, t1, this._useCapture);
|
| + },
|
| + $asStreamSubscription: null,
|
| + static: {
|
| +_EventStreamSubscription__wrapZone: function(callback) {
|
| + if (J.$eq($.Zone__current, C._CustomizedZone_WYN))
|
| + return callback;
|
| + return $.Zone__current.bindUnaryCallback$2$runGuarded(callback, true);
|
| +}}
|
| +
|
| +},
|
| +
|
| +EventStreamProvider: {"": "Object;_eventType"},
|
| +
|
| +ImmutableListMixin: {"": "Object;",
|
| + get$iterator: function(receiver) {
|
| + return W.FixedSizeListIterator$(receiver);
|
| + },
|
| + $isList: true,
|
| + $asList: null
|
| +},
|
| +
|
| +FixedSizeListIterator: {"": "Object;_array,_liblib2$_length,_liblib2$_position,_liblib2$_current",
|
| + moveNext$0: function() {
|
| + var nextPosition, t1;
|
| + nextPosition = this._liblib2$_position + 1;
|
| + t1 = this._liblib2$_length;
|
| + if (nextPosition < t1) {
|
| + this._liblib2$_current = J.$index$asx(this._array, nextPosition);
|
| + this._liblib2$_position = nextPosition;
|
| + return true;
|
| + }
|
| + this._liblib2$_current = null;
|
| + this._liblib2$_position = t1;
|
| + return false;
|
| + },
|
| + get$current: function() {
|
| + return this._liblib2$_current;
|
| + },
|
| + static: {
|
| +FixedSizeListIterator$: function(array) {
|
| + return new W.FixedSizeListIterator(array, J.get$length$asx(array), -1, null);
|
| +}}
|
| +
|
| +},
|
| +
|
| +_DOMWindowCrossFrame: {"": "Object;_window",
|
| + get$parent: function(_) {
|
| + return W._DOMWindowCrossFrame__createSafe(this._window.parent);
|
| + },
|
| + static: {
|
| +_DOMWindowCrossFrame__createSafe: function(w) {
|
| + if (w === window)
|
| + return w;
|
| + else
|
| + return new W._DOMWindowCrossFrame(w);
|
| +}}
|
| +
|
| +},
|
| +
|
| +HtmlElement: {"": "Element;"},
|
| +
|
| +AnchorElement: {"": "HtmlElement;",
|
| + toString$0: function(receiver) {
|
| + return receiver.toString();
|
| + }
|
| +},
|
| +
|
| +CharacterData: {"": "Node;length="},
|
| +
|
| +DomException: {"": "Interceptor;",
|
| + toString$0: function(receiver) {
|
| + return receiver.toString();
|
| + }
|
| +},
|
| +
|
| +Element: {"": "Node;",
|
| + get$children: function(receiver) {
|
| + return new W._ChildrenElementList(receiver, receiver.children);
|
| + },
|
| + toString$0: function(receiver) {
|
| + return receiver.localName;
|
| + },
|
| + $isElement: true
|
| +},
|
| +
|
| +Event: {"": "Interceptor;"},
|
| +
|
| +EventTarget: {"": "Interceptor;",
|
| + $$dom_addEventListener$3: function(receiver, type, listener, useCapture) {
|
| + return receiver.addEventListener(type, H.convertDartClosureToJS(listener, 1), useCapture);
|
| + },
|
| + $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) {
|
| + return receiver.removeEventListener(type, H.convertDartClosureToJS(listener, 1), useCapture);
|
| + }
|
| +},
|
| +
|
| +FormElement: {"": "HtmlElement;length="},
|
| +
|
| +HtmlCollection: {"": "Interceptor_ListMixin_ImmutableListMixin;",
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + throw H.wrapException(new P.RangeError("value " + H.S(index) + " not in range 0.." + t1));
|
| + return receiver[index];
|
| + },
|
| + $indexSet: function(receiver, index, value) {
|
| + throw H.wrapException(new P.UnsupportedError("Cannot assign element of immutable List."));
|
| + },
|
| + elementAt$1: function(receiver, index) {
|
| + if (index < 0 || index >= receiver.length)
|
| + throw H.ioore(receiver, index);
|
| + return receiver[index];
|
| + },
|
| + $asList: function() {
|
| + return [W.Node];
|
| + },
|
| + $isList: true,
|
| + $isJavaScriptIndexingBehavior: true
|
| +},
|
| +
|
| +HttpRequest: {"": "XmlHttpRequestEventTarget;responseText=",
|
| + open$5$async$password$user: function(receiver, method, url, async, password, user) {
|
| + return receiver.open(method, url, async, user, password);
|
| + },
|
| + open$3$async: function($receiver, method, url, async) {
|
| + return $receiver.open(method, url, async);
|
| + },
|
| + $isHttpRequest: true
|
| +},
|
| +
|
| +InputElement: {"": "HtmlElement;", $isElement: true, $isNode: true},
|
| +
|
| +MouseEvent: {"": "UIEvent;", $isMouseEvent: true},
|
| +
|
| +Node: {"": "EventTarget;parent:parentElement=",
|
| + replaceWith$1: function(receiver, otherNode) {
|
| + var $parent, exception;
|
| + try {
|
| + $parent = receiver.parentNode;
|
| + J._replaceChild$2$x($parent, otherNode, receiver);
|
| + } catch (exception) {
|
| + H.unwrapException(exception);
|
| + }
|
| +
|
| + return receiver;
|
| + },
|
| + toString$0: function(receiver) {
|
| + var t1 = receiver.nodeValue;
|
| + return t1 == null ? J.Interceptor.prototype.toString$0.call(this, receiver) : t1;
|
| + },
|
| + _replaceChild$2: function(receiver, newChild, oldChild) {
|
| + return receiver.replaceChild(newChild, oldChild);
|
| + },
|
| + $isNode: true
|
| +},
|
| +
|
| +NodeList: {"": "Interceptor_ListMixin_ImmutableListMixin0;",
|
| + get$length: function(receiver) {
|
| + return receiver.length;
|
| + },
|
| + $index: function(receiver, index) {
|
| + var t1 = receiver.length;
|
| + if (index >>> 0 !== index || index >= t1)
|
| + throw H.wrapException(new P.RangeError("value " + H.S(index) + " not in range 0.." + t1));
|
| + return receiver[index];
|
| + },
|
| + $indexSet: function(receiver, index, value) {
|
| + throw H.wrapException(new P.UnsupportedError("Cannot assign element of immutable List."));
|
| + },
|
| + elementAt$1: function(receiver, index) {
|
| + if (index < 0 || index >= receiver.length)
|
| + throw H.ioore(receiver, index);
|
| + return receiver[index];
|
| + },
|
| + $asList: function() {
|
| + return [W.Node];
|
| + },
|
| + $isList: true,
|
| + $isJavaScriptIndexingBehavior: true
|
| +},
|
| +
|
| +ProgressEvent: {"": "Event;", $isProgressEvent: true},
|
| +
|
| +SelectElement: {"": "HtmlElement;length="},
|
| +
|
| +UIEvent: {"": "Event;"},
|
| +
|
| +Window: {"": "EventTarget;",
|
| + get$parent: function(receiver) {
|
| + return W._convertNativeToDart_Window(receiver.parent);
|
| + },
|
| + toString$0: function(receiver) {
|
| + return receiver.toString();
|
| + }
|
| +},
|
| +
|
| +XmlHttpRequestEventTarget: {"": "EventTarget;"}}],
|
| +["dart.dom.svg", "dart:svg", , P, {
|
| +SvgElement: {"": "Element;",
|
| + get$children: function(receiver) {
|
| + var t1 = new P.FilteredElementList(receiver, new W._ChildNodeListLazy(receiver));
|
| + H.setRuntimeTypeInfo(t1, [W.Element]);
|
| + return t1;
|
| + }
|
| +}}],
|
| +["dart.isolate", "dart:isolate", , P, {
|
| +_Isolate_port: function() {
|
| + if ($.lazyPort == null)
|
| + $.lazyPort = H.ReceivePortImpl$();
|
| + return $.lazyPort;
|
| +},
|
| +
|
| +ReceivePort: {"": "Object;", $isReceivePort: true}}],
|
| +["dart.json", "dart:json", , P, {
|
| +parse: function(json, reviver) {
|
| + return P._parseJson(json, new P.JsonDecoder(reviver)._reviver);
|
| +},
|
| +
|
| +parse_closure: {"": "Closure;original_0",
|
| + call$2: function(key, value) {
|
| + var t1 = key == null ? "" : key;
|
| + return this.original_0.call$2(t1, value);
|
| + }
|
| +}}],
|
| +["dart.typed_data", "dart:typed_data", , P, {
|
| +TypedData_ListMixin: {"": "TypedData+ListMixin;", $isList: true, $asList: null},
|
| +
|
| +TypedData_ListMixin_FixedLengthListMixin: {"": "TypedData_ListMixin+FixedLengthListMixin;", $asList: null},
|
| +
|
| +TypedData: {"": "Interceptor;",
|
| + _invalidIndex$2: function(receiver, index, $length) {
|
| + var t1 = J.getInterceptor$n(index);
|
| + if (t1.$lt(index, 0) || t1.$ge(index, $length))
|
| + throw H.wrapException(new P.RangeError("value " + H.S(index) + " not in range 0.." + $length));
|
| + else
|
| + throw H.wrapException(new P.ArgumentError("Invalid list index " + H.S(index)));
|
| + }
|
| +},
|
| +
|
| +Uint8List: {"": "TypedData_ListMixin_FixedLengthListMixin;",
|
| + get$length: function(receiver) {
|
| + return C.JS_CONST_ZYJ(receiver);
|
| + },
|
| + $index: function(receiver, index) {
|
| + var t1;
|
| + if (typeof index !== "number")
|
| + return this.$$index$bailout(1, receiver, index);
|
| + t1 = C.JS_CONST_ZYJ(receiver);
|
| + if (index >>> 0 != index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $$index$bailout: function(state0, receiver, index) {
|
| + var t1 = C.JS_CONST_ZYJ(receiver);
|
| + if (index >>> 0 != index || J.$ge$n(index, t1))
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + return receiver[index];
|
| + },
|
| + $indexSet: function(receiver, index, value) {
|
| + var t1;
|
| + if (typeof index !== "number")
|
| + return this.$$indexSet$bailout(1, receiver, index, value);
|
| + t1 = C.JS_CONST_ZYJ(receiver);
|
| + if (index >>> 0 != index || index >= t1)
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + receiver[index] = value;
|
| + },
|
| + $$indexSet$bailout: function(state0, receiver, index, value) {
|
| + var t1 = C.JS_CONST_ZYJ(receiver);
|
| + if (index >>> 0 != index || J.$ge$n(index, t1))
|
| + this._invalidIndex$2(receiver, index, t1);
|
| + receiver[index] = value;
|
| + },
|
| + $asList: function() {
|
| + return [J.JSInt];
|
| + },
|
| + $isList: true,
|
| + $isJavaScriptIndexingBehavior: true
|
| +}}],
|
| +["html_common", "dart:html_common", , P, {
|
| +FilteredElementList: {"": "ListBase;_node,_childNodes",
|
| + get$_filtered: function() {
|
| + var t1 = this._childNodes;
|
| + return P.List_List$from(t1.where$1(t1, new P.FilteredElementList__filtered_closure()), true, W.Element);
|
| + },
|
| + forEach$1: function(_, f) {
|
| + H.IterableMixinWorkaround_forEach(this.get$_filtered(), f);
|
| + },
|
| + $indexSet: function(_, index, value) {
|
| + var t1 = this.get$_filtered();
|
| + if (index >>> 0 !== index || index >= t1.length)
|
| + throw H.ioore(t1, index);
|
| + J.replaceWith$1$x(t1[index], value);
|
| + },
|
| + add$1: function(_, value) {
|
| + this._childNodes._this.appendChild(value);
|
| + },
|
| + get$length: function(_) {
|
| + return this.get$_filtered().length;
|
| + },
|
| + $index: function(_, index) {
|
| + var t1 = this.get$_filtered();
|
| + if (index >>> 0 !== index || index >= t1.length)
|
| + throw H.ioore(t1, index);
|
| + return t1[index];
|
| + },
|
| + get$iterator: function(_) {
|
| + var t1 = this.get$_filtered();
|
| + return new H.ListIterator(t1, t1.length, 0, null);
|
| + },
|
| + $asListBase: null,
|
| + $asList: null
|
| +},
|
| +
|
| +FilteredElementList__filtered_closure: {"": "Closure;",
|
| + call$1: function(n) {
|
| + var t1 = J.getInterceptor(n);
|
| + return typeof n === "object" && n !== null && !!t1.$isElement;
|
| + }
|
| +}}],
|
| +["portmanteaux_simple.dart", "portmanteaux_simple.dart", , O, {
|
| +main: function() {
|
| + var t1, t2;
|
| + t1 = document.querySelector("#getWords");
|
| + t1.get$onClick;
|
| + t1 = new W._ElementEventStreamImpl(t1, C.EventStreamProvider_click._eventType, false);
|
| + H.setRuntimeTypeInfo(t1, [null]);
|
| + t2 = new W._EventStreamSubscription(0, t1._target, t1._eventType, W._EventStreamSubscription__wrapZone(O.makeRequest$closure), t1._useCapture);
|
| + H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "_EventStream", 0)]);
|
| + t2._tryResume$0();
|
| + $.wordList = document.querySelector("#wordList");
|
| +},
|
| +
|
| +makeRequest: function(e) {
|
| + W.HttpRequest_getString("portmanteaux_simple.json", null, null).then$1(O.processString$closure).catchError$1(O.handleError$closure);
|
| +},
|
| +
|
| +processString: function(jsonString) {
|
| + var portmanteaux, i, t1, t2;
|
| + portmanteaux = P.parse(jsonString, null);
|
| + if (typeof portmanteaux !== "string" && (typeof portmanteaux !== "object" || portmanteaux === null || portmanteaux.constructor !== Array && !H.isJsIndexable(portmanteaux, portmanteaux[init.dispatchPropertyName])))
|
| + return O.processString$bailout(1, portmanteaux);
|
| + for (i = 0; i < portmanteaux.length; ++i) {
|
| + t1 = J.get$children$x($.wordList);
|
| + t2 = document.createElement("li", null);
|
| + if (i >= portmanteaux.length)
|
| + throw H.ioore(portmanteaux, i);
|
| + t2.textContent = portmanteaux[i];
|
| + t1.add$1(t1, t2);
|
| + }
|
| +},
|
| +
|
| +processString$bailout: function(state0, portmanteaux) {
|
| + var t1, i, t2, t3;
|
| + t1 = J.getInterceptor$asx(portmanteaux);
|
| + i = 0;
|
| + while (true) {
|
| + t2 = t1.get$length(portmanteaux);
|
| + if (typeof t2 !== "number")
|
| + throw H.iae(t2);
|
| + if (!(i < t2))
|
| + break;
|
| + t2 = J.get$children$x($.wordList);
|
| + t3 = document.createElement("li", null);
|
| + t3.textContent = t1.$index(portmanteaux, i);
|
| + t2.add$1(t2, t3);
|
| + ++i;
|
| + }
|
| +},
|
| +
|
| +handleError: function(error) {
|
| + var t1, t2;
|
| + t1 = J.get$children$x($.wordList);
|
| + t2 = document.createElement("li", null);
|
| + t2.textContent = "Request failed.";
|
| + t1.add$1(t1, t2);
|
| +}},
|
| +1],
|
| +]);
|
| +Isolate.$finishClasses($$, $, null);
|
| +$$ = null;
|
| +
|
| +// Static function getters
|
| +init.globalFunctions.IsolateNatives__processWorkerMessage$closure = H.IsolateNatives__processWorkerMessage$closure = new H.Closure$_processWorkerMessage(H.IsolateNatives__processWorkerMessage, "IsolateNatives__processWorkerMessage$closure");
|
| +init.globalFunctions.toStringWrapper$closure = H.toStringWrapper$closure = new H.Closure$toStringWrapper(H.toStringWrapper, "toStringWrapper$closure");
|
| +init.globalFunctions.invokeClosure$closure = H.invokeClosure$closure = new H.Closure$invokeClosure(H.invokeClosure, "invokeClosure$closure");
|
| +init.globalFunctions.isAssignable$closure = H.isAssignable$closure = new H.Closure$isAssignable(H.isAssignable, "isAssignable$closure");
|
| +init.globalFunctions.typeNameInChrome$closure = H.typeNameInChrome$closure = new H.Closure$typeNameInChrome(H.typeNameInChrome, "typeNameInChrome$closure");
|
| +init.globalFunctions.typeNameInSafari$closure = H.typeNameInSafari$closure = new H.Closure$typeNameInSafari(H.typeNameInSafari, "typeNameInSafari$closure");
|
| +init.globalFunctions.typeNameInOpera$closure = H.typeNameInOpera$closure = new H.Closure$typeNameInOpera(H.typeNameInOpera, "typeNameInOpera$closure");
|
| +init.globalFunctions.typeNameInFirefox$closure = H.typeNameInFirefox$closure = new H.Closure$typeNameInFirefox(H.typeNameInFirefox, "typeNameInFirefox$closure");
|
| +init.globalFunctions.typeNameInIE$closure = H.typeNameInIE$closure = new H.Closure$typeNameInIE(H.typeNameInIE, "typeNameInIE$closure");
|
| +init.globalFunctions.constructorNameFallback$closure = H.constructorNameFallback$closure = new H.Closure$constructorNameFallback(H.constructorNameFallback, "constructorNameFallback$closure");
|
| +init.globalFunctions.callDartFunctionWith1Arg$closure = H.callDartFunctionWith1Arg$closure = new H.Closure$callDartFunctionWith1Arg(H.callDartFunctionWith1Arg, "callDartFunctionWith1Arg$closure");
|
| +init.globalFunctions._asyncRunCallback$closure = P._asyncRunCallback$closure = new P.Closure$_asyncRunCallback(P._asyncRunCallback, "_asyncRunCallback$closure");
|
| +init.globalFunctions._nullDataHandler$closure = P._nullDataHandler$closure = new P.Closure$_nullDataHandler(P._nullDataHandler, "_nullDataHandler$closure");
|
| +init.globalFunctions._nullErrorHandler$closure = P._nullErrorHandler$closure = new P.Closure$_nullErrorHandler(P._nullErrorHandler, "_nullErrorHandler$closure");
|
| +init.globalFunctions._nullDoneHandler$closure = P._nullDoneHandler$closure = new P.Closure$_nullDoneHandler(P._nullDoneHandler, "_nullDoneHandler$closure");
|
| +init.globalFunctions._rootHandleUncaughtError$closure = P._rootHandleUncaughtError$closure = new P.Closure$_rootHandleUncaughtError(P._rootHandleUncaughtError, "_rootHandleUncaughtError$closure");
|
| +init.globalFunctions._rootRun$closure = P._rootRun$closure = new P.Closure$_rootRun(P._rootRun, "_rootRun$closure");
|
| +init.globalFunctions._rootRunUnary$closure = P._rootRunUnary$closure = new P.Closure$_rootRunUnary(P._rootRunUnary, "_rootRunUnary$closure");
|
| +init.globalFunctions._rootRegisterCallback$closure = P._rootRegisterCallback$closure = new P.Closure$_rootRegisterCallback(P._rootRegisterCallback, "_rootRegisterCallback$closure");
|
| +init.globalFunctions._rootRegisterUnaryCallback$closure = P._rootRegisterUnaryCallback$closure = new P.Closure$_rootRegisterUnaryCallback(P._rootRegisterUnaryCallback, "_rootRegisterUnaryCallback$closure");
|
| +init.globalFunctions._rootScheduleMicrotask$closure = P._rootScheduleMicrotask$closure = new P.Closure$_rootScheduleMicrotask(P._rootScheduleMicrotask, "_rootScheduleMicrotask$closure");
|
| +init.globalFunctions._rootCreateTimer$closure = P._rootCreateTimer$closure = new P.Closure$_rootCreateTimer(P._rootCreateTimer, "_rootCreateTimer$closure");
|
| +init.globalFunctions._rootCreatePeriodicTimer$closure = P._rootCreatePeriodicTimer$closure = new P.Closure$_rootCreatePeriodicTimer(P._rootCreatePeriodicTimer, "_rootCreatePeriodicTimer$closure");
|
| +init.globalFunctions._rootFork$closure = P._rootFork$closure = new P.Closure$_rootFork(P._rootFork, "_rootFork$closure");
|
| +init.globalFunctions._defaultEquals$closure = P._defaultEquals$closure = new P.Closure$_defaultEquals(P._defaultEquals, "_defaultEquals$closure");
|
| +init.globalFunctions._defaultHashCode$closure = P._defaultHashCode$closure = new P.Closure$_defaultHashCode(P._defaultHashCode, "_defaultHashCode$closure");
|
| +init.globalFunctions.identical$closure = P.identical$closure = new P.Closure$identical(P.identical, "identical$closure");
|
| +init.globalFunctions.identityHashCode$closure = P.identityHashCode$closure = new P.Closure$identityHashCode(P.identityHashCode, "identityHashCode$closure");
|
| +init.globalFunctions.main$closure = O.main$closure = new O.Closure$main(O.main, "main$closure");
|
| +init.globalFunctions.makeRequest$closure = O.makeRequest$closure = new O.Closure$makeRequest(O.makeRequest, "makeRequest$closure");
|
| +init.globalFunctions.processString$closure = O.processString$closure = new O.Closure$processString(O.processString, "processString$closure");
|
| +init.globalFunctions.handleError$closure = O.handleError$closure = new O.Closure$handleError(O.handleError, "handleError$closure");
|
| +// Runtime type support
|
| +J.JSInt.$isint = true;
|
| +J.JSInt.$isObject = true;
|
| +W.Node.$isObject = true;
|
| +J.JSString.$isString = true;
|
| +J.JSString.$isObject = true;
|
| +J.JSNumber.$isObject = true;
|
| +P.Duration.$isDuration = true;
|
| +P.Duration.$isObject = true;
|
| +W.Element.$isObject = true;
|
| +P.Object.$isObject = true;
|
| +W.MouseEvent.$isEvent = true;
|
| +W.MouseEvent.$isObject = true;
|
| +P.Symbol.$isSymbol = true;
|
| +P.Symbol.$isObject = true;
|
| +W.ProgressEvent.$isEvent = true;
|
| +W.ProgressEvent.$isObject = true;
|
| +W.HttpRequest.$isObject = true;
|
| +P.ReceivePort.$isObject = true;
|
| +H._IsolateEvent.$isObject = true;
|
| +H._IsolateContext.$isObject = true;
|
| +J.JSArray.$isObject = true;
|
| +P.Future.$isFuture = true;
|
| +P.Future.$isObject = true;
|
| +W.Event.$isEvent = true;
|
| +W.Event.$isObject = true;
|
| +P.Zone.$isZone = true;
|
| +P.Zone.$isObject = true;
|
| +P.ZoneDelegate.$isZoneDelegate = true;
|
| +P.ZoneDelegate.$isObject = true;
|
| +P.Timer.$isTimer = true;
|
| +P.Timer.$isObject = true;
|
| +P.ZoneSpecification.$isZoneSpecification = true;
|
| +P.ZoneSpecification.$isObject = true;
|
| +P.Map.$isMap = true;
|
| +P.Map.$isObject = true;
|
| +P.Function.$isFunction = true;
|
| +P.Function.$isObject = true;
|
| +J.JSBool.$isbool = true;
|
| +J.JSBool.$isObject = true;
|
| +P.Error.$isError = true;
|
| +P.Error.$isObject = true;
|
| +P.StackTrace.$isStackTrace = true;
|
| +P.StackTrace.$isObject = true;
|
| +P._EventSink.$is_EventSink = true;
|
| +P._EventSink.$isObject = true;
|
| +// getInterceptor methods
|
| +J.getInterceptor = function(receiver) {
|
| + if (typeof receiver == "number") {
|
| + if (Math.floor(receiver) == receiver)
|
| + return J.JSInt.prototype;
|
| + return J.JSDouble.prototype;
|
| + }
|
| + if (typeof receiver == "string")
|
| + return J.JSString.prototype;
|
| + if (receiver == null)
|
| + return J.JSNull.prototype;
|
| + if (typeof receiver == "boolean")
|
| + return J.JSBool.prototype;
|
| + if (receiver.constructor == Array)
|
| + return J.JSArray.prototype;
|
| + if (typeof receiver != "object")
|
| + return receiver;
|
| + if (receiver instanceof P.Object)
|
| + return receiver;
|
| + return J.getNativeInterceptor(receiver);
|
| +};
|
| +J.getInterceptor$asx = function(receiver) {
|
| + if (typeof receiver == "string")
|
| + return J.JSString.prototype;
|
| + if (receiver == null)
|
| + return receiver;
|
| + if (receiver.constructor == Array)
|
| + return J.JSArray.prototype;
|
| + if (typeof receiver != "object")
|
| + return receiver;
|
| + if (receiver instanceof P.Object)
|
| + return receiver;
|
| + return J.getNativeInterceptor(receiver);
|
| +};
|
| +J.getInterceptor$ax = function(receiver) {
|
| + if (receiver == null)
|
| + return receiver;
|
| + if (receiver.constructor == Array)
|
| + return J.JSArray.prototype;
|
| + if (typeof receiver != "object")
|
| + return receiver;
|
| + if (receiver instanceof P.Object)
|
| + return receiver;
|
| + return J.getNativeInterceptor(receiver);
|
| +};
|
| +J.getInterceptor$n = function(receiver) {
|
| + if (typeof receiver == "number")
|
| + return J.JSNumber.prototype;
|
| + if (receiver == null)
|
| + return receiver;
|
| + if (!(receiver instanceof P.Object))
|
| + return J.UnknownJavaScriptObject.prototype;
|
| + return receiver;
|
| +};
|
| +J.getInterceptor$s = function(receiver) {
|
| + if (typeof receiver == "string")
|
| + return J.JSString.prototype;
|
| + if (receiver == null)
|
| + return receiver;
|
| + if (!(receiver instanceof P.Object))
|
| + return J.UnknownJavaScriptObject.prototype;
|
| + return receiver;
|
| +};
|
| +J.getInterceptor$x = function(receiver) {
|
| + if (receiver == null)
|
| + return receiver;
|
| + if (typeof receiver != "object")
|
| + return receiver;
|
| + if (receiver instanceof P.Object)
|
| + return receiver;
|
| + return J.getNativeInterceptor(receiver);
|
| +};
|
| +C.C_CloseToken = new H.CloseToken();
|
| +C.C_JsonCodec = new P.JsonCodec();
|
| +C.C_UnknownJavaScriptObject = new J.UnknownJavaScriptObject();
|
| +C.C__DelayedDone = new P._DelayedDone();
|
| +C.Duration_0 = new P.Duration(0);
|
| +C.EventStreamProvider_click = new W.EventStreamProvider("click");
|
| +C.EventStreamProvider_error = new W.EventStreamProvider("error");
|
| +C.EventStreamProvider_load = new W.EventStreamProvider("load");
|
| +C.EventStreamProvider_progress = new W.EventStreamProvider("progress");
|
| +C.HttpRequest_methods = W.HttpRequest.prototype;
|
| +C.JSArray_methods = J.JSArray.prototype;
|
| +C.JSInt_methods = J.JSInt.prototype;
|
| +C.JSNumber_methods = J.JSNumber.prototype;
|
| +C.JSString_methods = J.JSString.prototype;
|
| +C.JS_CONST_ZYJ = ((typeof version == "function" && typeof os == "object" && "system" in os)
|
| + || (typeof navigator == "object"
|
| + && navigator.userAgent.indexOf('Chrome') != -1))
|
| + ? function(x) { return x.$dartCachedLength || x.length; }
|
| + : function(x) { return x.length; };
|
| +;
|
| +Isolate.makeConstantList = function(list) {
|
| + list.immutable$list = true;
|
| + list.fixed$length = true;
|
| + return list;
|
| +};
|
| +C.List_empty = Isolate.makeConstantList([]);
|
| +C.List_empty0 = H.setRuntimeTypeInfo(Isolate.makeConstantList([]), [J.JSString]);
|
| +C.Map_empty = H.setRuntimeTypeInfo(new H.ConstantStringMap(0, {}, C.List_empty0), [P.Symbol, null]);
|
| +C.NodeList_methods = W.NodeList.prototype;
|
| +C._ZoneSpecification_eDx = new P._ZoneSpecification(P._rootHandleUncaughtError$closure, P._rootRun$closure, P._rootRunUnary$closure, P._rootRegisterCallback$closure, P._rootRegisterUnaryCallback$closure, P._rootScheduleMicrotask$closure, P._rootCreateTimer$closure, P._rootCreatePeriodicTimer$closure, P._rootFork$closure);
|
| +C._CustomizedZone_WYN = new P._CustomizedZone(null, C._ZoneSpecification_eDx, C.Map_empty);
|
| +C._ZoneSpecification_eLJ = new P._ZoneSpecification(null, null, null, null, null, null, null, null, null);
|
| +$.lazyPort = null;
|
| +$.ReceivePortImpl__nextFreeId = 1;
|
| +$.Primitives_mirrorFunctionCacheName = "$cachedFunction";
|
| +$.Primitives_mirrorInvokeCacheName = "$cachedInvocation";
|
| +$.interceptorsByTag = null;
|
| +$.leafTags = null;
|
| +$.interceptorToTag = null;
|
| +$._callbacksAreEnqueued = false;
|
| +$.Zone__current = C._CustomizedZone_WYN;
|
| +$.Expando__keyCount = 0;
|
| +$.wordList = null;
|
| +J.$$dom_addEventListener$3$x = function(receiver, a0, a1, a2) {
|
| + return J.getInterceptor$x(receiver).$$dom_addEventListener$3(receiver, a0, a1, a2);
|
| +};
|
| +J.$$dom_removeEventListener$3$x = function(receiver, a0, a1, a2) {
|
| + return J.getInterceptor$x(receiver).$$dom_removeEventListener$3(receiver, a0, a1, a2);
|
| +};
|
| +J.$eq = function(receiver, a0) {
|
| + if (receiver == null)
|
| + return a0 == null;
|
| + if (typeof receiver != "object")
|
| + return a0 != null && receiver === a0;
|
| + return J.getInterceptor(receiver).$eq(receiver, a0);
|
| +};
|
| +J.$ge$n = function(receiver, a0) {
|
| + if (typeof receiver == "number" && typeof a0 == "number")
|
| + return receiver >= a0;
|
| + return J.getInterceptor$n(receiver).$ge(receiver, a0);
|
| +};
|
| +J.$index$asx = function(receiver, a0) {
|
| + if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName]))
|
| + if (a0 >>> 0 === a0 && a0 < receiver.length)
|
| + return receiver[a0];
|
| + return J.getInterceptor$asx(receiver).$index(receiver, a0);
|
| +};
|
| +J.$indexSet$ax = function(receiver, a0, a1) {
|
| + if ((receiver.constructor == Array || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length)
|
| + return receiver[a0] = a1;
|
| + return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
|
| +};
|
| +J._replaceChild$2$x = function(receiver, a0, a1) {
|
| + return J.getInterceptor$x(receiver)._replaceChild$2(receiver, a0, a1);
|
| +};
|
| +J.elementAt$1$ax = function(receiver, a0) {
|
| + return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
|
| +};
|
| +J.forEach$1$ax = function(receiver, a0) {
|
| + return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
|
| +};
|
| +J.get$children$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$children(receiver);
|
| +};
|
| +J.get$hashCode$ = function(receiver) {
|
| + return J.getInterceptor(receiver).get$hashCode(receiver);
|
| +};
|
| +J.get$iterator$ax = function(receiver) {
|
| + return J.getInterceptor$ax(receiver).get$iterator(receiver);
|
| +};
|
| +J.get$length$asx = function(receiver) {
|
| + return J.getInterceptor$asx(receiver).get$length(receiver);
|
| +};
|
| +J.get$responseText$x = function(receiver) {
|
| + return J.getInterceptor$x(receiver).get$responseText(receiver);
|
| +};
|
| +J.map$1$ax = function(receiver, a0) {
|
| + return J.getInterceptor$ax(receiver).map$1(receiver, a0);
|
| +};
|
| +J.replaceWith$1$x = function(receiver, a0) {
|
| + return J.getInterceptor$x(receiver).replaceWith$1(receiver, a0);
|
| +};
|
| +J.send$2$x = function(receiver, a0, a1) {
|
| + return J.getInterceptor$x(receiver).send$2(receiver, a0, a1);
|
| +};
|
| +J.toString$0 = function(receiver) {
|
| + return J.getInterceptor(receiver).toString$0(receiver);
|
| +};
|
| +$.mapTypeToInterceptor = [];
|
| +Isolate.$lazy($, "globalThis", "globalThis", "get$globalThis", function() {
|
| + return function() { return this; }();
|
| +});
|
| +Isolate.$lazy($, "globalWindow", "globalWindow", "get$globalWindow", function() {
|
| + return $.get$globalThis().window;
|
| +});
|
| +Isolate.$lazy($, "globalWorker", "globalWorker", "get$globalWorker", function() {
|
| + return $.get$globalThis().Worker;
|
| +});
|
| +Isolate.$lazy($, "globalPostMessageDefined", "globalPostMessageDefined", "get$globalPostMessageDefined", function() {
|
| + return $.get$globalThis().postMessage !== void 0;
|
| +});
|
| +Isolate.$lazy($, "thisScript", "IsolateNatives_thisScript", "get$IsolateNatives_thisScript", function() {
|
| + return H.IsolateNatives_computeThisScript();
|
| +});
|
| +Isolate.$lazy($, "workerIds", "IsolateNatives_workerIds", "get$IsolateNatives_workerIds", function() {
|
| + return new P.Expando(null);
|
| +});
|
| +Isolate.$lazy($, "noSuchMethodPattern", "TypeErrorDecoder_noSuchMethodPattern", "get$TypeErrorDecoder_noSuchMethodPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ toString: function() { return "$receiver$"; } }));
|
| +});
|
| +Isolate.$lazy($, "notClosurePattern", "TypeErrorDecoder_notClosurePattern", "get$TypeErrorDecoder_notClosurePattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ $method$: null, toString: function() { return "$receiver$"; } }));
|
| +});
|
| +Isolate.$lazy($, "nullCallPattern", "TypeErrorDecoder_nullCallPattern", "get$TypeErrorDecoder_nullCallPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null));
|
| +});
|
| +Isolate.$lazy($, "nullLiteralCallPattern", "TypeErrorDecoder_nullLiteralCallPattern", "get$TypeErrorDecoder_nullLiteralCallPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOnNull());
|
| +});
|
| +Isolate.$lazy($, "undefinedCallPattern", "TypeErrorDecoder_undefinedCallPattern", "get$TypeErrorDecoder_undefinedCallPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0));
|
| +});
|
| +Isolate.$lazy($, "undefinedLiteralCallPattern", "TypeErrorDecoder_undefinedLiteralCallPattern", "get$TypeErrorDecoder_undefinedLiteralCallPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOnUndefined());
|
| +});
|
| +Isolate.$lazy($, "nullPropertyPattern", "TypeErrorDecoder_nullPropertyPattern", "get$TypeErrorDecoder_nullPropertyPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null));
|
| +});
|
| +Isolate.$lazy($, "nullLiteralPropertyPattern", "TypeErrorDecoder_nullLiteralPropertyPattern", "get$TypeErrorDecoder_nullLiteralPropertyPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOnNull());
|
| +});
|
| +Isolate.$lazy($, "undefinedPropertyPattern", "TypeErrorDecoder_undefinedPropertyPattern", "get$TypeErrorDecoder_undefinedPropertyPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0));
|
| +});
|
| +Isolate.$lazy($, "undefinedLiteralPropertyPattern", "TypeErrorDecoder_undefinedLiteralPropertyPattern", "get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() {
|
| + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOnUndefined());
|
| +});
|
| +Isolate.$lazy($, "getTypeNameOf", "getTypeNameOf", "get$getTypeNameOf", function() {
|
| + return H.getFunctionForTypeNameOf();
|
| +});
|
| +Isolate.$lazy($, "_toStringList", "IterableMixinWorkaround__toStringList", "get$IterableMixinWorkaround__toStringList", function() {
|
| + return P.List_List(null, null);
|
| +});
|
| +Isolate.$lazy($, "_stackTraceExpando", "_stackTraceExpando", "get$_stackTraceExpando", function() {
|
| + return new P.Expando("asynchronous error");
|
| +});
|
| +Isolate.$lazy($, "_asyncCallbacks", "_asyncCallbacks", "get$_asyncCallbacks", function() {
|
| + return P.ListQueue$(null, {func: "void_", void: true});
|
| +});
|
| +Isolate.$lazy($, "_toStringList", "ListMixin__toStringList", "get$ListMixin__toStringList", function() {
|
| + return P.List_List(null, null);
|
| +});
|
| +Isolate.$lazy($, "_toStringList", "Maps__toStringList", "get$Maps__toStringList", function() {
|
| + return P.List_List(null, null);
|
| +});
|
| +// Native classes
|
| +H.defineNativeMethods("DOMError|FileError|MediaError|MediaKeyError|Navigator|NavigatorUserMediaError|PositionError|SQLError|SVGAnimatedNumberList", J.Interceptor);
|
| +
|
| +H.defineNativeMethods("HTMLAppletElement|HTMLAreaElement|HTMLAudioElement|HTMLBRElement|HTMLBaseElement|HTMLBaseFontElement|HTMLBodyElement|HTMLButtonElement|HTMLCanvasElement|HTMLContentElement|HTMLDListElement|HTMLDataListElement|HTMLDetailsElement|HTMLDialogElement|HTMLDirectoryElement|HTMLDivElement|HTMLEmbedElement|HTMLFieldSetElement|HTMLFontElement|HTMLFrameElement|HTMLFrameSetElement|HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLIFrameElement|HTMLImageElement|HTMLKeygenElement|HTMLLIElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMarqueeElement|HTMLMediaElement|HTMLMenuElement|HTMLMetaElement|HTMLMeterElement|HTMLModElement|HTMLOListElement|HTMLObjectElement|HTMLOptGroupElement|HTMLOptionElement|HTMLOutputElement|HTMLParagraphElement|HTMLParamElement|HTMLPreElement|HTMLProgressElement|HTMLQuoteElement|HTMLScriptElement|HTMLShadowElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElement|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement|HTMLTableRowElement|HTMLTableSectionElement|HTMLTemplateElement|HTMLTextAreaElement|HTMLTitleElement|HTMLTrackElement|HTMLUListElement|HTMLUnknownElement|HTMLVideoElement", W.HtmlElement);
|
| +
|
| +H.defineNativeMethodsNonleaf("HTMLElement", W.HtmlElement);
|
| +
|
| +H.defineNativeMethods("HTMLAnchorElement", W.AnchorElement);
|
| +
|
| +H.defineNativeMethods("CDATASection|CharacterData|Comment|ProcessingInstruction|Text", W.CharacterData);
|
| +
|
| +H.defineNativeMethods("DOMException", W.DomException);
|
| +
|
| +H.defineNativeMethodsNonleaf("Element", W.Element);
|
| +
|
| +H.defineNativeMethods("AudioProcessingEvent|AutocompleteErrorEvent|BeforeLoadEvent|CSSFontFaceLoadEvent|CloseEvent|CustomEvent|DeviceMotionEvent|DeviceOrientationEvent|ErrorEvent|HashChangeEvent|IDBVersionChangeEvent|MIDIConnectionEvent|MIDIMessageEvent|MediaKeyEvent|MediaKeyMessageEvent|MediaKeyNeededEvent|MediaStreamEvent|MediaStreamTrackEvent|MessageEvent|MutationEvent|OfflineAudioCompletionEvent|OverflowEvent|PageTransitionEvent|PopStateEvent|RTCDTMFToneChangeEvent|RTCDataChannelEvent|RTCIceCandidateEvent|SecurityPolicyViolationEvent|SpeechInputEvent|SpeechRecognitionError|SpeechRecognitionEvent|SpeechSynthesisEvent|StorageEvent|TrackEvent|TransitionEvent|WebGLContextEvent|WebKitAnimationEvent|WebKitTransitionEvent", W.Event);
|
| +
|
| +H.defineNativeMethodsNonleaf("Event", W.Event);
|
| +
|
| +H.defineNativeMethodsNonleaf("EventTarget", W.EventTarget);
|
| +
|
| +H.defineNativeMethods("HTMLFormElement", W.FormElement);
|
| +
|
| +H.defineNativeMethods("HTMLCollection|HTMLFormControlsCollection|HTMLOptionsCollection", W.HtmlCollection);
|
| +
|
| +H.defineNativeMethods("XMLHttpRequest", W.HttpRequest);
|
| +
|
| +H.defineNativeMethods("HTMLInputElement", W.InputElement);
|
| +
|
| +H.defineNativeMethods("DragEvent|MSPointerEvent|MouseEvent|MouseScrollEvent|MouseWheelEvent|PointerEvent|WheelEvent", W.MouseEvent);
|
| +
|
| +H.defineNativeMethods("Attr|Document|DocumentFragment|DocumentType|Entity|HTMLDocument|Notation|SVGDocument|ShadowRoot", W.Node);
|
| +
|
| +H.defineNativeMethodsNonleaf("Node", W.Node);
|
| +
|
| +H.defineNativeMethods("NodeList|RadioNodeList", W.NodeList);
|
| +
|
| +H.defineNativeMethods("ProgressEvent|ResourceProgressEvent|XMLHttpRequestProgressEvent", W.ProgressEvent);
|
| +
|
| +H.defineNativeMethods("HTMLSelectElement", W.SelectElement);
|
| +
|
| +H.defineNativeMethods("CompositionEvent|FocusEvent|KeyboardEvent|SVGZoomEvent|TextEvent|TouchEvent", W.UIEvent);
|
| +
|
| +H.defineNativeMethodsNonleaf("UIEvent", W.UIEvent);
|
| +
|
| +H.defineNativeMethods("DOMWindow|Window", W.Window);
|
| +
|
| +H.defineNativeMethodsNonleaf("XMLHttpRequestEventTarget", W.XmlHttpRequestEventTarget);
|
| +
|
| +H.defineNativeMethods("SVGAElement|SVGAltGlyphDefElement|SVGAltGlyphElement|SVGAltGlyphItemElement|SVGAnimateColorElement|SVGAnimateElement|SVGAnimateMotionElement|SVGAnimateTransformElement|SVGAnimationElement|SVGCircleElement|SVGClipPathElement|SVGComponentTransferFunctionElement|SVGCursorElement|SVGDefsElement|SVGDescElement|SVGElement|SVGEllipseElement|SVGFEBlendElement|SVGFEColorMatrixElement|SVGFEComponentTransferElement|SVGFECompositeElement|SVGFEConvolveMatrixElement|SVGFEDiffuseLightingElement|SVGFEDisplacementMapElement|SVGFEDistantLightElement|SVGFEDropShadowElement|SVGFEFloodElement|SVGFEFuncAElement|SVGFEFuncBElement|SVGFEFuncGElement|SVGFEFuncRElement|SVGFEGaussianBlurElement|SVGFEImageElement|SVGFEMergeElement|SVGFEMergeNodeElement|SVGFEMorphologyElement|SVGFEOffsetElement|SVGFEPointLightElement|SVGFESpecularLightingElement|SVGFESpotLightElement|SVGFETileElement|SVGFETurbulenceElement|SVGFilterElement|SVGFontElement|SVGFontFaceElement|SVGFontFaceFormatElement|SVGFontFaceNameElement|SVGFontFaceSrcElement|SVGFontFaceUriElement|SVGForeignObjectElement|SVGGElement|SVGGlyphElement|SVGGlyphRefElement|SVGGradientElement|SVGGraphicsElement|SVGHKernElement|SVGImageElement|SVGLineElement|SVGLinearGradientElement|SVGMPathElement|SVGMarkerElement|SVGMaskElement|SVGMetadataElement|SVGMissingGlyphElement|SVGPathElement|SVGPatternElement|SVGPolygonElement|SVGPolylineElement|SVGRadialGradientElement|SVGRectElement|SVGSVGElement|SVGScriptElement|SVGSetElement|SVGStopElement|SVGStyleElement|SVGSwitchElement|SVGSymbolElement|SVGTRefElement|SVGTSpanElement|SVGTextContentElement|SVGTextElement|SVGTextPathElement|SVGTextPositioningElement|SVGTitleElement|SVGUseElement|SVGVKernElement|SVGViewElement", P.SvgElement);
|
| +
|
| +H.defineNativeMethodsExtended("ArrayBufferView", P.TypedData, [P.TypedData_ListMixin, P.TypedData_ListMixin_FixedLengthListMixin]);
|
| +
|
| +H.defineNativeMethodsNonleaf("Uint8Array", P.Uint8List);
|
| +
|
| +
|
| +init.functionAliases = {};
|
| +;
|
| +init.metadata = [];
|
| +$ = null;
|
| +Isolate = Isolate.$finishIsolateConstructor(Isolate);
|
| +$ = new Isolate();
|
| +function convertToFastObject(properties) {
|
| + function MyClass() {};
|
| + MyClass.prototype = properties;
|
| + new MyClass();
|
| + return properties;
|
| +}
|
| +A = convertToFastObject(A);
|
| +B = convertToFastObject(B);
|
| +C = convertToFastObject(C);
|
| +D = convertToFastObject(D);
|
| +E = convertToFastObject(E);
|
| +F = convertToFastObject(F);
|
| +G = convertToFastObject(G);
|
| +H = convertToFastObject(H);
|
| +J = convertToFastObject(J);
|
| +K = convertToFastObject(K);
|
| +L = convertToFastObject(L);
|
| +M = convertToFastObject(M);
|
| +N = convertToFastObject(N);
|
| +O = convertToFastObject(O);
|
| +P = convertToFastObject(P);
|
| +Q = convertToFastObject(Q);
|
| +R = convertToFastObject(R);
|
| +S = convertToFastObject(S);
|
| +T = convertToFastObject(T);
|
| +U = convertToFastObject(U);
|
| +V = convertToFastObject(V);
|
| +W = convertToFastObject(W);
|
| +X = convertToFastObject(X);
|
| +Y = convertToFastObject(Y);
|
| +Z = convertToFastObject(Z);
|
| +!function() {
|
| + var objectProto = Object.prototype;
|
| + for (var i = 0;; i++) {
|
| + var property = "___dart_dispatch_record_ZxYxX_0_";
|
| + if (i > 0)
|
| + property = rootProperty + "_" + i;
|
| + if (!(property in objectProto))
|
| + return init.dispatchPropertyName = property;
|
| + }
|
| +}();
|
| +// BEGIN invoke [main].
|
| +;(function (callback) {
|
| + if (typeof document === "undefined") {
|
| + callback(null);
|
| + return;
|
| + }
|
| + if (document.currentScript) {
|
| + callback(document.currentScript);
|
| + return;
|
| + }
|
| +
|
| + var scripts = document.scripts;
|
| + function onLoad(event) {
|
| + for (var i = 0; i < scripts.length; ++i) {
|
| + scripts[i].removeEventListener("load", onLoad, false);
|
| + }
|
| + callback(event.target);
|
| + }
|
| + for (var i = 0; i < scripts.length; ++i) {
|
| + scripts[i].addEventListener("load", onLoad, false);
|
| + }
|
| +})(function(currentScript) {
|
| + init.currentScript = currentScript;
|
| +
|
| + if (typeof dartMainRunner === "function") {
|
| + dartMainRunner(function() { H.startRootIsolate(O.main$closure); });
|
| + } else {
|
| + H.startRootIsolate(O.main$closure);
|
| + }
|
| +});
|
| +// END invoke [main].
|
| +function init() {
|
| + Isolate.$isolateProperties = {};
|
| + function generateAccessor(field, accessors, cls) {
|
| + var len = field.length;
|
| + var code = field.charCodeAt(len - 1);
|
| + var reflectable = false;
|
| + if (code == 45) {
|
| + len--;
|
| + code = field.charCodeAt(len - 1);
|
| + field = field.substring(0, len);
|
| + reflectable = true;
|
| + }
|
| + code = code >= 60 && code <= 64 ? code - 59 : code >= 123 && code <= 126 ? code - 117 : code >= 37 && code <= 43 ? code - 27 : 0;
|
| + if (code) {
|
| + var getterCode = code & 3;
|
| + var setterCode = code >> 2;
|
| + var accessorName = field = field.substring(0, len - 1);
|
| + var divider = field.indexOf(":");
|
| + if (divider > 0) {
|
| + accessorName = field.substring(0, divider);
|
| + field = field.substring(divider + 1);
|
| + }
|
| + if (getterCode) {
|
| + var args = getterCode & 2 ? "receiver" : "";
|
| + var receiver = getterCode & 1 ? "this" : "receiver";
|
| + var body = "return " + receiver + "." + field;
|
| + var property = cls + ".prototype.get$" + accessorName + "=";
|
| + var fn = "function(" + args + "){" + body + "}";
|
| + if (reflectable)
|
| + accessors.push(property + "$reflectable(" + fn + ");\n");
|
| + else
|
| + accessors.push(property + fn + ";\n");
|
| + }
|
| + if (setterCode) {
|
| + var args = setterCode & 2 ? "receiver, value" : "value";
|
| + var receiver = setterCode & 1 ? "this" : "receiver";
|
| + var body = receiver + "." + field + " = value";
|
| + var property = cls + ".prototype.set$" + accessorName + "=";
|
| + var fn = "function(" + args + "){" + body + "}";
|
| + if (reflectable)
|
| + accessors.push(property + "$reflectable(" + fn + ");\n");
|
| + else
|
| + accessors.push(property + fn + ";\n");
|
| + }
|
| + }
|
| + return field;
|
| + }
|
| + Isolate.$isolateProperties.$generateAccessor = generateAccessor;
|
| + function defineClass(name, cls, fields) {
|
| + var accessors = [];
|
| + var str = "function " + cls + "(";
|
| + var body = "";
|
| + for (var i = 0; i < fields.length; i++) {
|
| + if (i != 0)
|
| + str += ", ";
|
| + var field = generateAccessor(fields[i], accessors, cls);
|
| + var parameter = "parameter_" + field;
|
| + str += parameter;
|
| + body += "this." + field + " = " + parameter + ";\n";
|
| + }
|
| + str += ") {\n" + body + "}\n";
|
| + str += cls + ".builtin$cls=\"" + name + "\";\n";
|
| + str += "$desc=$collectedClasses." + cls + ";\n";
|
| + str += "if($desc instanceof Array) $desc = $desc[1];\n";
|
| + str += cls + ".prototype = $desc;\n";
|
| + if (typeof defineClass.name != "string") {
|
| + str += cls + ".name=\"" + cls + "\";\n";
|
| + }
|
| + str += accessors.join("");
|
| + return str;
|
| + }
|
| + var inheritFrom = function() {
|
| + function tmp() {
|
| + }
|
| + var hasOwnProperty = Object.prototype.hasOwnProperty;
|
| + return function(constructor, superConstructor) {
|
| + tmp.prototype = superConstructor.prototype;
|
| + var object = new tmp();
|
| + var properties = constructor.prototype;
|
| + for (var member in properties)
|
| + if (hasOwnProperty.call(properties, member))
|
| + object[member] = properties[member];
|
| + object.constructor = constructor;
|
| + constructor.prototype = object;
|
| + return object;
|
| + };
|
| + }();
|
| + Isolate.$finishClasses = function(collectedClasses, isolateProperties, existingIsolateProperties) {
|
| + var pendingClasses = {};
|
| + if (!init.allClasses)
|
| + init.allClasses = {};
|
| + var allClasses = init.allClasses;
|
| + var hasOwnProperty = Object.prototype.hasOwnProperty;
|
| + if (typeof dart_precompiled == "function") {
|
| + var constructors = dart_precompiled(collectedClasses);
|
| + } else {
|
| + var combinedConstructorFunction = "function $reflectable(fn){fn.$reflectable=1;return fn};\n" + "var $desc;\n";
|
| + var constructorsList = [];
|
| + }
|
| + for (var cls in collectedClasses) {
|
| + if (hasOwnProperty.call(collectedClasses, cls)) {
|
| + var desc = collectedClasses[cls];
|
| + if (desc instanceof Array)
|
| + desc = desc[1];
|
| + var classData = desc[""], supr, name = cls, fields = classData;
|
| + if (typeof classData == "string") {
|
| + var split = classData.split("/");
|
| + if (split.length == 2) {
|
| + name = split[0];
|
| + fields = split[1];
|
| + }
|
| + }
|
| + var s = fields.split(";");
|
| + fields = s[1] == "" ? [] : s[1].split(",");
|
| + supr = s[0];
|
| + if (supr && supr.indexOf("+") > 0) {
|
| + s = supr.split("+");
|
| + supr = s[0];
|
| + var mixin = collectedClasses[s[1]];
|
| + if (mixin instanceof Array)
|
| + mixin = mixin[1];
|
| + for (var d in mixin) {
|
| + if (hasOwnProperty.call(mixin, d) && !hasOwnProperty.call(desc, d))
|
| + desc[d] = mixin[d];
|
| + }
|
| + }
|
| + if (typeof dart_precompiled != "function") {
|
| + combinedConstructorFunction += defineClass(name, cls, fields);
|
| + constructorsList.push(cls);
|
| + }
|
| + if (supr)
|
| + pendingClasses[cls] = supr;
|
| + }
|
| + }
|
| + if (typeof dart_precompiled != "function") {
|
| + combinedConstructorFunction += "return [\n " + constructorsList.join(",\n ") + "\n]";
|
| + var constructors = new Function("$collectedClasses", combinedConstructorFunction)(collectedClasses);
|
| + combinedConstructorFunction = null;
|
| + }
|
| + for (var i = 0; i < constructors.length; i++) {
|
| + var constructor = constructors[i];
|
| + var cls = constructor.name;
|
| + var desc = collectedClasses[cls];
|
| + var globalObject = isolateProperties;
|
| + if (desc instanceof Array) {
|
| + globalObject = desc[0] || isolateProperties;
|
| + desc = desc[1];
|
| + }
|
| + allClasses[cls] = constructor;
|
| + globalObject[cls] = constructor;
|
| + }
|
| + constructors = null;
|
| + var finishedClasses = {};
|
| + function finishClass(cls) {
|
| + var hasOwnProperty = Object.prototype.hasOwnProperty;
|
| + if (hasOwnProperty.call(finishedClasses, cls))
|
| + return;
|
| + finishedClasses[cls] = true;
|
| + var superclass = pendingClasses[cls];
|
| + if (!superclass || typeof superclass != "string")
|
| + return;
|
| + finishClass(superclass);
|
| + var constructor = allClasses[cls];
|
| + var superConstructor = allClasses[superclass];
|
| + if (!superConstructor)
|
| + superConstructor = existingIsolateProperties[superclass];
|
| + prototype = inheritFrom(constructor, superConstructor);
|
| + }
|
| + for (var cls in pendingClasses)
|
| + finishClass(cls);
|
| + };
|
| + Isolate.$lazy = function(prototype, staticName, fieldName, getterName, lazyValue) {
|
| + var sentinelUndefined = {};
|
| + var sentinelInProgress = {};
|
| + prototype[fieldName] = sentinelUndefined;
|
| + prototype[getterName] = function() {
|
| + var result = $[fieldName];
|
| + try {
|
| + if (result === sentinelUndefined) {
|
| + $[fieldName] = sentinelInProgress;
|
| + try {
|
| + result = $[fieldName] = lazyValue();
|
| + } finally {
|
| + if (result === sentinelUndefined) {
|
| + if ($[fieldName] === sentinelInProgress) {
|
| + $[fieldName] = null;
|
| + }
|
| + }
|
| + }
|
| + } else {
|
| + if (result === sentinelInProgress)
|
| + H.throwCyclicInit(staticName);
|
| + }
|
| + return result;
|
| + } finally {
|
| + $[getterName] = function() {
|
| + return this[fieldName];
|
| + };
|
| + }
|
| + };
|
| + };
|
| + Isolate.$finishIsolateConstructor = function(oldIsolate) {
|
| + var isolateProperties = oldIsolate.$isolateProperties;
|
| + function Isolate() {
|
| + var hasOwnProperty = Object.prototype.hasOwnProperty;
|
| + for (var staticName in isolateProperties)
|
| + if (hasOwnProperty.call(isolateProperties, staticName))
|
| + this[staticName] = isolateProperties[staticName];
|
| + function ForceEfficientMap() {
|
| + }
|
| + ForceEfficientMap.prototype = this;
|
| + new ForceEfficientMap();
|
| + }
|
| + Isolate.prototype = oldIsolate.prototype;
|
| + Isolate.prototype.constructor = Isolate;
|
| + Isolate.$isolateProperties = isolateProperties;
|
| + Isolate.$finishClasses = oldIsolate.$finishClasses;
|
| + Isolate.makeConstantList = oldIsolate.makeConstantList;
|
| + return Isolate;
|
| + };
|
| +}
|
| +})()
|
| +
|
| +//# sourceMappingURL=portmanteaux_simple.dart.js.map
|
| +//@ sourceMappingURL=portmanteaux_simple.dart.js.map
|
|
|