Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Unified Diff: runtime/bin/vmstats/vmstats.dart.js

Issue 14191002: Added dart2js-generated vmstats.dart, to support non-Dartium browsers. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/bin/vmstats/README ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/bin/vmstats/vmstats.dart.js
===================================================================
--- runtime/bin/vmstats/vmstats.dart.js (revision 0)
+++ runtime/bin/vmstats/vmstats.dart.js (revision 0)
@@ -0,0 +1,8848 @@
+// 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 Isolate() {}
+init();
+
+var $ = Isolate.$isolateProperties;
+var $$ = {};
+
+// Classes
+$$.ListIterable = {"": "IterableBase;",
+ get$iterator: function(_) {
+ return $.ListIterator$(this);
+ },
+ forEach$1: function(_, action) {
+ var $length, i;
+ $length = this.get$length(this);
+ if (typeof $length !== "number")
+ return this.forEach$1$bailout1(1, action, $length);
+ for (i = 0; i < $length; ++i) {
+ action.call$1(this.elementAt$1(this, i));
+ if ($length !== this.get$length(this))
+ throw $.wrapException($.ConcurrentModificationError$(this));
+ }
+ },
+ forEach$1$bailout1: function(state0, action, $length) {
+ var t1, i;
+ for (t1 = $.getInterceptor($length), i = 0; $.JSNumber_methods.$lt(i, $length); ++i) {
+ action.call$1(this.elementAt$1(this, i));
+ if (t1.$eq($length, this.get$length(this)) !== true)
+ throw $.wrapException($.ConcurrentModificationError$(this));
+ }
+ },
+ get$isEmpty: function(_) {
+ return $.$eq(this.get$length(this), 0);
+ },
+ skip$1: function(_, count) {
+ return $.SubListIterable$(this, count, null);
+ },
+ toList$1$growable: function(_, growable) {
+ var result, i, t1;
+ if (growable === true) {
+ result = $.List_List($);
+ $.JSArray_methods.set$length(result, this.get$length(this));
+ } else
+ result = $.List_List(this.get$length(this));
+ for (i = 0; $.JSNumber_methods.$lt(i, this.get$length(this)); ++i) {
+ t1 = this.elementAt$1(this, i);
+ if (i >= result.length)
+ throw $.ioore(i);
+ result[i] = t1;
+ }
+ return result;
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ $asIterable: function() {
+ return null;
+ }
+};
+
+$$.SubListIterable = {"": "ListIterable;_iterable,_start,_endOrLength",
+ get$_endIndex: function() {
+ var $length, t1;
+ $length = $.get$length$asx(this._iterable);
+ t1 = this._endOrLength;
+ if (t1 == null || $.JSNull_methods.$gt(t1, $length))
+ return $length;
+ return t1;
+ },
+ get$_startIndex: function() {
+ var $length, t1;
+ $length = $.get$length$asx(this._iterable);
+ t1 = this._start;
+ if ($.JSNumber_methods.$gt(t1, $length))
+ return $length;
+ return t1;
+ },
+ get$length: function(_) {
+ var $length, t1, t2;
+ $length = $.get$length$asx(this._iterable);
+ if (typeof $length !== "number")
+ return this.get$length$bailout2(1, $length);
+ t1 = this._start;
+ if (t1 >= $length)
+ return 0;
+ t2 = this._endOrLength;
+ if (t2 == null || $.JSNull_methods.$ge(t2, $length))
+ return $length - t1;
+ return $.JSNull_methods.$sub(t2, t1);
+ },
+ get$length$bailout2: function(state0, $length) {
+ var t1, t2;
+ t1 = this._start;
+ if ($.JSNumber_methods.$ge(t1, $length))
+ return 0;
+ t2 = this._endOrLength;
+ if (t2 == null || $.JSNull_methods.$ge(t2, $length))
+ return $.$sub$n($length, t1);
+ return $.JSNull_methods.$sub(t2, t1);
+ },
+ elementAt$1: function(_, index) {
+ var t1, realIndex;
+ if (typeof index !== "number")
+ return this.elementAt$1$bailout2(1, index);
+ t1 = this.get$_startIndex();
+ if (typeof t1 !== "number")
+ return this.elementAt$1$bailout2(2, index, t1);
+ realIndex = t1 + index;
+ if (!(index < 0)) {
+ t1 = this.get$_endIndex();
+ if (typeof t1 !== "number")
+ return this.elementAt$1$bailout2(3, index, t1, realIndex);
+ t1 = realIndex >= t1;
+ } else
+ t1 = true;
+ if (t1)
+ throw $.wrapException($.RangeError$range(index, 0, this.get$length(this)));
+ return $.elementAt$1$ax(this._iterable, realIndex);
+ },
+ elementAt$1$bailout2: function(state0, index, t1, realIndex) {
+ switch (state0) {
+ case 0:
+ case 1:
+ state0 = 0;
+ t1 = this.get$_startIndex();
+ case 2:
+ state0 = 0;
+ realIndex = $.$add$ns(t1, index);
+ case 3:
+ if (state0 === 3 || state0 === 0 && !$.$lt$n(index, 0))
+ switch (state0) {
+ case 0:
+ t1 = this.get$_endIndex();
+ case 3:
+ state0 = 0;
+ t1 = $.$ge$n(realIndex, t1);
+ }
+ else
+ t1 = true;
+ if (t1)
+ throw $.wrapException($.RangeError$range(index, 0, this.get$length(this)));
+ return $.elementAt$1$ax(this._iterable, realIndex);
+ }
+ },
+ skip$1: function(_, count) {
+ if (count < 0)
+ throw $.wrapException($.ArgumentError$(count));
+ return $.SubListIterable$(this._iterable, this._start + count, this._endOrLength);
+ },
+ $asIterable: function() {
+ return null;
+ }
+};
+
+$$.ListIterator = {"": "Object;_iterable,_liblib$_length,_index,_liblib$_current",
+ get$current: function() {
+ return this._liblib$_current;
+ },
+ moveNext$0: function() {
+ var t1, t2, t3;
+ t1 = this._liblib$_length;
+ t2 = this._iterable;
+ if ($.$eq(t1, $.get$length$asx(t2)) !== true)
+ throw $.wrapException($.ConcurrentModificationError$(t2));
+ t3 = this._index;
+ if (t3 === t1) {
+ this._liblib$_current = null;
+ return false;
+ }
+ this._liblib$_current = $.elementAt$1$ax(t2, t3);
+ this._index = this._index + 1;
+ return true;
+ }
+};
+
+$$.MappedIterable = {"": "IterableBase;_iterable,_f",
+ _f$1: function(arg0) {
+ return this._f.call$1(arg0);
+ },
+ get$iterator: function(_) {
+ var t1 = this._iterable;
+ return $.MappedIterator$(t1.get$iterator(t1), this._f);
+ },
+ get$length: function(_) {
+ var t1 = this._iterable;
+ return t1.get$length(t1);
+ },
+ get$isEmpty: function(_) {
+ var t1 = this._iterable;
+ return t1.get$isEmpty(t1);
+ },
+ elementAt$1: function(_, index) {
+ var t1 = this._iterable;
+ return this._f$1(t1.elementAt$1(t1, index));
+ },
+ $asIterable: function() {
+ return function (S, T) { return [T]; };
+ }
+};
+
+$$.MappedIterator = {"": "Iterator;_liblib$_current,_iterator,_f",
+ _f$1: function(arg0) {
+ return this._f.call$1(arg0);
+ },
+ moveNext$0: function() {
+ var t1 = this._iterator;
+ if (t1.moveNext$0() === true) {
+ this._liblib$_current = this._f$1(t1.get$current());
+ return true;
+ }
+ this._liblib$_current = null;
+ return false;
+ },
+ get$current: function() {
+ return this._liblib$_current;
+ }
+};
+
+$$.WhereIterable = {"": "IterableBase;_iterable,_f",
+ get$iterator: function(_) {
+ var t1 = this._iterable;
+ return $.WhereIterator$(t1.get$iterator(t1), this._f);
+ },
+ $asIterable: function() {
+ return 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() === true;)
+ if (this._f$1(t1.get$current()) === true)
+ return true;
+ return false;
+ },
+ get$current: function() {
+ return this._iterator.get$current();
+ }
+};
+
+$$.SkipIterable = {"": "IterableBase;_iterable,_skipCount",
+ skip$1: function(_, n) {
+ if (typeof n !== "number" || Math.floor(n) !== n || n < 0)
+ throw $.wrapException($.ArgumentError$(n));
+ return $.SkipIterable$(this._iterable, $.$add$ns(this._skipCount, n));
+ },
+ get$iterator: function(_) {
+ return $.SkipIterator$($.get$iterator$ax(this._iterable), this._skipCount);
+ },
+ SkipIterable$2: function(_iterable, _skipCount) {
+ var t1 = this._skipCount;
+ if (typeof t1 !== "number" || Math.floor(t1) !== t1 || $.$lt$n(t1, 0))
+ throw $.wrapException($.ArgumentError$(t1));
+ },
+ $asIterable: function() {
+ return null;
+ }
+};
+
+$$.SkipIterator = {"": "Iterator;_iterator,_skipCount",
+ moveNext$0: function() {
+ var t1, i, t2;
+ t1 = this._iterator;
+ i = 0;
+ while (true) {
+ t2 = this._skipCount;
+ if (typeof t2 !== "number")
+ return this.moveNext$0$bailout1(1, t1, i, t2);
+ if (!(i < t2))
+ break;
+ t1.moveNext$0();
+ ++i;
+ }
+ this._skipCount = 0;
+ return t1.moveNext$0();
+ },
+ moveNext$0$bailout1: function(state0, t1, i, t2) {
+ switch (state0) {
+ case 0:
+ t1 = this._iterator;
+ i = 0;
+ case 1:
+ L0:
+ while (true)
+ switch (state0) {
+ case 0:
+ t2 = this._skipCount;
+ case 1:
+ state0 = 0;
+ if (!$.JSNumber_methods.$lt(i, t2))
+ break L0;
+ t1.moveNext$0();
+ ++i;
+ }
+ this._skipCount = 0;
+ return t1.moveNext$0();
+ }
+ },
+ get$current: function() {
+ return this._iterator.get$current();
+ },
+ SkipIterator$2: function(_iterator, _skipCount) {
+ }
+};
+
+$$.ToString__emitPair_anon = {"": "Closure;box_0,result_1,visiting_2",
+ call$2: function(k, v) {
+ var t1, t2;
+ t1 = this.box_0;
+ if (!t1.first_0)
+ this.result_1.write$1(", ");
+ t1.first_0 = false;
+ t1 = this.result_1;
+ t2 = this.visiting_2;
+ $.ToString__emitObject(k, t1, t2);
+ t1.write$1(": ");
+ $.ToString__emitObject(v, t1, t2);
+ }
+};
+
+$$.HashMap_values_anon = {"": "Closure;this_0",
+ call$1: function(each) {
+ return $.$index$asx(this.this_0, each);
+ }
+};
+
+$$.HashMap_addAll_anon = {"": "Closure;this_0",
+ call$2: function(key, value) {
+ $.$indexSet$ax(this.this_0, key, value);
+ }
+};
+
+$$.HashMapKeyIterable = {"": "IterableBase;_map",
+ get$length: function(_) {
+ return this._map._liblib0$_length;
+ },
+ get$isEmpty: function(_) {
+ return this._map._liblib0$_length === 0;
+ },
+ get$iterator: function(_) {
+ var t1 = this._map;
+ return $.HashMapKeyIterator$(t1, t1._computeKeys$0());
+ },
+ forEach$1: function(_, f) {
+ var t1, keys, $length, i;
+ t1 = this._map;
+ keys = t1._computeKeys$0();
+ for ($length = keys.length, i = 0; i < $length; ++i) {
+ f.call$1(keys[i]);
+ if (keys !== t1._keys)
+ throw $.wrapException($.ConcurrentModificationError$(t1));
+ }
+ },
+ $asIterable: function() {
+ return null;
+ }
+};
+
+$$.HashMapKeyIterator = {"": "Object;_map,_keys,_offset,_liblib0$_current",
+ get$current: function() {
+ return this._liblib0$_current;
+ },
+ moveNext$0: function() {
+ var keys, offset, t1;
+ keys = this._keys;
+ offset = this._offset;
+ t1 = this._map;
+ if (keys !== t1._keys)
+ throw $.wrapException($.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_values_anon = {"": "Closure;this_0",
+ call$1: function(each) {
+ return $.$index$asx(this.this_0, each);
+ }
+};
+
+$$.LinkedHashMap_addAll_anon = {"": "Closure;this_0",
+ call$2: function(key, value) {
+ $.$indexSet$ax(this.this_0, key, value);
+ }
+};
+
+$$.LinkedHashMapCell = {"": "Object;_key<,_value@,_next@,_previous@"};
+
+$$.LinkedHashMapKeyIterable = {"": "IterableBase;_map",
+ get$length: function(_) {
+ return this._map._liblib0$_length;
+ },
+ get$isEmpty: function(_) {
+ return this._map._liblib0$_length === 0;
+ },
+ get$iterator: function(_) {
+ var t1 = this._map;
+ return $.LinkedHashMapKeyIterator$(t1, t1._modifications);
+ },
+ forEach$1: function(_, f) {
+ var t1, cell, modifications;
+ t1 = this._map;
+ cell = t1._first;
+ modifications = t1._modifications;
+ for (; cell != null;) {
+ f.call$1(cell.get$_key());
+ if (modifications !== t1._modifications)
+ throw $.wrapException($.ConcurrentModificationError$(t1));
+ cell = cell.get$_next();
+ }
+ },
+ $asIterable: function() {
+ return null;
+ }
+};
+
+$$.LinkedHashMapKeyIterator = {"": "Object;_map,_modifications,_cell,_liblib0$_current",
+ get$current: function() {
+ return this._liblib0$_current;
+ },
+ moveNext$0: function() {
+ var t1 = this._map;
+ if (this._modifications !== t1._modifications)
+ throw $.wrapException($.ConcurrentModificationError$(t1));
+ else {
+ t1 = this._cell;
+ if (t1 == null) {
+ this._liblib0$_current = null;
+ return false;
+ } else {
+ this._liblib0$_current = t1.get$_key();
+ this._cell = this._cell.get$_next();
+ return true;
+ }
+ }
+ },
+ LinkedHashMapKeyIterator$2: function(_map, _modifications) {
+ this._cell = this._map._first;
+ }
+};
+
+$$.LinkedHashSetCell = {"": "Object;_element<,_next@,_previous@"};
+
+$$.LinkedHashSetIterator = {"": "Object;_set,_modifications,_cell,_liblib0$_current",
+ get$current: function() {
+ return this._liblib0$_current;
+ },
+ moveNext$0: function() {
+ var t1 = this._set;
+ if (this._modifications !== t1._modifications)
+ throw $.wrapException($.ConcurrentModificationError$(t1));
+ else {
+ t1 = this._cell;
+ if (t1 == null) {
+ this._liblib0$_current = null;
+ return false;
+ } else {
+ this._liblib0$_current = t1.get$_element();
+ this._cell = this._cell.get$_next();
+ return true;
+ }
+ }
+ },
+ LinkedHashSetIterator$2: function(_set, _modifications) {
+ this._cell = this._set._first;
+ }
+};
+
+$$.Function__toMangledNames_anon = {"": "Closure;result_0",
+ call$2: function(symbol, value) {
+ var t1 = this.result_0;
+ t1.$indexSet(t1, symbol.get$_name(), value);
+ }
+};
+
+$$.NoSuchMethodError_toString_anon = {"": "Closure;box_0",
+ call$2: function(key, value) {
+ var t1 = this.box_0;
+ if ($.$gt$n(t1.i_1, 0))
+ t1.sb_0.write$1(", ");
+ t1.sb_0.write$1(key);
+ t1.sb_0.write$1(": ");
+ t1.sb_0.write$1($.Error_safeToString(value));
+ t1.i_1 = $.$add$ns(t1.i_1, 1);
+ }
+};
+
+$$.Interceptor = {"": "Object;",
+ $eq: function(receiver, other) {
+ return receiver === other;
+ },
+ get$hashCode: function(receiver) {
+ return $.Primitives_objectHashCode(receiver);
+ },
+ toString$0: function(receiver) {
+ return "Instance of '" + $.S($.Primitives_objectTypeName(receiver)) + "'";
+ }
+};
+
+$$.JSFunction = {"": "Interceptor;",
+ toString$0: function(receiver) {
+ return "Closure";
+ }
+};
+
+$$.JSBool = {"": "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;
+ }
+};
+
+$$.CloseToken = {"": "Object;", $isCloseToken: true};
+
+$$.JsIsolateSink = {"": "EventSink;_isClosed,_port<",
+ add$1: function(_, message) {
+ $.send$1$x(this._port, message);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return typeof other === "object" && other !== null && !!$.getInterceptor(other).$isIsolateSink && $.$eq(this._port, other.get$_port()) === true;
+ },
+ get$hashCode: function(_) {
+ return $.$add$ns($.get$hashCode$(this._port), 499);
+ },
+ $isJsIsolateSink: true,
+ $asIsolateSink: null,
+ $isIsolateSink: true
+};
+
+$$._Manager = {"": "Object;nextIsolateId@,currentManagerId,nextManagerId,currentContext<,rootContext,topEventLoop<,fromCommandLine,isWorker<,supportsWorkers,isolates,mainManager,managers",
+ get$useWorkers: function() {
+ return this.supportsWorkers;
+ },
+ get$needSerialization: function() {
+ return this.get$useWorkers();
+ },
+ _nativeDetectEnvironment$0: function() {
+ var t1, t2;
+ t1 = $.get$globalWindow() == null;
+ this.isWorker = t1 && $.get$globalPostMessageDefined() === true;
+ if (this.isWorker !== true)
+ t2 = $.get$globalWorker() != null && $.get$IsolateNatives_thisScript() != null;
+ else
+ t2 = true;
+ this.supportsWorkers = t2;
+ this.fromCommandLine = t1 && this.isWorker !== true;
+ },
+ _nativeInitWorkerMessageHandler$0: function() {
+ var $function = function (e) { $.IsolateNatives__processWorkerMessage.call$2(this.mainManager, e); };
+ $.get$globalThis().onmessage = $function;
+ $.get$globalThis().dartPrint = function (object) {};
+ },
+ maybeCloseWorker$0: function() {
+ if (this.isWorker === true) {
+ var t1 = this.isolates;
+ t1 = t1.get$isEmpty(t1) && this.topEventLoop.activeTimerCount === 0;
+ } else
+ t1 = false;
+ if (t1) {
+ t1 = this.mainManager;
+ t1.postMessage$1(t1, $._serializeMessage($.makeLiteralMap(["command", "close"])));
+ }
+ },
+ _Manager$0: function() {
+ this._nativeDetectEnvironment$0();
+ this.topEventLoop = $._EventLoop$();
+ this.isolates = $.Map_Map();
+ this.managers = $.Map_Map();
+ if (this.isWorker === true) {
+ this.mainManager = $._MainManagerStub$();
+ this._nativeInitWorkerMessageHandler$0();
+ }
+ }
+};
+
+$$._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._setGlobals$0();
+ }
+ return result;
+ },
+ _setGlobals$0: function() {
+ $ = this.isolateStatics;
+ },
+ 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) === true)
+ throw $.wrapException($._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);
+ t1 = this.ports;
+ if (t1.get$isEmpty(t1)) {
+ t1 = $globalState.isolates;
+ t1.remove$1(t1, this.id);
+ }
+ },
+ _IsolateContext$0: function() {
+ var t1, t2;
+ t1 = $._globalState();
+ t2 = t1.get$nextIsolateId();
+ t1.set$nextIsolateId(t2 + 1);
+ this.id = t2;
+ this.ports = $.Map_Map();
+ this.isolateStatics = new Isolate();
+ }
+};
+
+$$._EventLoop = {"": "Object;events,activeTimerCount",
+ enqueue$3: function(isolate, fn, msg) {
+ this.events.addLast$1($._IsolateEvent$(isolate, fn, msg));
+ },
+ dequeue$0: function() {
+ var t1 = this.events;
+ if (t1.get$isEmpty(t1))
+ return;
+ return t1.removeFirst$0();
+ },
+ checkOpenReceivePortsFromCommandLine$0: function() {
+ if ($globalState.rootContext != null)
+ if ($globalState.isolates.containsKey$1($globalState.rootContext.id) === true)
+ if ($globalState.fromCommandLine === true) {
+ var t1 = $globalState.rootContext.ports;
+ t1 = t1.get$isEmpty(t1);
+ } else
+ t1 = false;
+ else
+ t1 = false;
+ else
+ t1 = false;
+ if (t1)
+ throw $.wrapException($._ExceptionImplementation$("Program exited with open ReceivePorts."));
+ },
+ runIteration$0: function() {
+ var $event = this.dequeue$0();
+ if ($event == null) {
+ this.checkOpenReceivePortsFromCommandLine$0();
+ $globalState.maybeCloseWorker$0();
+ return false;
+ }
+ $event.process$0();
+ return true;
+ },
+ _runHelper$0: function() {
+ if ($.get$globalWindow() != null)
+ new $._EventLoop__runHelper_next(this).call$0();
+ else
+ for (; this.runIteration$0();)
+ ;
+ },
+ run$0: function() {
+ var e, trace, exception, t1;
+ if ($globalState.isWorker !== true)
+ this._runHelper$0();
+ else
+ try {
+ this._runHelper$0();
+ } catch (exception) {
+ t1 = $.unwrapException(exception);
+ e = t1;
+ trace = $.getTraceFromException(exception);
+ t1 = $globalState.mainManager;
+ t1.postMessage$1(t1, $._serializeMessage($.makeLiteralMap(["command", "error", "msg", $.S(e) + "\n" + $.S(trace)])));
+ }
+
+ }
+};
+
+$$._EventLoop__runHelper_next = {"": "Closure;this_0",
+ call$0: function() {
+ if (!this.this_0.runIteration$0())
+ return;
+ $.Timer_run(this);
+ }
+};
+
+$$._IsolateEvent = {"": "Object;isolate,fn,message",
+ process$0: function() {
+ this.isolate.eval$1(this.fn);
+ }
+};
+
+$$._MainManagerStub = {"": "Object;",
+ get$id: function(_) {
+ return 0;
+ },
+ set$id: function(_, i) {
+ throw $.wrapException($.UnimplementedError$(null));
+ },
+ postMessage$1: function(_, msg) {
+ $.get$globalThis().postMessage(msg);
+ },
+ terminate$0: function(_) {
+ }
+};
+
+$$.IsolateNatives__processWorkerMessage_anon = {"": "Closure;entryPoint_0,replyTo_1",
+ call$0: function() {
+ var t1, t2;
+ t1 = this.entryPoint_0;
+ t2 = this.replyTo_1;
+ $.lazyPort = $.ReceivePortImpl$();
+ $.send$2$x(t2, "spawned", $._Isolate_port().toSendPort$0());
+ t1.call$0();
+ }
+};
+
+$$._BaseSendPort = {"": "Object;_isolateId<",
+ _checkReplyTo$1: function(replyTo) {
+ if (replyTo != null && (typeof replyTo !== "object" || replyTo === null || !$.getInterceptor(replyTo).$is_NativeJsSendPort) && (typeof replyTo !== "object" || replyTo === null || !$.getInterceptor(replyTo).$is_WorkerSendPort) && true)
+ throw $.wrapException($._ExceptionImplementation$("SendPort.send: Illegal replyTo port type"));
+ },
+ call$1: function(message) {
+ var completer, port;
+ completer = $._CompleterImpl$();
+ port = $.ReceivePortImpl$();
+ this.send$2(this, message, port.toSendPort$0());
+ port.receive$1(new $._BaseSendPort_call_anon(completer, port));
+ return completer.future;
+ },
+ $isSendPort: true
+};
+
+$$._BaseSendPort_call_anon = {"": "Closure;completer_0,port_1",
+ call$2: function(value, ignoreReplyTo) {
+ var t1 = this.port_1;
+ t1.close$0(t1);
+ t1 = this.completer_0;
+ if (typeof value === "object" && value !== null && !!$.getInterceptor(value).$isException)
+ t1.completeError$1(value);
+ else
+ t1.complete$1(t1, value);
+ }
+};
+
+$$._NativeJsSendPort = {"": "_BaseSendPort;_receivePort<,_isolateId",
+ send$2: function(_, message, replyTo) {
+ $._waitForPendingPorts([message, replyTo], new $._NativeJsSendPort_send_anon(this, message, replyTo));
+ },
+ send$1: function($receiver, message) {
+ return this.send$2($receiver, message, null);
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ return typeof other === "object" && other !== null && !!$.getInterceptor(other).$is_NativeJsSendPort && $.$eq(this._receivePort, other._receivePort) === true;
+ },
+ get$hashCode: function(_) {
+ return this._receivePort.get$_id();
+ },
+ $is_NativeJsSendPort: true,
+ $isSendPort: true
+};
+
+$$._NativeJsSendPort_send_anon = {"": "Closure;this_1,message_2,replyTo_3",
+ call$0: function() {
+ var t1, t2, t3, t4, isolate, shouldSerialize, msg;
+ t1 = {};
+ t2 = this.this_1;
+ t3 = this.replyTo_3;
+ t2._checkReplyTo$1(t3);
+ t4 = $globalState.isolates;
+ isolate = t4.$index(t4, t2.get$_isolateId());
+ if (isolate == null)
+ return;
+ if (t2.get$_receivePort().get$_callback() == null)
+ return;
+ shouldSerialize = $globalState.currentContext != null && $.$eq($.get$id$x($globalState.currentContext), t2.get$_isolateId()) !== true;
+ msg = this.message_2;
+ t1.msg_0 = msg;
+ t1.reply_1 = t3;
+ if (shouldSerialize) {
+ t1.msg_0 = $._serializeMessage(t1.msg_0);
+ t1.reply_1 = $._serializeMessage(t1.reply_1);
+ }
+ $globalState.topEventLoop.enqueue$3(isolate, new $._NativeJsSendPort_send__anon(t1, t2, shouldSerialize), "receive " + $.S(msg));
+ }
+};
+
+$$._NativeJsSendPort_send__anon = {"": "Closure;box_0,this_4,shouldSerialize_5",
+ call$0: function() {
+ var t1, t2;
+ t1 = this.this_4;
+ if (t1.get$_receivePort().get$_callback() != null) {
+ if (this.shouldSerialize_5) {
+ t2 = this.box_0;
+ t2.msg_0 = $._deserializeMessage(t2.msg_0);
+ t2.reply_1 = $._deserializeMessage(t2.reply_1);
+ }
+ t1 = t1.get$_receivePort();
+ t2 = this.box_0;
+ t1._callback$2(t2.msg_0, t2.reply_1);
+ }
+ }
+};
+
+$$._WorkerSendPort = {"": "_BaseSendPort;_workerId<,_receivePortId,_isolateId",
+ send$2: function(_, message, replyTo) {
+ $._waitForPendingPorts([message, replyTo], new $._WorkerSendPort_send_anon(this, message, replyTo));
+ },
+ send$1: function($receiver, message) {
+ return this.send$2($receiver, message, null);
+ },
+ $eq: function(_, other) {
+ var t1;
+ if (other == null)
+ return false;
+ if (typeof other === "object" && other !== null && !!$.getInterceptor(other).$is_WorkerSendPort)
+ t1 = $.$eq(this._workerId, other._workerId) === true && $.$eq(this._isolateId, other._isolateId) === true && $.$eq(this._receivePortId, other._receivePortId) === true;
+ else
+ t1 = false;
+ return t1;
+ },
+ get$hashCode: function(_) {
+ var t1, t2, t3;
+ t1 = $.$shl$n(this._workerId, 16);
+ t2 = $.$shl$n(this._isolateId, 8);
+ t3 = this._receivePortId;
+ if (typeof t3 !== "number")
+ throw $.iae(t3);
+ return (t1 ^ t2 ^ t3) >>> 0;
+ },
+ $is_WorkerSendPort: true,
+ $isSendPort: true
+};
+
+$$._WorkerSendPort_send_anon = {"": "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 = $._serializeMessage($.makeLiteralMap(["command", "message", "port", t1, "msg", this.message_1, "replyTo", t2]));
+ if ($globalState.isWorker === true) {
+ t1 = $globalState.mainManager;
+ t1.postMessage$1(t1, workerMessage);
+ } else {
+ t2 = $globalState.managers;
+ manager = t2.$index(t2, t1.get$_workerId());
+ if (manager != null)
+ $.postMessage$1$x(manager, workerMessage);
+ }
+ }
+};
+
+$$.ReceivePortImpl = {"": "Object;_id<,_callback<",
+ _callback$2: function(arg0, arg1) {
+ return this._callback.call$2(arg0, arg1);
+ },
+ receive$1: function(onMessage) {
+ this._callback = onMessage;
+ },
+ close$0: function(_) {
+ this._callback = null;
+ $globalState.currentContext.unregister$1(this._id);
+ },
+ toSendPort$0: function() {
+ return $._NativeJsSendPort$(this, $.get$id$x($globalState.currentContext));
+ },
+ ReceivePortImpl$0: function() {
+ $.register$2$x($._globalState().get$currentContext(), this._id, this);
+ }
+};
+
+$$._waitForPendingPorts_anon = {"": "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);
+ $.forEach$1$ax(list, new $._PendingSendPortFinder_visitList_anon(this));
+ },
+ visitMap$1: function(map) {
+ var t1 = this._visited;
+ if (t1.$index(t1, map) != null)
+ return;
+ t1 = this._visited;
+ t1.$indexSet(t1, map, true);
+ $.forEach$1$ax(map.get$values(map), new $._PendingSendPortFinder_visitMap_anon(this));
+ },
+ visitSendPort$1: function(port) {
+ if (false)
+ this.ports.push(port.get$_futurePort());
+ },
+ visitIsolateSink$1: function(sink) {
+ var t1 = sink._port;
+ if (false)
+ this.ports.push(t1.get$_futurePort());
+ },
+ visitCloseToken$1: function(token) {
+ },
+ _PendingSendPortFinder$0: function() {
+ this._visited = $._JsVisitedMap$();
+ }
+};
+
+$$._PendingSendPortFinder_visitList_anon = {"": "Closure;this_0",
+ call$1: function(e) {
+ return this.this_0._dispatch$1(e);
+ }
+};
+
+$$._PendingSendPortFinder_visitMap_anon = {"": "Closure;this_0",
+ call$1: function(e) {
+ return this.this_0._dispatch$1(e);
+ }
+};
+
+$$._JsSerializer = {"": "_Serializer;_nextFreeRefId,_visited",
+ visitSendPort$1: function(x) {
+ if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$is_NativeJsSendPort)
+ return ["sendport", $globalState.currentManagerId, x._isolateId, x._receivePort.get$_id()];
+ if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$is_WorkerSendPort)
+ return ["sendport", x._workerId, x._isolateId, x._receivePortId];
+ throw $.wrapException("Illegal underlying port " + $.S(x));
+ },
+ visitIsolateSink$1: function(sink) {
+ var isClosed = sink._isClosed;
+ return ["isolateSink", this.visitSendPort$1(sink._port), isClosed];
+ },
+ visitCloseToken$1: function(token) {
+ return ["closeToken"];
+ },
+ _JsSerializer$0: function() {
+ this._visited = $._JsVisitedMap$();
+ }
+};
+
+$$._JsCopier = {"": "_Copier;_visited",
+ visitSendPort$1: function(x) {
+ if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$is_NativeJsSendPort)
+ return $._NativeJsSendPort$(x._receivePort, x._isolateId);
+ if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$is_WorkerSendPort)
+ return $._WorkerSendPort$(x._workerId, x._isolateId, x._receivePortId);
+ throw $.wrapException("Illegal underlying port " + $.S(this.get$p()));
+ },
+ visitIsolateSink$1: function(sink) {
+ var isClosed, result;
+ isClosed = sink._isClosed;
+ result = $.JsIsolateSink$fromPort(this.visitSendPort$1(sink._port));
+ result._isClosed = isClosed;
+ return result;
+ },
+ visitCloseToken$1: function(token) {
+ return token;
+ },
+ _JsCopier$0: function() {
+ this._visited = $._JsVisitedMap$();
+ }
+};
+
+$$._JsDeserializer = {"": "_Deserializer;_deserialized",
+ deserializeSendPort$1: function(list) {
+ var t1, managerId, isolateId, receivePortId, isolate, receivePort;
+ t1 = $.getInterceptor$asx(list);
+ managerId = t1.$index(list, 1);
+ isolateId = t1.$index(list, 2);
+ receivePortId = t1.$index(list, 3);
+ if ($.$eq(managerId, $globalState.currentManagerId) === true) {
+ t1 = $globalState.isolates;
+ isolate = t1.$index(t1, isolateId);
+ if (isolate == null)
+ return;
+ receivePort = isolate.lookup$1(receivePortId);
+ if (receivePort == null)
+ return;
+ return $._NativeJsSendPort$(receivePort, isolateId);
+ } else
+ return $._WorkerSendPort$(managerId, isolateId, receivePortId);
+ },
+ deserializeIsolateSink$1: function(list) {
+ var t1, port, isClosed, result;
+ t1 = $.getInterceptor$asx(list);
+ port = this.deserializeSendPort$1(t1.$index(list, 1));
+ isClosed = t1.$index(list, 2);
+ result = $.JsIsolateSink$fromPort(port);
+ result._isClosed = isClosed;
+ return result;
+ },
+ deserializeCloseToken$1: function(list) {
+ return $.C_CloseToken;
+ }
+};
+
+$$._JsVisitedMap = {"": "Object;tagged",
+ $index: function(_, object) {
+ return object.__MessageTraverser__attached_info__;
+ },
+ $indexSet: function(_, object, info) {
+ $.add$1$ax(this.tagged, object);
+ object.__MessageTraverser__attached_info__ = info;
+ },
+ reset$0: function(_) {
+ this.tagged = $.List_List($);
+ },
+ cleanup$0: function() {
+ var $length, i;
+ for ($length = $.get$length$asx(this.tagged), i = 0; i < $length; ++i)
+ $.$index$asx(this.tagged, 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;
+ t1 = x;
+ if (t1 == null || typeof t1 === "string" || typeof t1 === "number" || typeof t1 === "boolean")
+ 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) {
+ if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean")
+ return this.visitPrimitive$1(x);
+ if (typeof x === "object" && x !== null && (x.constructor === Array || $.getInterceptor(x).$isList()))
+ return this.visitList$1(x);
+ if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$isMap)
+ return this.visitMap$1(x);
+ if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$isSendPort)
+ return this.visitSendPort$1(x);
+ if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$isJsIsolateSink)
+ return this.visitIsolateSink$1(x);
+ if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$isCloseToken)
+ return this.visitCloseToken$1(x);
+ $.throwExpression("Message serialization: Illegal value " + $.S(x) + " passed");
+ return;
+ }
+};
+
+$$._Copier = {"": "_MessageTraverser;",
+ visitPrimitive$1: function(x) {
+ return x;
+ },
+ visitList$1: function(list) {
+ var t1, copy, len, i;
+ if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !$.getInterceptor(list).$isJavaScriptIndexingBehavior()))
+ return this.visitList$1$bailout1(1, list);
+ t1 = this._visited;
+ copy = t1.$index(t1, list);
+ if (copy != null)
+ return copy;
+ len = list.length;
+ copy = $.List_List(len);
+ t1 = this._visited;
+ t1.$indexSet(t1, list, copy);
+ for (i = 0; i < len; ++i) {
+ if (i >= list.length)
+ throw $.ioore(i);
+ copy[i] = this._dispatch$1(list[i]);
+ }
+ 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 = $.getInterceptor$asx(list);
+ len = t1.get$length(list);
+ copy = $.List_List(len);
+ t2 = this._visited;
+ t2.$indexSet(t2, list, copy);
+ for (t2 = copy.length, i = 0; $.JSNumber_methods.$lt(i, len); ++i) {
+ t3 = this._dispatch$1(t1.$index(list, i));
+ if (i >= t2)
+ throw $.ioore(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 = $.HashMap$();
+ t2 = this._visited;
+ t2.$indexSet(t2, map, t1.copy_0);
+ map.forEach$1(map, new $._Copier_visitMap_anon(t1, this));
+ return t1.copy_0;
+ }
+};
+
+$$._Copier_visitMap_anon = {"": "Closure;box_0,this_1",
+ call$2: function(key, val) {
+ var t1, t2;
+ t1 = this.box_0.copy_0;
+ t2 = this.this_1;
+ $.$indexSet$ax(t1, t2._dispatch$1(key), t2._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;
+ 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);
+ return ["map", id, this._serializeList$1($.toList$0$ax(map.get$keys())), this._serializeList$1($.toList$0$ax(map.get$values(map)))];
+ },
+ _serializeList$1: function(list) {
+ var len, result, i;
+ if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !$.getInterceptor(list).$isJavaScriptIndexingBehavior()))
+ return this._serializeList$1$bailout(1, list);
+ len = list.length;
+ result = $.List_List(len);
+ for (i = 0; i < len; ++i) {
+ if (i >= list.length)
+ throw $.ioore(i);
+ result[i] = this._dispatch$1(list[i]);
+ }
+ return result;
+ },
+ _serializeList$1$bailout: function(state0, list) {
+ var t1, len, result, t2, i, t3;
+ t1 = $.getInterceptor$asx(list);
+ len = t1.get$length(list);
+ result = $.List_List(len);
+ for (t2 = result.length, i = 0; $.JSNumber_methods.$lt(i, len); ++i) {
+ t3 = this._dispatch$1(t1.$index(list, i));
+ if (i >= t2)
+ throw $.ioore(i);
+ result[i] = t3;
+ }
+ return result;
+ }
+};
+
+$$._Deserializer = {"": "Object;",
+ deserialize$1: function(x) {
+ if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean")
+ return x;
+ this._deserialized = $.HashMap$();
+ return this._deserializeHelper$1(x);
+ },
+ _deserializeHelper$1: function(x) {
+ var t1, id;
+ t1 = $.getInterceptor(x);
+ if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean")
+ return 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:
+ $.throwExpression("Unexpected serialized object");
+ return;
+ }
+ },
+ _deserializeList$1: function(x) {
+ var t1, id, dartList, t2, len, i;
+ t1 = $.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) && !$.getInterceptor(dartList).$isJavaScriptIndexingBehavior())
+ return this._deserializeList$1$bailout(1, dartList, id);
+ t2 = this._deserialized;
+ t2.$indexSet(t2, id, dartList);
+ len = dartList.length;
+ for (i = 0; i < len; ++i) {
+ if (i >= dartList.length)
+ throw $.ioore(i);
+ t1 = this._deserializeHelper$1(dartList[i]);
+ if (i >= dartList.length)
+ throw $.ioore(i);
+ dartList[i] = t1;
+ }
+ return dartList;
+ },
+ _deserializeList$1$bailout: function(state0, dartList, id) {
+ var t2, len, i;
+ t2 = this._deserialized;
+ t2.$indexSet(t2, id, dartList);
+ t2 = $.getInterceptor$asx(dartList);
+ len = t2.get$length(dartList);
+ for (i = 0; $.JSNumber_methods.$lt(i, len); ++i)
+ t2.$indexSet(dartList, i, this._deserializeHelper$1(t2.$index(dartList, i)));
+ return dartList;
+ },
+ _deserializeMap$1: function(x) {
+ var result, t1, id, t2, keys, values, len, i, key;
+ result = $.HashMap$();
+ t1 = $.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 && !$.getInterceptor(keys).$isJavaScriptIndexingBehavior()))
+ return this._deserializeMap$1$bailout(1, x, result, keys, t1);
+ values = t1.$index(x, 3);
+ if (typeof values !== "string" && (typeof values !== "object" || values === null || values.constructor !== Array && !$.getInterceptor(values).$isJavaScriptIndexingBehavior()))
+ return this._deserializeMap$1$bailout(2, 0, result, keys, 0, values);
+ len = keys.length;
+ for (i = 0; i < len; ++i) {
+ if (i >= keys.length)
+ throw $.ioore(i);
+ key = this._deserializeHelper$1(keys[i]);
+ if (i >= values.length)
+ throw $.ioore(i);
+ result.$indexSet(result, key, this._deserializeHelper$1(values[i]));
+ }
+ return result;
+ },
+ _deserializeMap$1$bailout: function(state0, x, result, keys, t1, values) {
+ switch (state0) {
+ case 0:
+ result = $.HashMap$();
+ t1 = $.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, t3, len, i;
+ state0 = 0;
+ t3 = $.getInterceptor$asx(keys);
+ len = t3.get$length(keys);
+ for (t1 = $.getInterceptor$asx(values), i = 0; $.JSNumber_methods.$lt(i, len); ++i)
+ result.$indexSet(result, this._deserializeHelper$1(t3.$index(keys, i)), this._deserializeHelper$1(t1.$index(values, i)));
+ return result;
+ }
+ }
+};
+
+$$.TimerImpl = {"": "Object;_once,_inEventLoop,_handle?",
+ cancel$0: function() {
+ if ($.get$globalThis().setTimeout != null) {
+ if (this._inEventLoop)
+ throw $.wrapException($.UnsupportedError$("Timer in event loop cannot be canceled."));
+ if (this._handle == null)
+ return;
+ var t1 = $globalState.topEventLoop;
+ t1.activeTimerCount = t1.activeTimerCount - 1;
+ if (this._once)
+ $.get$globalThis().clearTimeout(this._handle);
+ else
+ $.get$globalThis().clearInterval(this._handle);
+ this._handle = null;
+ } else
+ throw $.wrapException($.UnsupportedError$("Canceling a timer."));
+ },
+ TimerImpl$2: function(milliseconds, callback) {
+ var t1;
+ if (milliseconds === 0)
+ t1 = $.hasTimer() !== true || $._globalState().get$isWorker() === true;
+ else
+ t1 = false;
+ if (t1) {
+ $._globalState().get$topEventLoop().enqueue$3($._globalState().get$currentContext(), callback, "timer");
+ this._inEventLoop = true;
+ } else if ($.hasTimer() === true) {
+ t1 = $._globalState().get$topEventLoop();
+ t1.activeTimerCount = t1.activeTimerCount + 1;
+ t1 = new $.internalCallback(this, callback);
+ this._handle = $.get$globalThis().setTimeout($.convertDartClosureToJS(t1, 0), milliseconds);
+ } else
+ throw $.wrapException($.UnsupportedError$("Timer greater than 0."));
+ },
+ TimerImpl$periodic$2: function(milliseconds, callback) {
+ var t1;
+ if ($.hasTimer() === true) {
+ t1 = $._globalState().get$topEventLoop();
+ t1.activeTimerCount = t1.activeTimerCount + 1;
+ this._handle = $.get$globalThis().setInterval($.convertDartClosureToJS(new $.anon(this, callback), 0), milliseconds);
+ } else
+ throw $.wrapException($.UnsupportedError$("Periodic timer."));
+ }
+};
+
+$$.internalCallback = {"": "Closure;this_0,callback_1",
+ call$0: function() {
+ this.callback_1.call$0();
+ this.this_0.set$_handle(null);
+ var t1 = $globalState.topEventLoop;
+ t1.activeTimerCount = t1.activeTimerCount - 1;
+ }
+};
+
+$$.anon = {"": "Closure;this_0,callback_1",
+ call$0: function() {
+ this.callback_1.call$1(this.this_0);
+ }
+};
+
+$$.JSArray = {"": "Interceptor;",
+ add$1: function(receiver, value) {
+ if (!!receiver.fixed$length)
+ $.throwExpression($.UnsupportedError$("add"));
+ receiver.push(value);
+ },
+ removeLast$0: function(receiver) {
+ if (!!receiver.fixed$length)
+ $.throwExpression($.UnsupportedError$("removeLast"));
+ if (receiver.length === 0)
+ throw $.wrapException($.RangeError$value(-1));
+ return receiver.pop();
+ },
+ remove$1: function(receiver, element) {
+ var i;
+ if (!!receiver.fixed$length)
+ $.throwExpression($.UnsupportedError$("remove"));
+ for (i = 0; i < receiver.length; ++i) {
+ if (i >= receiver.length || false)
+ $.throwExpression($.RangeError$value(i));
+ if ($.$eq(receiver[i], element) === true) {
+ receiver.splice(i, 1);
+ return;
+ }
+ }
+ },
+ addAll$1: function(receiver, collection) {
+ var t1, t2;
+ for (t1 = $.get$iterator$ax(collection); t1.moveNext$0() === true;) {
+ t2 = t1.get$current();
+ if (!!receiver.fixed$length)
+ $.throwExpression($.UnsupportedError$("add"));
+ receiver.push(t2);
+ }
+ },
+ forEach$1: function(receiver, f) {
+ var t1;
+ for (t1 = this.get$iterator(receiver); t1.moveNext$0();)
+ f.call$1(t1.get$current());
+ return;
+ },
+ join$1: function(receiver, separator) {
+ var t1, list, i, t2;
+ t1 = receiver.length;
+ list = $.List_List(t1);
+ for (i = 0; i < receiver.length; ++i) {
+ if (i >= receiver.length || false)
+ $.throwExpression($.RangeError$value(i));
+ t2 = $.S(receiver[i]);
+ if (i >= t1)
+ throw $.ioore(i);
+ list[i] = t2;
+ }
+ return list.join(separator);
+ },
+ skip$1: function(receiver, n) {
+ return $.SubListIterable$(receiver, n, null);
+ },
+ fold$2: function(receiver, initialValue, combine) {
+ var t1;
+ for (t1 = this.get$iterator(receiver); t1.moveNext$0();)
+ initialValue = combine.call$2(initialValue, t1.get$current());
+ return initialValue;
+ },
+ elementAt$1: function(receiver, index) {
+ var t1;
+ if (typeof index !== "number" || Math.floor(index) !== index)
+ $.throwExpression($.ArgumentError$(index));
+ t1 = $.getInterceptor$n(index);
+ if (t1.$ge(index, receiver.length) || t1.$lt(index, 0))
+ $.throwExpression($.RangeError$value(index));
+ return receiver[index];
+ },
+ sublist$2: function(receiver, start, end) {
+ if (typeof end !== "number")
+ return this.sublist$2$bailout(1, start, end, receiver);
+ if (start == null)
+ $.throwExpression($.ArgumentError$(null));
+ if (typeof start !== "number" || Math.floor(start) !== start)
+ throw $.wrapException($.ArgumentError$(start));
+ if (start < 0 || start > receiver.length)
+ throw $.wrapException($.RangeError$range(start, 0, receiver.length));
+ if (typeof end !== "number" || Math.floor(end) !== end)
+ throw $.wrapException($.ArgumentError$(end));
+ if (end < start || end > receiver.length)
+ throw $.wrapException($.RangeError$range(end, start, receiver.length));
+ if (start === end)
+ return [];
+ return receiver.slice(start, end);
+ },
+ sublist$2$bailout: function(state0, start, end, receiver) {
+ if (start == null)
+ $.throwExpression($.ArgumentError$(null));
+ if (typeof start !== "number" || Math.floor(start) !== start)
+ throw $.wrapException($.ArgumentError$(start));
+ if (start < 0 || start > receiver.length)
+ throw $.wrapException($.RangeError$range(start, 0, receiver.length));
+ if (end == null)
+ end = receiver.length;
+ else {
+ if (typeof end !== "number" || Math.floor(end) !== end)
+ throw $.wrapException($.ArgumentError$(end));
+ if (end < start || end > receiver.length)
+ throw $.wrapException($.RangeError$range(end, start, receiver.length));
+ }
+ if (start === end)
+ return [];
+ return receiver.slice(start, end);
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ get$first: function(receiver) {
+ if (receiver.length > 0)
+ return receiver[0];
+ throw $.wrapException($.StateError$("No elements"));
+ },
+ get$last: function(receiver) {
+ var t1 = receiver.length;
+ if (t1 > 0)
+ return receiver[t1 - 1];
+ throw $.wrapException($.StateError$("No elements"));
+ },
+ setRange$4: function(receiver, start, end, iterable, skipCount) {
+ if (!!receiver.immutable$list)
+ $.throwExpression($.UnsupportedError$("set range"));
+ $.IterableMixinWorkaround_setRangeList(receiver, start, end, iterable, skipCount);
+ },
+ get$isEmpty: function(receiver) {
+ return receiver.length === 0;
+ },
+ toString$0: function(receiver) {
+ var result = $.StringBuffer$("");
+ $.ToString__emitValue(receiver, result, $.List_List($));
+ return result.toString$0(result);
+ },
+ toList$1$growable: function(receiver, growable) {
+ return $.List_List$from(receiver, growable);
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ get$iterator: function(receiver) {
+ return $.ListIterator$(receiver);
+ },
+ get$hashCode: function(receiver) {
+ return $.Primitives_objectHashCode(receiver);
+ },
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ set$length: function(receiver, newLength) {
+ if (typeof newLength !== "number" || Math.floor(newLength) !== newLength)
+ throw $.wrapException($.ArgumentError$(newLength));
+ if (newLength < 0)
+ throw $.wrapException($.RangeError$value(newLength));
+ $.checkGrowable(receiver, "set length");
+ receiver.length = newLength;
+ },
+ $index: function(receiver, index) {
+ if (typeof index !== "number" || Math.floor(index) !== index)
+ throw $.wrapException($.ArgumentError$(index));
+ if (index >= receiver.length || index < 0)
+ throw $.wrapException($.RangeError$value(index));
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ if (!!receiver.immutable$list)
+ $.throwExpression($.UnsupportedError$("indexed set"));
+ if (typeof index !== "number" || Math.floor(index) !== index)
+ throw $.wrapException($.ArgumentError$(index));
+ if (index >= receiver.length || index < 0)
+ throw $.wrapException($.RangeError$value(index));
+ receiver[index] = value;
+ },
+ $asList: function() {
+ return null;
+ },
+ $asIterable: function() {
+ return null;
+ },
+ $isList: function() {
+ return true;
+ },
+ $isIterable: function() {
+ return true;
+ }
+};
+
+$$.JSMutableArray = {"": "JSArray;",
+ $asList: function() {
+ return function () { return [null]; };
+ },
+ $asIterable: function() {
+ return function () { return [null]; };
+ }
+};
+
+$$.JSFixedArray = {"": "JSMutableArray;"};
+
+$$.JSExtendableArray = {"": "JSMutableArray;"};
+
+$$.Primitives_applyFunction_anon = {"": "Closure;namedArguments_0,buffer_1,arguments_2",
+ call$1: function($name) {
+ var t1, t2;
+ this.buffer_1.write$1("$" + $.S($name));
+ t1 = this.arguments_2;
+ t2 = this.namedArguments_0;
+ t1.push(t2.$index(t2, $name));
+ }
+};
+
+$$.DartError = {"": "Object;",
+ get$stack: function() {
+ return this.stack;
+ },
+ toString$0: function(_) {
+ var dartException = this.dartException;
+ if (!!Error.captureStackTrace || this.get$stack() == null)
+ return $.toString$0(dartException);
+ else
+ return $.S(dartException) + "\n" + $.S(this.get$stack());
+ },
+ DartError$1: function(dartException) {
+ this.dartException = dartException;
+ this.toString = $.DartError_toStringWrapper.call$0;
+ }
+};
+
+$$._StackTrace = {"": "Object;_stack",
+ toString$0: function(_) {
+ var t1 = this._stack;
+ return t1 != null ? t1 : "";
+ }
+};
+
+$$.invokeClosure_anon = {"": "Closure;closure_0",
+ call$0: function() {
+ return this.closure_0.call$0();
+ }
+};
+
+$$.invokeClosure_anon0 = {"": "Closure;closure_1,arg1_2",
+ call$0: function() {
+ return this.closure_1.call$1(this.arg1_2);
+ }
+};
+
+$$.invokeClosure_anon1 = {"": "Closure;closure_3,arg1_4,arg2_5",
+ call$0: function() {
+ return this.closure_3.call$2(this.arg1_4, this.arg2_5);
+ }
+};
+
+$$.Closure = {"": "Object;",
+ toString$0: function(_) {
+ return "Closure";
+ }
+};
+
+$$.Null = {"": "Object;"};
+
+$$.JSNumber = {"": "Interceptor;",
+ get$isNaN: function(receiver) {
+ return isNaN(receiver);
+ },
+ get$isInfinite: function(receiver) {
+ return receiver == Infinity || receiver == -Infinity;
+ },
+ remainder$1: function(receiver, b) {
+ return receiver % b;
+ },
+ abs$0: function(receiver) {
+ return Math.abs(receiver);
+ },
+ toInt$0: function(receiver) {
+ var truncated;
+ if (this.get$isNaN(receiver))
+ throw $.wrapException($.UnsupportedError$("NaN"));
+ if (this.get$isInfinite(receiver))
+ throw $.wrapException($.UnsupportedError$("Infinity"));
+ truncated = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver);
+ return truncated == -0.0 ? 0 : truncated;
+ },
+ truncate$0: function(receiver) {
+ var truncated;
+ if (this.get$isNaN(receiver))
+ $.throwExpression($.UnsupportedError$("NaN"));
+ if (this.get$isInfinite(receiver))
+ $.throwExpression($.UnsupportedError$("Infinity"));
+ truncated = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver);
+ return truncated == -0.0 ? 0 : truncated;
+ },
+ ceil$0: function(receiver) {
+ return this.toInt$0(Math.ceil(receiver));
+ },
+ floor$0: function(receiver) {
+ return this.toInt$0(Math.floor(receiver));
+ },
+ round$0: function(receiver) {
+ return this.toInt$0(this.roundToDouble$0(receiver));
+ },
+ roundToDouble$0: function(receiver) {
+ if (receiver < 0)
+ return -Math.round(-receiver);
+ else
+ return Math.round(receiver);
+ },
+ toString$0: function(receiver) {
+ if (receiver === 0 && 1 / receiver < 0)
+ return "-0.0";
+ else
+ return "" + receiver;
+ },
+ get$hashCode: function(receiver) {
+ return receiver & 0x1FFFFFFF;
+ },
+ $add: function(receiver, other) {
+ if (typeof other !== "number")
+ throw $.wrapException($.ArgumentError$(other));
+ return receiver + other;
+ },
+ $sub: function(receiver, other) {
+ if (typeof other !== "number")
+ throw $.wrapException($.ArgumentError$(other));
+ return receiver - other;
+ },
+ $div: function(receiver, other) {
+ if (typeof other !== "number")
+ throw $.wrapException($.ArgumentError$(other));
+ return receiver / other;
+ },
+ $mul: function(receiver, other) {
+ return receiver * other;
+ },
+ $tdiv: function(receiver, other) {
+ return this.truncate$0(receiver / other);
+ },
+ $shl: function(receiver, other) {
+ if (other < 0)
+ throw $.wrapException($.ArgumentError$(other));
+ if (other > 31)
+ return 0;
+ return receiver << other >>> 0;
+ },
+ $and: function(receiver, other) {
+ return (receiver & other) >>> 0;
+ },
+ $lt: function(receiver, other) {
+ if (typeof other !== "number")
+ throw $.wrapException($.ArgumentError$(other));
+ return receiver < other;
+ },
+ $gt: function(receiver, other) {
+ if (typeof other !== "number")
+ throw $.wrapException($.ArgumentError$(other));
+ return receiver > other;
+ },
+ $le: function(receiver, other) {
+ if (typeof other !== "number")
+ throw $.wrapException($.ArgumentError$(other));
+ return receiver <= other;
+ },
+ $ge: function(receiver, other) {
+ if (typeof other !== "number")
+ throw $.wrapException($.ArgumentError$(other));
+ return receiver >= other;
+ },
+ $isnum: true
+};
+
+$$.JSInt = {"": "JSNumber;", $isint: true, $isnum: true};
+
+$$.JSDouble = {"": "JSNumber;", $isdouble: true, $isnum: true};
+
+$$.JSString = {"": "Interceptor;",
+ codeUnitAt$1: function(receiver, index) {
+ if (index < 0)
+ throw $.wrapException($.RangeError$value(index));
+ if (index >= receiver.length)
+ throw $.wrapException($.RangeError$value(index));
+ return receiver.charCodeAt(index);
+ },
+ allMatches$1: function(receiver, str) {
+ return $.allMatchesInStringUnchecked(receiver, str);
+ },
+ $add: function(receiver, other) {
+ if (typeof other !== "string")
+ throw $.wrapException($.ArgumentError$(other));
+ return receiver + other;
+ },
+ endsWith$1: function(receiver, other) {
+ var otherLength, t1;
+ otherLength = other.length;
+ t1 = receiver.length;
+ if (otherLength > t1)
+ return false;
+ return other === this.substring$1(receiver, t1 - otherLength);
+ },
+ replaceAll$2: function(receiver, from, to) {
+ return $.stringReplaceAllUnchecked(receiver, from, to);
+ },
+ split$1: function(receiver, pattern) {
+ return receiver.split(pattern);
+ },
+ substring$2: function(receiver, startIndex, endIndex) {
+ if (endIndex == null)
+ endIndex = receiver.length;
+ if (typeof endIndex !== "number")
+ $.throwExpression($.ArgumentError$(endIndex));
+ if (startIndex < 0)
+ throw $.wrapException($.RangeError$value(startIndex));
+ if ($.JSNumber_methods.$gt(startIndex, endIndex))
+ throw $.wrapException($.RangeError$value(startIndex));
+ if ($.$gt$n(endIndex, receiver.length))
+ throw $.wrapException($.RangeError$value(endIndex));
+ return receiver.substring(startIndex, endIndex);
+ },
+ substring$1: function($receiver, startIndex) {
+ return this.substring$2($receiver, startIndex, null);
+ },
+ trim$0: function(receiver) {
+ return receiver.trim();
+ },
+ indexOf$2: function(receiver, other, start) {
+ if (other == null)
+ $.throwExpression($.ArgumentError$(null));
+ if (typeof start !== "number" || Math.floor(start) !== start)
+ throw $.wrapException($.ArgumentError$(start));
+ if (typeof other !== "string")
+ throw $.wrapException($.ArgumentError$(other));
+ if (start < 0)
+ return -1;
+ return receiver.indexOf(other, start);
+ },
+ contains$2: function(receiver, other, startIndex) {
+ if (other == null)
+ $.throwExpression($.ArgumentError$(null));
+ return $.stringContainsUnchecked(receiver, other, startIndex);
+ },
+ get$isEmpty: function(receiver) {
+ return receiver.length === 0;
+ },
+ toString$0: function(receiver) {
+ return receiver;
+ },
+ get$hashCode: function(receiver) {
+ var hash, i;
+ for (hash = 0, i = 0; i < receiver.length; ++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 $.wrapException($.ArgumentError$(index));
+ if (index >= receiver.length || index < 0)
+ throw $.wrapException($.RangeError$value(index));
+ return receiver[index];
+ },
+ $isString: true
+};
+
+$$._convertJsonToDart_anon = {"": "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 = $.makeLiteralMap([]);
+ 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;
+ }
+};
+
+$$.StringMatch = {"": "Object;start,str,pattern",
+ $index: function(_, g) {
+ if ($.$eq(g, 0) !== true)
+ $.throwExpression($.RangeError$value(g));
+ return this.pattern;
+ }
+};
+
+$$._CompleterImpl = {"": "Object;future,_isComplete",
+ complete$1: function(_, value) {
+ if (this._isComplete)
+ throw $.wrapException($.StateError$("Future already completed"));
+ this._isComplete = true;
+ this.future._setValue$1(value);
+ },
+ completeError$2: function(error, stackTrace) {
+ if (this._isComplete)
+ throw $.wrapException($.StateError$("Future already completed"));
+ this._isComplete = true;
+ if (stackTrace != null)
+ $._attachStackTrace(error, stackTrace);
+ this.future._setError$1(error);
+ },
+ completeError$1: function(error) {
+ return this.completeError$2(error, null);
+ }
+};
+
+$$._FutureListenerWrapper = {"": "Object;future,_nextListener@",
+ _sendValue$1: function(value) {
+ this.future._setValue$1(value);
+ },
+ _sendError$1: function(error) {
+ this.future._setError$1(error);
+ }
+};
+
+$$._FutureImpl = {"": "Object;_state@,_resultOrListeners<",
+ get$_isComplete: function() {
+ return this._state !== 0;
+ },
+ get$_hasValue: function() {
+ return this._state === 1;
+ },
+ get$_hasError: function() {
+ return (this._state & 2) !== 0;
+ },
+ get$_hasUnhandledError: function() {
+ return (this._state & 4) !== 0;
+ },
+ then$2$onError: function(f, onError) {
+ var t1;
+ if (!this.get$_isComplete()) {
+ if (onError == null) {
+ t1 = $._ThenFuture$(f);
+ t1._subscribeTo$1(this);
+ return t1;
+ }
+ t1 = $._SubscribeFuture$(f, onError);
+ t1._subscribeTo$1(this);
+ return t1;
+ }
+ if (this.get$_hasError()) {
+ if (onError != null)
+ return this._handleError$2(onError, null);
+ return $._FutureWrapper$(this);
+ } else
+ return this._handleValue$1(f);
+ },
+ then$1: function(f) {
+ return this.then$2$onError(f, null);
+ },
+ catchError$2$test: function(f, test) {
+ var t1;
+ if (this.get$_hasValue())
+ return $._FutureWrapper$(this);
+ if (!this.get$_isComplete()) {
+ t1 = $._CatchErrorFuture$(f, test);
+ t1._subscribeTo$1(this);
+ return t1;
+ } else
+ return this._handleError$2(f, test);
+ },
+ catchError$1: function(f) {
+ return this.catchError$2$test(f, null);
+ },
+ _handleValue$1: function(onValue) {
+ var thenFuture = $._ThenFuture$(onValue);
+ $.Timer_run(new $._FutureImpl__handleValue_anon(thenFuture, this._resultOrListeners));
+ return thenFuture;
+ },
+ _handleError$2: function(onError, test) {
+ var error, errorFuture;
+ this._state = (this._state & 4294967291) >>> 0;
+ error = this._resultOrListeners;
+ errorFuture = $._CatchErrorFuture$(onError, test);
+ $.Timer_run(new $._FutureImpl__handleError_anon(error, errorFuture));
+ return errorFuture;
+ },
+ _setValue$1: function(value) {
+ var listeners, listeners0;
+ if (this.get$_isComplete())
+ throw $.wrapException($.StateError$("Future already completed"));
+ listeners = this._removeListeners$0();
+ this._state = 1;
+ this._resultOrListeners = value;
+ for (; listeners != null; listeners = listeners0) {
+ listeners0 = listeners.get$_nextListener();
+ listeners.set$_nextListener(null);
+ listeners._sendValue$1(value);
+ }
+ },
+ get$_setValue: function() {
+ return new $.BoundClosure$1(this, "_setValue$1");
+ },
+ _setError$1: function(error) {
+ var listeners, listeners0;
+ if (this.get$_isComplete())
+ throw $.wrapException($.StateError$("Future already completed"));
+ listeners = this._removeListeners$0();
+ this._state = 2;
+ this._resultOrListeners = error;
+ if (listeners == null) {
+ this._scheduleUnhandledError$0();
+ return;
+ }
+ do {
+ listeners0 = listeners.get$_nextListener();
+ listeners.set$_nextListener(null);
+ listeners._sendError$1(error);
+ if (listeners0 != null) {
+ listeners = listeners0;
+ continue;
+ } else
+ break;
+ } while (true);
+ },
+ get$_setError: function() {
+ return new $.BoundClosure$1(this, "_setError$1");
+ },
+ _scheduleUnhandledError$0: function() {
+ this._state = (this._state | 4) >>> 0;
+ $.Timer_run(new $._FutureImpl__scheduleUnhandledError_anon(this));
+ },
+ _addListener$1: function(listener) {
+ 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;
+ },
+ _chain$1: function(future) {
+ var t1;
+ if (!this.get$_isComplete()) {
+ t1 = future._asListener$0();
+ t1._nextListener = this._resultOrListeners;
+ this._resultOrListeners = t1;
+ } else if (this.get$_hasValue())
+ future._setValue$1(this._resultOrListeners);
+ else {
+ this._state = (this._state & 4294967291) >>> 0;
+ future._setError$1(this._resultOrListeners);
+ }
+ },
+ _setOrChainValue$1: function(result) {
+ if (typeof result === "object" && result !== null && !!$.getInterceptor(result).$isFuture)
+ if (!!$.getInterceptor(result).$is_FutureImpl) {
+ result._chain$1(this);
+ return;
+ } else {
+ result.then$2$onError(this.get$_setValue(), this.get$_setError());
+ return;
+ }
+ else
+ this._setValue$1(result);
+ },
+ _asListener$0: function() {
+ return $._FutureListenerWrapper$(this);
+ },
+ _FutureImpl$immediate$1: function(value) {
+ this._state = 1;
+ this._resultOrListeners = value;
+ },
+ $is_FutureImpl: true,
+ $isFuture: true
+};
+
+$$._FutureImpl__FutureImpl$wait_handleError = {"": "Closure;box_0",
+ call$1: function(error) {
+ var t1 = this.box_0;
+ if (t1.values_1 != null) {
+ t1.values_1 = null;
+ t1.completer_0.completeError$1(error);
+ }
+ }
+};
+
+$$._FutureImpl__FutureImpl$wait_anon = {"": "Closure;box_0,pos_1",
+ call$1: function(value) {
+ var t1, t2;
+ t1 = this.box_0;
+ t2 = t1.values_1;
+ if (t2 == null)
+ return;
+ $.$indexSet$ax(t2, this.pos_1, value);
+ t1.remaining_2 = $.$sub$n(t1.remaining_2, 1);
+ if ($.$eq(t1.remaining_2, 0)) {
+ t2 = t1.completer_0;
+ t2.complete$1(t2, t1.values_1);
+ }
+ }
+};
+
+$$._FutureImpl__handleValue_anon = {"": "Closure;thenFuture_0,value_1",
+ call$0: function() {
+ this.thenFuture_0._sendValue$1(this.value_1);
+ }
+};
+
+$$._FutureImpl__handleError_anon = {"": "Closure;error_0,errorFuture_1",
+ call$0: function() {
+ this.errorFuture_1._sendError$1(this.error_0);
+ }
+};
+
+$$._FutureImpl__scheduleUnhandledError_anon = {"": "Closure;this_0",
+ call$0: function() {
+ var t1, error, trace;
+ t1 = this.this_0;
+ if (t1.get$_hasUnhandledError()) {
+ t1.set$_state((t1.get$_state() & 4294967291) >>> 0);
+ error = t1.get$_resultOrListeners();
+ $.Primitives_printString("Uncaught Error: " + $.S(error));
+ trace = $.getAttachedStackTrace(error);
+ if (trace != null)
+ $.Primitives_printString("Stack Trace:\n" + $.S(trace) + "\n");
+ throw $.wrapException(error);
+ }
+ }
+};
+
+$$._TransformFuture = {"": "_FutureImpl;_nextListener@",
+ _subscribeTo$1: function(future) {
+ future._addListener$1(this);
+ },
+ $as_FutureImpl: function (S, T) { return [T]; },
+ $asFuture: function (S, T) { return [T]; }
+};
+
+$$._ThenFuture = {"": "_TransformFuture;_onValue,_nextListener,_state,_resultOrListeners",
+ _onValue$1: function(arg0) {
+ return this._onValue.call$1(arg0);
+ },
+ _sendValue$1: function(value) {
+ var result, e, s, exception, t1;
+ result = null;
+ try {
+ result = this._onValue$1(value);
+ } catch (exception) {
+ t1 = $.unwrapException(exception);
+ e = t1;
+ s = $.getTraceFromException(exception);
+ this._setError$1($._asyncError(e, s));
+ return;
+ }
+
+ this._setOrChainValue$1(result);
+ },
+ _sendError$1: function(error) {
+ this._setError$1(error);
+ },
+ $as_FutureImpl: function (S, T) { return [T]; },
+ $asFuture: function (S, T) { return [T]; }
+};
+
+$$._CatchErrorFuture = {"": "_TransformFuture;_test,_onError,_nextListener,_state,_resultOrListeners",
+ _test$1: function(arg0) {
+ return this._test.call$1(arg0);
+ },
+ _onError$1: function(arg0) {
+ return this._onError.call$1(arg0);
+ },
+ _sendValue$1: function(value) {
+ this._setValue$1(value);
+ },
+ _sendError$1: function(error) {
+ var matchesTest, e, s, result, e0, s0, exception, t1;
+ if (this._test != null) {
+ matchesTest = null;
+ try {
+ matchesTest = this._test$1(error);
+ } catch (exception) {
+ t1 = $.unwrapException(exception);
+ e = t1;
+ s = $.getTraceFromException(exception);
+ this._setError$1($._asyncError(e, s));
+ return;
+ }
+
+ if (matchesTest !== true) {
+ this._setError$1(error);
+ return;
+ }
+ }
+ result = null;
+ try {
+ result = this._onError$1(error);
+ } catch (exception) {
+ t1 = $.unwrapException(exception);
+ e0 = t1;
+ s0 = $.getTraceFromException(exception);
+ this._setError$1($._asyncError(e0, s0));
+ return;
+ }
+
+ this._setOrChainValue$1(result);
+ },
+ $as_FutureImpl: null,
+ $asFuture: null
+};
+
+$$._SubscribeFuture = {"": "_ThenFuture;_onError,_onValue,_nextListener,_state,_resultOrListeners",
+ _onError$1: function(arg0) {
+ return this._onError.call$1(arg0);
+ },
+ _sendError$1: function(error) {
+ var result, e, s, exception, t1;
+ result = null;
+ try {
+ result = this._onError$1(error);
+ } catch (exception) {
+ t1 = $.unwrapException(exception);
+ e = t1;
+ s = $.getTraceFromException(exception);
+ this._setError$1($._asyncError(e, s));
+ return;
+ }
+
+ this._setOrChainValue$1(result);
+ },
+ $as_FutureImpl: function (S, T) { return [T]; },
+ $asFuture: function (S, T) { return [T]; }
+};
+
+$$._FutureWrapper = {"": "Object;_future",
+ then$2$onError: function($function, onError) {
+ return this._future.then$2$onError($function, onError);
+ },
+ then$1: function($function) {
+ return this.then$2$onError($function, null);
+ },
+ catchError$2$test: function($function, test) {
+ return this._future.catchError$2$test($function, test);
+ },
+ catchError$1: function($function) {
+ return this.catchError$2$test($function, null);
+ },
+ $isFuture: true
+};
+
+$$.Stream = {"": "Object;",
+ get$length: function(_) {
+ var t1, future, t2, t3;
+ t1 = {};
+ future = $._FutureImpl$();
+ t1.count_0 = 0;
+ t2 = new $.Stream_length_anon(t1);
+ t3 = future.get$_setError();
+ this.listen$4$cancelOnError$onDone$onError(t2, true, new $.Stream_length_anon0(t1, future), t3);
+ return future;
+ },
+ get$isEmpty: function(_) {
+ var t1, future, t2, t3;
+ t1 = {};
+ future = $._FutureImpl$();
+ t1.subscription_0 = null;
+ t2 = new $.Stream_isEmpty_anon(t1, future);
+ t3 = future.get$_setError();
+ t1.subscription_0 = this.listen$4$cancelOnError$onDone$onError(t2, true, new $.Stream_isEmpty_anon0(future), t3);
+ return future;
+ },
+ skip$1: function(_, count) {
+ return $._SkipStream$(this, count);
+ }
+};
+
+$$.Stream_length_anon = {"": "Closure;box_0",
+ call$1: function(_) {
+ var t1 = this.box_0;
+ t1.count_0 = $.$add$ns(t1.count_0, 1);
+ }
+};
+
+$$.Stream_length_anon0 = {"": "Closure;box_0,future_1",
+ call$0: function() {
+ this.future_1._setValue$1(this.box_0.count_0);
+ }
+};
+
+$$.Stream_isEmpty_anon = {"": "Closure;box_0,future_1",
+ call$1: function(_) {
+ this.box_0.subscription_0.cancel$0();
+ this.future_1._setValue$1(false);
+ }
+};
+
+$$.Stream_isEmpty_anon0 = {"": "Closure;future_2",
+ call$0: function() {
+ this.future_2._setValue$1(true);
+ }
+};
+
+$$.StreamSubscription = {"": "Object;"};
+
+$$.EventSink = {"": "Object;"};
+
+$$._throwDelayed_anon = {"": "Closure;error_0,stackTrace_1",
+ call$0: function() {
+ var t1, t2, trace, t3;
+ t1 = this.stackTrace_1;
+ if (t1 != null)
+ $.Primitives_printString($.JSNull_methods.toString$0(t1));
+ t2 = this.error_0;
+ trace = $.getAttachedStackTrace(t2);
+ t3 = $.getInterceptor(trace);
+ if (trace != null && t3.$eq(trace, t1) !== true)
+ $.Primitives_printString(t3.toString$0(trace));
+ throw $.wrapException(t2);
+ }
+};
+
+$$._ForwardingStream = {"": "Stream;",
+ listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+ if (onData == null)
+ onData = $._nullDataHandler;
+ if (onError == null)
+ onError = $._nullErrorHandler;
+ if (onDone == null)
+ onDone = $._nullDoneHandler;
+ return $._ForwardingStreamSubscription$(this, onData, onError, onDone, true === cancelOnError);
+ },
+ 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._sendData$1(data);
+ },
+ _handleError$2: function(error, sink) {
+ sink._sendError$1(error);
+ },
+ _handleDone$1: function(sink) {
+ sink._sendDone$0();
+ }
+};
+
+$$._BaseStreamSubscription = {"": "Object;",
+ _onData$1: function(arg0) {
+ return this._onData.call$1(arg0);
+ },
+ _onError$1: function(arg0) {
+ return this._onError.call$1(arg0);
+ },
+ _onDone$0: function() {
+ return this._onDone.call$0();
+ },
+ _BaseStreamSubscription$3: function(_onData, _onError, _onDone) {
+ if (this._onData == null)
+ this._onData = $._nullDataHandler;
+ if (this._onError == null)
+ this._onError = $._nullErrorHandler;
+ if (this._onDone == null)
+ this._onDone = $._nullDoneHandler;
+ }
+};
+
+$$._ForwardingStreamSubscription = {"": "_BaseStreamSubscription;_stream,_cancelOnError,_subscription,_onData,_onError,_onDone",
+ cancel$0: function() {
+ var t1 = this._subscription;
+ if (t1 != null) {
+ t1.cancel$0();
+ this._subscription = null;
+ }
+ },
+ _sendData$1: function(data) {
+ this._onData$1(data);
+ },
+ _sendError$1: function(error) {
+ this._onError$1(error);
+ if (this._cancelOnError) {
+ this._subscription.cancel$0();
+ this._subscription = null;
+ }
+ },
+ _sendDone$0: function() {
+ var t1 = this._subscription;
+ if (t1 != null) {
+ t1.cancel$0();
+ this._subscription = null;
+ }
+ this._onDone$0();
+ },
+ _handleData$1: function(data) {
+ this._stream._handleData$2(data, this);
+ },
+ get$_handleData: function() {
+ return new $.BoundClosure$1(this, "_handleData$1");
+ },
+ _handleError$1: function(error) {
+ this._stream._handleError$2(error, this);
+ },
+ get$_handleError: function() {
+ return new $.BoundClosure$1(this, "_handleError$1");
+ },
+ _handleDone$0: function() {
+ this._subscription = null;
+ this._stream._handleDone$1(this);
+ },
+ get$_handleDone: function() {
+ return new $.BoundClosure$0(this, "_handleDone$0");
+ },
+ _ForwardingStreamSubscription$5: function(_stream, onData, onError, onDone, _cancelOnError) {
+ var t1, t2;
+ t1 = this.get$_handleData();
+ t2 = this.get$_handleError();
+ this._subscription = this._stream._source.listen$3$onDone$onError(t1, this.get$_handleDone(), t2);
+ }
+};
+
+$$._SkipStream = {"": "_ForwardingStream;_remaining,_source",
+ _handleData$2: function(inputEvent, sink) {
+ var t1 = this._remaining;
+ if (t1 > 0) {
+ this._remaining = t1 - 1;
+ return;
+ }
+ return sink._sendData$1(inputEvent);
+ },
+ _SkipStream$2: function(source, count) {
+ if (typeof count !== "number" || Math.floor(count) !== count || count < 0)
+ throw $.wrapException($.ArgumentError$(count));
+ }
+};
+
+$$.Timer_run_anon = {"": "Closure;",
+ call$0: function() {
+ var runCallbacks, i, callback, newCallbacks, exception;
+ runCallbacks = $.get$Timer__runCallbacks();
+ $.Timer__runCallbacks = [];
+ for (i = 0; $.$lt$n(i, $.get$length$asx(runCallbacks)); i = $.$add$ns(i, 1)) {
+ callback = $.$index$asx(runCallbacks, i);
+ try {
+ callback.call$0();
+ } catch (exception) {
+ $.unwrapException(exception);
+ newCallbacks = $.get$Timer__runCallbacks();
+ $.Timer__runCallbacks = [];
+ i = $.$add$ns(i, 1);
+ $.addAll$1$ax($.get$Timer__runCallbacks(), $.sublist$1$ax(runCallbacks, i));
+ $.addAll$1$ax($.get$Timer__runCallbacks(), newCallbacks);
+ throw exception;
+ }
+
+ }
+ }
+};
+
+$$.HashMap = {"": "Object;_liblib0$_length,_strings,_nums,_rest,_keys",
+ get$length: function(_) {
+ return this._liblib0$_length;
+ },
+ get$isEmpty: function(_) {
+ return this._liblib0$_length === 0;
+ },
+ get$keys: function() {
+ return $.HashMapKeyIterable$(this);
+ },
+ get$values: function(_) {
+ var t1 = this.get$keys();
+ return t1.map$1(t1, new $.HashMap_values_anon(this));
+ },
+ 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 $.HashMap__findBucketIndex(rest[$.get$hashCode$(key) & 0x3ffffff], key) >= 0;
+ }
+ },
+ addAll$1: function(_, other) {
+ $.forEach$1$ax(other, new $.HashMap_addAll_anon(this));
+ },
+ $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[$.get$hashCode$(key) & 0x3ffffff];
+ index = $.HashMap__findBucketIndex(bucket, key);
+ return index < 0 ? null : bucket[index + 1];
+ }
+ },
+ $indexSet: function(_, key, value) {
+ var strings, table, nums, rest, hash, bucket, index;
+ if (typeof key === "string" && key !== "__proto__") {
+ strings = this._strings;
+ if (strings == null) {
+ table = Object.create(null);
+ if (table == null)
+ ;
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ this._strings = table;
+ strings = table;
+ }
+ if (strings[key] == null) {
+ this._liblib0$_length = this._liblib0$_length + 1;
+ this._keys = null;
+ }
+ if (value == null)
+ value = strings;
+ strings[key] = value;
+ } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
+ nums = this._nums;
+ if (nums == null) {
+ table = Object.create(null);
+ if (table == null)
+ ;
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ this._nums = table;
+ nums = table;
+ }
+ if (nums[key] == null) {
+ this._liblib0$_length = this._liblib0$_length + 1;
+ this._keys = null;
+ }
+ if (value == null)
+ value = nums;
+ nums[key] = value;
+ } else {
+ rest = this._rest;
+ if (rest == null) {
+ table = Object.create(null);
+ if (table == null)
+ ;
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ this._rest = table;
+ rest = table;
+ }
+ hash = $.get$hashCode$(key) & 0x3ffffff;
+ bucket = rest[hash];
+ if (bucket == null) {
+ value = [key, value];
+ if (value == null)
+ value = rest;
+ rest[hash] = value;
+ this._liblib0$_length = this._liblib0$_length + 1;
+ this._keys = null;
+ } else {
+ index = $.HashMap__findBucketIndex(bucket, key);
+ if (index >= 0)
+ bucket[index + 1] = value;
+ else {
+ bucket.push(key, value);
+ this._liblib0$_length = this._liblib0$_length + 1;
+ this._keys = null;
+ }
+ }
+ }
+ },
+ remove$1: function(_, key) {
+ var rest, bucket, index;
+ 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[$.get$hashCode$(key) & 0x3ffffff];
+ index = $.HashMap__findBucketIndex(bucket, key);
+ if (index < 0)
+ return;
+ this._liblib0$_length = this._liblib0$_length - 1;
+ this._keys = null;
+ return bucket.splice(index, 2)[1];
+ }
+ },
+ forEach$1: function(_, action) {
+ var keys, $length, i, key;
+ keys = this._computeKeys$0();
+ for ($length = $.get$length$asx(keys), i = 0; i < $length; ++i) {
+ key = keys[i];
+ action.call$2(key, this.$index(this, key));
+ if (keys !== this._keys)
+ throw $.wrapException($.ConcurrentModificationError$(this));
+ }
+ },
+ toString$0: function(_) {
+ var result = $.StringBuffer$("");
+ $.ToString__emitPair(this, result, $.List_List($));
+ return result.toString$0(result);
+ },
+ _computeKeys$0: function() {
+ var t1, result, strings, names, entries, index, i, nums, rest, bucket, $length, i0;
+ t1 = this._keys;
+ if (t1 != null)
+ return t1;
+ result = $.List_List(this._liblib0$_length);
+ 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._keys = result;
+ return result;
+ },
+ _removeHashTableEntry$2: function(table, key) {
+ var entry, value;
+ if (table != null && table[key] != null) {
+ entry = table[key];
+ value = entry === table ? null : entry;
+ delete table[key];
+ this._liblib0$_length = this._liblib0$_length - 1;
+ this._keys = null;
+ return value;
+ } else
+ return;
+ },
+ $isMap: true
+};
+
+$$._HashSetBase = {"": "IterableBase;",
+ toString$0: function(_) {
+ var result = $.StringBuffer$("");
+ $.ToString__emitValue(this, result, $.List_List($));
+ return result.toString$0(result);
+ },
+ $asIterable: function() {
+ return null;
+ },
+ $isIterable: function() {
+ return true;
+ }
+};
+
+$$.IterableBase = {"": "Object;",
+ map$1: function(_, f) {
+ return $.MappedIterable$(this, f);
+ },
+ forEach$1: function(_, f) {
+ var t1;
+ for (t1 = this.get$iterator(this); t1.moveNext$0() === true;)
+ f.call$1(t1.get$current());
+ },
+ join$1: function(_, separator) {
+ var iterator, buffer;
+ if (typeof separator !== "string")
+ return this.join$1$bailout(1, separator);
+ iterator = this.get$iterator(this);
+ if (iterator.moveNext$0() !== true)
+ return "";
+ buffer = $.StringBuffer$("");
+ if (separator === "")
+ do
+ buffer.write$1($.S(iterator.get$current()));
+ while (iterator.moveNext$0() === true);
+ else {
+ buffer.write$1($.S(iterator.get$current()));
+ for (; iterator.moveNext$0() === true;) {
+ buffer.write$1(separator);
+ buffer.write$1($.S(iterator.get$current()));
+ }
+ }
+ return buffer.toString$0(buffer);
+ },
+ join$1$bailout: function(state0, separator) {
+ var iterator, buffer;
+ iterator = this.get$iterator(this);
+ if (iterator.moveNext$0() !== true)
+ return "";
+ buffer = $.StringBuffer$("");
+ if (separator == null || $.$eq(separator, "") === true)
+ do
+ buffer.write$1($.S(iterator.get$current()));
+ while (iterator.moveNext$0() === true);
+ else {
+ buffer.write$1($.S(iterator.get$current()));
+ for (; iterator.moveNext$0() === true;) {
+ buffer.write$1(separator);
+ buffer.write$1($.S(iterator.get$current()));
+ }
+ }
+ return buffer.toString$0(buffer);
+ },
+ toList$1$growable: function(_, growable) {
+ return $.List_List$from(this, growable);
+ },
+ 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() === true;)
+ ++count;
+ return count;
+ },
+ get$isEmpty: function(_) {
+ return this.get$iterator(this).moveNext$0() !== true;
+ },
+ skip$1: function(_, n) {
+ return $.SkipIterable$(this, n);
+ },
+ elementAt$1: function(_, index) {
+ var t1, remaining, t2;
+ if (typeof index !== "number")
+ return this.elementAt$1$bailout(1, index);
+ if (typeof index !== "number" || Math.floor(index) !== index || index < 0)
+ throw $.wrapException($.RangeError$value(index));
+ for (t1 = this.get$iterator(this), remaining = index; t1.moveNext$0() === true;) {
+ t2 = t1.get$current();
+ if (remaining === 0)
+ return t2;
+ --remaining;
+ }
+ throw $.wrapException($.RangeError$value(index));
+ },
+ elementAt$1$bailout: function(state0, index) {
+ var t1, remaining, t2, t3;
+ if (typeof index !== "number" || Math.floor(index) !== index || index < 0)
+ throw $.wrapException($.RangeError$value(index));
+ for (t1 = this.get$iterator(this), remaining = index; t1.moveNext$0() === true;) {
+ t2 = t1.get$current();
+ t3 = $.getInterceptor(remaining);
+ if (t3.$eq(remaining, 0))
+ return t2;
+ remaining = t3.$sub(remaining, 1);
+ }
+ throw $.wrapException($.RangeError$value(index));
+ },
+ $isIterable: function() {
+ return true;
+ },
+ $asIterable: function() {
+ return null;
+ }
+};
+
+$$.LinkedHashMap = {"": "Object;_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications",
+ addAll$1: function(_, other) {
+ $.forEach$1$ax(other, new $.LinkedHashMap_addAll_anon(this));
+ },
+ $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$_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$_value();
+ } else {
+ rest = this._rest;
+ if (rest == null)
+ return;
+ bucket = rest[$.get$hashCode$(key) & 0x3ffffff];
+ index = $.LinkedHashMap__findBucketIndex(bucket, key);
+ if (index < 0)
+ return;
+ return bucket[index].get$_value();
+ }
+ },
+ $indexSet: function(_, key, value) {
+ var strings, table, nums, rest, hash, bucket, index;
+ if (typeof key === "string" && key !== "__proto__") {
+ strings = this._strings;
+ if (strings == null) {
+ table = Object.create(null);
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ this._strings = table;
+ strings = table;
+ }
+ this._addHashTableEntry$3(strings, key, value);
+ } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
+ nums = this._nums;
+ if (nums == null) {
+ table = Object.create(null);
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ this._nums = table;
+ nums = table;
+ }
+ this._addHashTableEntry$3(nums, key, value);
+ } else {
+ rest = this._rest;
+ if (rest == null) {
+ table = Object.create(null);
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ this._rest = table;
+ rest = table;
+ }
+ hash = $.get$hashCode$(key) & 0x3ffffff;
+ bucket = rest[hash];
+ if (bucket == null)
+ rest[hash] = [this._newLinkedCell$2(key, value)];
+ else {
+ index = $.LinkedHashMap__findBucketIndex(bucket, key);
+ if (index >= 0)
+ bucket[index].set$_value(value);
+ else
+ bucket.push(this._newLinkedCell$2(key, value));
+ }
+ }
+ },
+ forEach$1: function(_, action) {
+ var cell, modifications;
+ cell = this._first;
+ modifications = this._modifications;
+ for (; cell != null;) {
+ action.call$2(cell.get$_key(), cell.get$_value());
+ if (modifications !== this._modifications)
+ throw $.wrapException($.ConcurrentModificationError$(this));
+ cell = cell.get$_next();
+ }
+ },
+ get$keys: function() {
+ return $.LinkedHashMapKeyIterable$(this);
+ },
+ get$values: function(_) {
+ var t1 = this.get$keys();
+ return t1.map$1(t1, new $.LinkedHashMap_values_anon(this));
+ },
+ get$length: function(_) {
+ return this._liblib0$_length;
+ },
+ get$isEmpty: function(_) {
+ return this._liblib0$_length === 0;
+ },
+ toString$0: function(_) {
+ var result = $.StringBuffer$("");
+ $.ToString__emitPair(this, result, $.List_List($));
+ return result.toString$0(result);
+ },
+ _addHashTableEntry$3: function(table, key, value) {
+ var cell = table[key];
+ if (cell == null)
+ table[key] = this._newLinkedCell$2(key, value);
+ else
+ cell.set$_value(value);
+ },
+ _newLinkedCell$2: function(key, value) {
+ var cell, last;
+ cell = $.LinkedHashMapCell$(key, value);
+ 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;
+ },
+ $isMap: true
+};
+
+$$.LinkedHashSet = {"": "_HashSetBase;_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications",
+ get$iterator: function(_) {
+ return $.LinkedHashSetIterator$(this, this._modifications);
+ },
+ get$length: function(_) {
+ return this._liblib0$_length;
+ },
+ get$isEmpty: function(_) {
+ return this._liblib0$_length === 0;
+ },
+ contains$1: function(_, object) {
+ var strings, nums, rest;
+ if (object !== "__proto__") {
+ strings = this._strings;
+ if (strings == null)
+ return false;
+ return strings[object] != null;
+ } else if (false) {
+ nums = this._nums;
+ if (nums == null)
+ return false;
+ return nums[object] != null;
+ } else {
+ rest = this._rest;
+ if (rest == null)
+ return false;
+ return $.LinkedHashSet__findBucketIndex(rest[$.JSString_methods.get$hashCode(object) & 0x3ffffff], object) >= 0;
+ }
+ },
+ forEach$1: function(_, action) {
+ var cell, modifications;
+ cell = this._first;
+ modifications = this._modifications;
+ for (; cell != null;) {
+ action.call$1(cell.get$_element());
+ if (modifications !== this._modifications)
+ throw $.wrapException($.ConcurrentModificationError$(this));
+ cell = cell.get$_next();
+ }
+ },
+ add$1: function(_, element) {
+ var strings, table, nums, rest, hash, bucket;
+ if (typeof element === "string" && element !== "__proto__") {
+ strings = this._strings;
+ if (strings == null) {
+ table = Object.create(null);
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ this._strings = table;
+ strings = table;
+ }
+ this._addHashTableEntry$2(strings, element);
+ } else if (typeof element === "number" && (element & 0x3ffffff) === element) {
+ nums = this._nums;
+ if (nums == null) {
+ table = Object.create(null);
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ this._nums = table;
+ nums = table;
+ }
+ this._addHashTableEntry$2(nums, element);
+ } else {
+ rest = this._rest;
+ if (rest == null) {
+ table = Object.create(null);
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ this._rest = table;
+ rest = table;
+ }
+ hash = $.get$hashCode$(element) & 0x3ffffff;
+ bucket = rest[hash];
+ if (bucket == null)
+ rest[hash] = [this._newLinkedCell$1(element)];
+ else {
+ if ($.LinkedHashSet__findBucketIndex(bucket, element) >= 0)
+ return;
+ bucket.push(this._newLinkedCell$1(element));
+ }
+ }
+ },
+ addAll$1: function(_, objects) {
+ var t1;
+ for (t1 = $.get$iterator$ax(objects); t1.moveNext$0() === true;)
+ this.add$1(this, t1.get$current());
+ },
+ remove$1: function(_, object) {
+ var rest, bucket, index;
+ if (object !== "__proto__")
+ return this._removeHashTableEntry$2(this._strings, object);
+ else if (false)
+ return this._removeHashTableEntry$2(this._nums, object);
+ else {
+ rest = this._rest;
+ if (rest == null)
+ return false;
+ bucket = rest[$.JSString_methods.get$hashCode(object) & 0x3ffffff];
+ index = $.LinkedHashSet__findBucketIndex(bucket, object);
+ if (index < 0)
+ return false;
+ this._unlinkCell$1(bucket.splice(index, 1)[0]);
+ return true;
+ }
+ },
+ _addHashTableEntry$2: function(table, element) {
+ if (table[element] != null)
+ return;
+ table[element] = this._newLinkedCell$1(element);
+ },
+ _removeHashTableEntry$2: function(table, element) {
+ var cell;
+ if (table == null)
+ return false;
+ cell = table[element];
+ if (cell == null)
+ return false;
+ this._unlinkCell$1(cell);
+ delete table[element];
+ return true;
+ },
+ _newLinkedCell$1: function(element) {
+ var cell, last;
+ cell = $.LinkedHashSetCell$(element);
+ if (this._first == null) {
+ this._last = cell;
+ this._first = cell;
+ } else {
+ last = this._last;
+ cell._previous = last;
+ last.set$_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.set$_next(next);
+ if (next == null)
+ this._last = previous;
+ else
+ next.set$_previous(previous);
+ this._liblib0$_length = this._liblib0$_length - 1;
+ this._modifications = this._modifications + 1 & 67108863;
+ },
+ $asIterable: function() {
+ return null;
+ }
+};
+
+$$.ListBase = {"": "Object;",
+ get$iterator: function(_) {
+ return $.ListIterator$(this);
+ },
+ elementAt$1: function(_, index) {
+ return this.$index(this, index);
+ },
+ forEach$1: function(_, action) {
+ var $length, i;
+ $length = this.get$length(this);
+ if (typeof $length !== "number")
+ return this.forEach$1$bailout(1, action, $length);
+ for (i = 0; i < $length; ++i) {
+ action.call$1(this.$index(this, i));
+ if ($length !== this.get$length(this))
+ throw $.wrapException($.ConcurrentModificationError$(this));
+ }
+ },
+ forEach$1$bailout: function(state0, action, $length) {
+ var t1, i;
+ for (t1 = $.getInterceptor($length), i = 0; $.JSNumber_methods.$lt(i, $length); ++i) {
+ action.call$1(this.$index(this, i));
+ if (t1.$eq($length, this.get$length(this)) !== true)
+ throw $.wrapException($.ConcurrentModificationError$(this));
+ }
+ },
+ get$isEmpty: function(_) {
+ return $.$eq(this.get$length(this), 0);
+ },
+ where$1: function(_, test) {
+ return $.WhereIterable$(this, test);
+ },
+ skip$1: function(_, count) {
+ return $.SubListIterable$(this, count, null);
+ },
+ toList$1$growable: function(_, growable) {
+ var result, i, t1;
+ if (growable === true) {
+ result = $.List_List($);
+ $.JSArray_methods.set$length(result, this.get$length(this));
+ } else
+ result = $.List_List(this.get$length(this));
+ for (i = 0; $.JSNumber_methods.$lt(i, this.get$length(this)); ++i) {
+ t1 = this.$index(this, i);
+ if (i >= result.length)
+ throw $.ioore(i);
+ result[i] = t1;
+ }
+ return result;
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ add$1: function(_, element) {
+ var t1 = this.get$length(this);
+ if (typeof t1 !== "number")
+ return this.add$1$bailout(1, element, t1);
+ this.set$length(this, t1 + 1);
+ this.$indexSet(this, t1, element);
+ },
+ add$1$bailout: function(state0, element, t1) {
+ this.set$length(this, $.$add$ns(t1, 1));
+ this.$indexSet(this, t1, element);
+ },
+ addAll$1: function(_, iterable) {
+ var t1, t2, t3;
+ for (t1 = $.get$iterator$ax(iterable); t1.moveNext$0() === true;) {
+ t2 = t1.get$current();
+ t3 = this.get$length(this);
+ this.set$length(this, $.$add$ns(t3, 1));
+ this.$indexSet(this, t3, t2);
+ }
+ },
+ clear$0: function(_) {
+ this.set$length(this, 0);
+ },
+ removeLast$0: function(_) {
+ var result;
+ if ($.$eq(this.get$length(this), 0) === true)
+ throw $.wrapException($.StateError$("No elements"));
+ result = this.$index(this, $.$sub$n(this.get$length(this), 1));
+ this.set$length(this, $.$sub$n(this.get$length(this), 1));
+ return result;
+ },
+ sublist$2: function(_, start, end) {
+ var t1, $length, result, i;
+ if (typeof start !== "number")
+ return this.sublist$2$bailout(1, start, end);
+ if (end == null)
+ end = this.get$length(this);
+ if (start < 0 || $.JSNumber_methods.$gt(start, this.get$length(this)))
+ $.throwExpression($.RangeError$range(start, 0, this.get$length(this)));
+ t1 = $.getInterceptor$n(end);
+ if (t1.$lt(end, start) || t1.$gt(end, this.get$length(this)))
+ $.throwExpression($.RangeError$range(end, start, this.get$length(this)));
+ $length = t1.$sub(end, start);
+ if (typeof $length !== "number")
+ return this.sublist$2$bailout(2, start, 0, $.JSNumber_methods, $length);
+ result = $.List_List($);
+ $.JSArray_methods.set$length(result, $length);
+ for (i = 0; i < $length; ++i) {
+ t1 = this.$index(this, start + i);
+ if (i >= result.length)
+ throw $.ioore(i);
+ result[i] = t1;
+ }
+ return result;
+ },
+ sublist$2$bailout: function(state0, start, end, t1, $length) {
+ switch (state0) {
+ case 0:
+ case 1:
+ state0 = 0;
+ if (end == null)
+ end = this.get$length(this);
+ t1 = $.getInterceptor$n(start);
+ if (t1.$lt(start, 0) || t1.$gt(start, this.get$length(this)))
+ $.throwExpression($.RangeError$range(start, 0, this.get$length(this)));
+ t2 = $.getInterceptor$n(end);
+ if (t2.$lt(end, start) || t2.$gt(end, this.get$length(this)))
+ $.throwExpression($.RangeError$range(end, start, this.get$length(this)));
+ $length = t2.$sub(end, start);
+ case 2:
+ var t2, result, i;
+ state0 = 0;
+ result = $.List_List($);
+ $.JSArray_methods.set$length(result, $length);
+ for (i = 0; $.JSNumber_methods.$lt(i, $length); ++i) {
+ t2 = this.$index(this, t1.$add(start, i));
+ if (i >= result.length)
+ throw $.ioore(i);
+ result[i] = t2;
+ }
+ return result;
+ }
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ toString$0: function(_) {
+ var result = $.StringBuffer$("");
+ $.ToString__emitValue(this, result, $.List_List($));
+ return result.toString$0(result);
+ },
+ $isList: function() {
+ return true;
+ },
+ $asList: function() {
+ return null;
+ },
+ $isIterable: function() {
+ return true;
+ },
+ $asIterable: function() {
+ return null;
+ }
+};
+
+$$.ListQueue = {"": "IterableBase;_table,_head,_tail,_modificationCount",
+ get$iterator: function(_) {
+ return $._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 $.ioore(i);
+ action.call$1(t1[i]);
+ if (modificationCount !== this._modificationCount)
+ $.throwExpression($.ConcurrentModificationError$(this));
+ }
+ },
+ get$isEmpty: function(_) {
+ return this._head === this._tail;
+ },
+ get$length: function(_) {
+ return $.$and$n($.$sub$n(this._tail, this._head), this._table.length - 1);
+ },
+ elementAt$1: function(_, index) {
+ var t1, t2, t3;
+ t1 = $.getInterceptor$n(index);
+ if (t1.$lt(index, 0) || t1.$gt(index, this.get$length(this)))
+ throw $.wrapException($.RangeError$range(index, 0, this.get$length(this)));
+ t1 = this._table;
+ t2 = this._head;
+ if (typeof index !== "number")
+ throw $.iae(index);
+ t3 = t1.length;
+ t2 = (t2 + index & t3 - 1) >>> 0;
+ if (t2 < 0 || t2 >= t3)
+ throw $.ioore(t2);
+ return t1[t2];
+ },
+ toList$1$growable: function(_, growable) {
+ var list;
+ if (growable === true) {
+ list = $.List_List($);
+ $.JSArray_methods.set$length(list, this.get$length(this));
+ } else
+ list = $.List_List(this.get$length(this));
+ this._writeToList$1(list);
+ return list;
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ add$1: function(_, element) {
+ this._add$1(element);
+ },
+ addAll$1: function(_, elements) {
+ var addCount, $length, t1, t2, t3, endSpace, preSpace;
+ if (typeof elements === "object" && elements !== null && (elements.constructor === Array || $.getInterceptor(elements).$isList())) {
+ addCount = $.get$length$asx(elements);
+ $length = this.get$length(this);
+ if (typeof addCount !== "number")
+ throw $.iae(addCount);
+ t1 = $length + addCount;
+ t2 = this._table;
+ t3 = t2.length;
+ if (t1 >= t3) {
+ this._preGrow$1(t1);
+ $.JSArray_methods.setRange$4(this._table, $length, t1, elements, 0);
+ this._tail = $.$add$ns(this._tail, addCount);
+ } else {
+ t1 = this._tail;
+ if (typeof t1 !== "number")
+ throw $.iae(t1);
+ endSpace = t3 - t1;
+ if (addCount < endSpace) {
+ $.JSArray_methods.setRange$4(t2, t1, t1 + addCount, elements, 0);
+ this._tail = $.$add$ns(this._tail, addCount);
+ } else {
+ preSpace = addCount - endSpace;
+ $.JSArray_methods.setRange$4(t2, t1, t1 + endSpace, elements, 0);
+ $.JSArray_methods.setRange$4(this._table, 0, preSpace, elements, endSpace);
+ this._tail = preSpace;
+ }
+ }
+ this._modificationCount = this._modificationCount + 1;
+ } else
+ for (t1 = $.get$iterator$ax(elements); t1.moveNext$0() === true;)
+ this._add$1(t1.get$current());
+ },
+ toString$0: function(_) {
+ var result = $.StringBuffer$("");
+ $.ToString__emitValue(this, result, $.List_List($));
+ return result.toString$0(result);
+ },
+ addLast$1: function(element) {
+ this._add$1(element);
+ },
+ removeFirst$0: function() {
+ var t1, t2, t3, result;
+ if (this._head === this._tail)
+ throw $.wrapException($.StateError$("No elements"));
+ this._modificationCount = this._modificationCount + 1;
+ t1 = this._table;
+ t2 = this._head;
+ t3 = t1.length;
+ if (t2 < 0 || t2 >= t3)
+ throw $.ioore(t2);
+ result = t1[t2];
+ this._head = (t2 + 1 & t3 - 1) >>> 0;
+ return result;
+ },
+ removeLast$0: function(_) {
+ var t1, t2;
+ if (this._head === this._tail)
+ throw $.wrapException($.StateError$("No elements"));
+ this._modificationCount = this._modificationCount + 1;
+ this._tail = $.$and$n($.$sub$n(this._tail, 1), this._table.length - 1);
+ t1 = this._table;
+ t2 = this._tail;
+ if (t2 !== (t2 | 0))
+ throw $.iae(t2);
+ if (t2 < 0 || t2 >= t1.length)
+ throw $.ioore(t2);
+ return t1[t2];
+ },
+ _checkModification$1: function(expectedModificationCount) {
+ if (typeof expectedModificationCount !== "number")
+ return this._checkModification$1$bailout(1, expectedModificationCount);
+ if (expectedModificationCount !== this._modificationCount)
+ throw $.wrapException($.ConcurrentModificationError$(this));
+ },
+ _checkModification$1$bailout: function(state0, expectedModificationCount) {
+ if ($.$eq(expectedModificationCount, this._modificationCount) !== true)
+ throw $.wrapException($.ConcurrentModificationError$(this));
+ },
+ _add$1: function(element) {
+ var t1, t2;
+ t1 = this._table;
+ t2 = this._tail;
+ if (t2 !== (t2 | 0))
+ throw $.iae(t2);
+ if (t2 < 0 || t2 >= t1.length)
+ throw $.ioore(t2);
+ t1[t2] = element;
+ this._tail = $.$and$n(t2 + 1, this._table.length - 1);
+ if (this._head === this._tail)
+ this._grow$0();
+ this._modificationCount = this._modificationCount + 1;
+ },
+ _grow$0: function() {
+ var newTable, t1, t2, split;
+ newTable = $.List_List(this._table.length * 2);
+ t1 = this._table;
+ t2 = this._head;
+ split = t1.length - t2;
+ $.JSArray_methods.setRange$4(newTable, 0, split, t1, t2);
+ $.JSArray_methods.setRange$4(newTable, split, split + this._head, this._table, 0);
+ this._head = 0;
+ this._tail = this._table.length;
+ this._table = newTable;
+ },
+ _writeToList$1: function(target) {
+ var t1, t2, $length, firstPartSize;
+ t1 = $.JSInt_methods.$le(this._head, this._tail);
+ t2 = this._head;
+ if (t1) {
+ $length = $.$sub$n(this._tail, t2);
+ $.JSArray_methods.setRange$4(target, 0, $length, this._table, this._head);
+ return $length;
+ } else {
+ t1 = this._table;
+ firstPartSize = t1.length - t2;
+ $.JSArray_methods.setRange$4(target, 0, firstPartSize, t1, t2);
+ t2 = this._tail;
+ if (typeof t2 !== "number")
+ throw $.iae(t2);
+ $.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + t2, this._table, 0);
+ return $.$add$ns(this._tail, firstPartSize);
+ }
+ },
+ _preGrow$1: function(newElementCount) {
+ var newTable = $.List_List($.ListQueue__nextPowerOf2(newElementCount));
+ this._tail = this._writeToList$1(newTable);
+ this._table = newTable;
+ this._head = 0;
+ },
+ ListQueue$1: function(initialCapacity) {
+ if (initialCapacity == null || $.JSNull_methods.$lt(initialCapacity, 8))
+ initialCapacity = 8;
+ else if (!$.ListQueue__isPowerOf2(initialCapacity))
+ initialCapacity = $.ListQueue__nextPowerOf2(initialCapacity);
+ this._table = $.List_List(initialCapacity);
+ },
+ $asIterable: function() {
+ return null;
+ },
+ $isIterable: function() {
+ return true;
+ }
+};
+
+$$._ListQueueIterator = {"": "Object;_queue,_end,_modificationCount,_liblib0$_position,_liblib0$_current",
+ get$current: function() {
+ return this._liblib0$_current;
+ },
+ moveNext$0: function() {
+ var t1, t2, t3;
+ t1 = this._queue;
+ t1._checkModification$1(this._modificationCount);
+ t2 = this._liblib0$_position;
+ if (t2 === this._end) {
+ this._liblib0$_current = null;
+ return false;
+ }
+ t3 = t1._table;
+ if (t2 < 0 || t2 >= t3.length)
+ throw $.ioore(t2);
+ this._liblib0$_current = t3[t2];
+ this._liblib0$_position = (this._liblib0$_position + 1 & t1._table.length - 1) >>> 0;
+ return true;
+ }
+};
+
+$$.Duration = {"": "Object;_duration<",
+ $add: function(_, other) {
+ return $.Duration$(0, 0, this._duration + other.get$_duration(), 0, 0, 0);
+ },
+ $sub: function(_, other) {
+ return $.Duration$(0, 0, this._duration - other.get$_duration(), 0, 0, 0);
+ },
+ $mul: function(_, factor) {
+ return $.Duration$(0, 0, this._duration * factor, 0, 0, 0);
+ },
+ $tdiv: function(_, quotient) {
+ if (quotient === 0)
+ throw $.wrapException($.IntegerDivisionByZeroException$());
+ return $.Duration$(0, 0, $.JSNumber_methods.$tdiv(this._duration, quotient), 0, 0, 0);
+ },
+ $lt: function(_, other) {
+ return this._duration < other.get$_duration();
+ },
+ $gt: function(_, other) {
+ return this._duration > other.get$_duration();
+ },
+ $ge: function(_, other) {
+ return this._duration >= other.get$_duration();
+ },
+ get$inHours: function() {
+ return $.JSNumber_methods.$tdiv(this._duration, 3600000000);
+ },
+ get$inMinutes: function() {
+ return $.JSNumber_methods.$tdiv(this._duration, 60000000);
+ },
+ get$inSeconds: function() {
+ return $.JSNumber_methods.$tdiv(this._duration, 1000000);
+ },
+ get$inMilliseconds: function() {
+ return $.JSNumber_methods.$tdiv(this._duration, 1000);
+ },
+ get$inMicroseconds: function() {
+ return this._duration;
+ },
+ $eq: function(_, other) {
+ if (other == null)
+ return false;
+ if (typeof other !== "object" || other === null || !$.getInterceptor(other).$isDuration)
+ return false;
+ return this._duration === other._duration;
+ },
+ get$hashCode: function(_) {
+ return $.JSNumber_methods.get$hashCode(this._duration);
+ },
+ toString$0: function(_) {
+ var t1, t2, twoDigitMinutes, twoDigitSeconds, sixDigitUs;
+ t1 = new $.Duration_toString_sixDigits();
+ t2 = new $.Duration_toString_twoDigits();
+ if (this.get$inMicroseconds() < 0)
+ return "-" + $.S($.Duration$(0, 0, -this.get$inMicroseconds(), 0, 0, 0));
+ twoDigitMinutes = t2.call$1($.JSNumber_methods.remainder$1(this.get$inMinutes(), 60));
+ twoDigitSeconds = t2.call$1($.JSNumber_methods.remainder$1(this.get$inSeconds(), 60));
+ sixDigitUs = t1.call$1($.JSNumber_methods.remainder$1(this.get$inMicroseconds(), 1000000));
+ return $.S(this.get$inHours()) + ":" + $.S(twoDigitMinutes) + ":" + $.S(twoDigitSeconds) + "." + $.S(sixDigitUs);
+ },
+ $isDuration: true
+};
+
+$$.Duration_toString_sixDigits = {"": "Closure;",
+ call$1: function(n) {
+ var t1 = $.getInterceptor$n(n);
+ if (t1.$ge(n, 100000))
+ return $.S(n);
+ if (t1.$ge(n, 10000))
+ return "0" + $.S(n);
+ if (t1.$ge(n, 1000))
+ return "00" + $.S(n);
+ if (t1.$ge(n, 100))
+ return "000" + $.S(n);
+ if (t1.$gt(n, 10))
+ return "0000" + $.S(n);
+ return "00000" + $.S(n);
+ }
+};
+
+$$.Duration_toString_twoDigits = {"": "Closure;",
+ call$1: function(n) {
+ if ($.$ge$n(n, 10))
+ return $.S(n);
+ return "0" + $.S(n);
+ }
+};
+
+$$.NullThrownError = {"": "Object;",
+ toString$0: function(_) {
+ return "Throw of null.";
+ }
+};
+
+$$.ArgumentError = {"": "Object;message",
+ toString$0: function(_) {
+ var t1 = this.message;
+ if (t1 != null)
+ return "Illegal argument(s): " + $.S(t1);
+ return "Illegal argument(s)";
+ }
+};
+
+$$.RangeError = {"": "ArgumentError;message",
+ toString$0: function(_) {
+ return "RangeError: " + $.S(this.message);
+ }
+};
+
+$$.NoSuchMethodError = {"": "Object;_receiver,_memberName,_arguments,_namedArguments,_existingArgumentNames",
+ toString$0: function(_) {
+ var t1, t2, t3, t4, actualParameters, i, formalParameters;
+ t1 = {};
+ t1.sb_0 = $.StringBuffer$("");
+ t1.i_1 = 0;
+ t2 = this._arguments;
+ for (; $.$lt$n(t1.i_1, t2.length); t1.i_1 = $.$add$ns(t1.i_1, 1)) {
+ if ($.$gt$n(t1.i_1, 0))
+ t1.sb_0.write$1(", ");
+ t3 = t1.sb_0;
+ t4 = t1.i_1;
+ if (t4 !== (t4 | 0))
+ throw $.iae(t4);
+ if (t4 < 0 || t4 >= t2.length)
+ throw $.ioore(t4);
+ t3.write$1($.Error_safeToString(t2[t4]));
+ }
+ t2 = this._namedArguments;
+ t2.forEach$1(t2, new $.NoSuchMethodError_toString_anon(t1));
+ t2 = this._existingArgumentNames;
+ if (t2 == null)
+ return "NoSuchMethodError : method not found: '" + $.S(this._memberName) + "'\nReceiver: " + $.S($.Error_safeToString(this._receiver)) + "\nArguments: [" + $.S(t1.sb_0) + "]";
+ else {
+ t3 = t1.sb_0;
+ actualParameters = t3.toString$0(t3);
+ t1.sb_0 = $.StringBuffer$("");
+ for (i = 0; $.JSNumber_methods.$lt(i, $.JSNull_methods.get$length(t2)); ++i) {
+ if (i > 0)
+ t1.sb_0.write$1(", ");
+ t1.sb_0.write$1($.JSNull_methods.$index(t2, i));
+ }
+ t1 = t1.sb_0;
+ formalParameters = t1.toString$0(t1);
+ t1 = this._memberName;
+ return "NoSuchMethodError: incorrect number of arguments passed to method named '" + $.S(t1) + "'\nReceiver: " + $.S($.Error_safeToString(this._receiver)) + "\nTried calling: " + $.S(t1) + "(" + actualParameters + ")\nFound: " + $.S(t1) + "(" + formalParameters + ")";
+ }
+ }
+};
+
+$$.UnsupportedError = {"": "Object;message",
+ toString$0: function(_) {
+ return "Unsupported operation: " + this.message;
+ }
+};
+
+$$.UnimplementedError = {"": "Object;message",
+ toString$0: function(_) {
+ var t1 = this.message;
+ return t1 != null ? "UnimplementedError: " + $.S(t1) : "UnimplementedError";
+ }
+};
+
+$$.StateError = {"": "Object;message",
+ toString$0: function(_) {
+ return "Bad state: " + this.message;
+ }
+};
+
+$$.ConcurrentModificationError = {"": "Object;modifiedObject",
+ toString$0: function(_) {
+ var t1 = this.modifiedObject;
+ if (t1 == null)
+ return "Concurrent modification during iteration.";
+ return "Concurrent modification during iteration: " + $.S($.Error_safeToString(t1)) + ".";
+ }
+};
+
+$$.StackOverflowError = {"": "Object;",
+ toString$0: function(_) {
+ return "Stack Overflow";
+ }
+};
+
+$$.RuntimeError = {"": "Object;message",
+ toString$0: function(_) {
+ return "RuntimeError: " + this.message;
+ }
+};
+
+$$._ExceptionImplementation = {"": "Object;message",
+ toString$0: function(_) {
+ var t1 = this.message;
+ if (t1 == null)
+ return "Exception";
+ return "Exception: " + $.S(t1);
+ },
+ $isException: true
+};
+
+$$.FormatException = {"": "Object;message",
+ toString$0: function(_) {
+ return "FormatException: " + this.message;
+ },
+ $isException: true
+};
+
+$$.IntegerDivisionByZeroException = {"": "Object;",
+ toString$0: function(_) {
+ return "IntegerDivisionByZeroException";
+ },
+ $isException: true
+};
+
+$$.Expando = {"": "Object;name>",
+ toString$0: function(_) {
+ return "Expando:" + this.name;
+ },
+ $index: function(_, object) {
+ var values = $.Primitives_getProperty(object, "expando$values");
+ return values == null ? null : $.Primitives_getProperty(values, this._getKey$0());
+ },
+ $indexSet: function(_, object, value) {
+ var values = $.Primitives_getProperty(object, "expando$values");
+ if (values == null) {
+ values = $.Object$();
+ $.Primitives_setProperty(object, "expando$values", values);
+ }
+ $.Primitives_setProperty(values, this._getKey$0(), value);
+ },
+ _getKey$0: function() {
+ var key, t1;
+ key = $.Primitives_getProperty(this, "expando$key");
+ if (key == null) {
+ t1 = $.Expando__keyCount;
+ $.Expando__keyCount = $.$add$ns(t1, 1);
+ key = "expando$key$" + $.S(t1);
+ $.Primitives_setProperty(this, "expando$key", key);
+ }
+ return key;
+ }
+};
+
+$$.Iterator = {"": "Object;"};
+
+$$.Object = {"": ";",
+ $eq: function(_, other) {
+ return this === other;
+ },
+ get$hashCode: function(_) {
+ return $.Primitives_objectHashCode(this);
+ },
+ toString$0: function(_) {
+ return "Instance of '" + $.S($.Primitives_objectTypeName(this)) + "'";
+ }
+};
+
+$$.StringBuffer = {"": "Object;_contents",
+ get$length: function(_) {
+ return this._contents.length;
+ },
+ get$isEmpty: function(_) {
+ return this.get$length(this) === 0;
+ },
+ 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 : $.S(obj);
+ this._contents = this._contents + str;
+ },
+ writeAll$2: function(objects, separator) {
+ var iterator, str;
+ if (typeof separator !== "string")
+ return this.writeAll$2$bailout(1, objects, separator);
+ iterator = $.get$iterator$ax(objects);
+ if (iterator.moveNext$0() !== true)
+ return;
+ if ($.JSString_methods.get$isEmpty(separator))
+ do {
+ str = iterator.get$current();
+ str = typeof str === "string" ? str : $.S(str);
+ this._contents = this._contents + str;
+ } while (iterator.moveNext$0() === true);
+ else {
+ str = iterator.get$current();
+ str = typeof str === "string" ? str : $.S(str);
+ this._contents = this._contents + str;
+ for (; iterator.moveNext$0() === true;) {
+ this._contents = this._contents + separator;
+ str = iterator.get$current();
+ str = typeof str === "string" ? str : $.S(str);
+ this._contents = this._contents + str;
+ }
+ }
+ },
+ writeAll$2$bailout: function(state0, objects, separator) {
+ var iterator, str, t1;
+ iterator = $.get$iterator$ax(objects);
+ if (iterator.moveNext$0() !== true)
+ return;
+ if ($.get$isEmpty$asx(separator) === true)
+ do {
+ str = iterator.get$current();
+ str = typeof str === "string" ? str : $.S(str);
+ this._contents = this._contents + str;
+ } while (iterator.moveNext$0() === true);
+ else {
+ str = iterator.get$current();
+ str = typeof str === "string" ? str : $.S(str);
+ this._contents = this._contents + str;
+ for (t1 = typeof separator === "string"; iterator.moveNext$0() === true;) {
+ str = t1 ? separator : $.S(separator);
+ this._contents = this._contents + str;
+ str = iterator.get$current();
+ str = typeof str === "string" ? str : $.S(str);
+ this._contents = this._contents + str;
+ }
+ }
+ },
+ toString$0: function(_) {
+ return this._contents;
+ },
+ StringBuffer$1: function($content) {
+ this._contents = $content;
+ }
+};
+
+$$._ChildrenElementList = {"": "ListBase;_liblib1$_element,_childElements",
+ toList$1$growable: function(_, growable) {
+ var t1, output, len, t2, i, t3;
+ t1 = this._childElements;
+ if (growable === true) {
+ output = [];
+ $.JSArray_methods.set$length(output, $.get$length$asx(t1));
+ } else
+ output = $.List_List($.get$length$asx(t1));
+ for (t1 = this._childElements, len = $.get$length$asx(t1), t2 = $.getInterceptor$asx(t1), i = 0; i < len; ++i) {
+ t3 = t2.$index(t1, i);
+ if (i >= output.length)
+ throw $.ioore(i);
+ output[i] = t3;
+ }
+ return output;
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ forEach$1: function(_, f) {
+ var t1;
+ for (t1 = $.get$iterator$ax(this._childElements); t1.moveNext$0();)
+ f.call$1(t1.get$current());
+ },
+ get$isEmpty: function(_) {
+ return this._liblib1$_element.firstElementChild == null;
+ },
+ skip$1: function(_, n) {
+ return $.skip$1$ax(this._childElements, n);
+ },
+ elementAt$1: function(_, index) {
+ return $.$index$asx(this._childElements, index);
+ },
+ get$length: function(_) {
+ return $.get$length$asx(this._childElements);
+ },
+ $index: function(_, index) {
+ return $.$index$asx(this._childElements, index);
+ },
+ $indexSet: function(_, index, value) {
+ this._liblib1$_element.replaceChild(value, $.$index$asx(this._childElements, index));
+ },
+ set$length: function(_, newLength) {
+ throw $.wrapException($.UnsupportedError$(""));
+ },
+ add$1: function(_, value) {
+ this._liblib1$_element.appendChild(value);
+ return value;
+ },
+ get$iterator: function(_) {
+ return $.JSArray_methods.get$iterator(this.toList$0(this));
+ },
+ addAll$1: function(_, iterable) {
+ var t1, t2;
+ if (typeof iterable === "object" && iterable !== null && !!$.getInterceptor(iterable).$is_ChildNodeListLazy)
+ iterable = $.List_List$from(iterable, true);
+ for (t1 = $.get$iterator$ax(iterable), t2 = this._liblib1$_element; t1.moveNext$0() === true;)
+ t2.appendChild(t1.get$current());
+ },
+ sublist$2: function(_, start, end) {
+ if (end == null)
+ end = this.get$length(this);
+ return $._FrozenElementList$_wrap($.Lists_getRange(this, start, end, []));
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ clear$0: function(_) {
+ this._liblib1$_element.textContent = "";
+ },
+ removeLast$0: function(_) {
+ var result = this.get$last(this);
+ if (result != null)
+ this._liblib1$_element.removeChild(result);
+ return result;
+ },
+ get$last: function(_) {
+ var result = this._liblib1$_element.lastElementChild;
+ if (result == null)
+ throw $.wrapException($.StateError$("No elements"));
+ return result;
+ },
+ toString$0: function(_) {
+ var buffer = $.StringBuffer$("[");
+ buffer.writeAll$2(this, ", ");
+ buffer.write$1("]");
+ return buffer.toString$0(buffer);
+ },
+ $asList: function() {
+ return function () { return [$.Element]; };
+ },
+ $asIterable: function() {
+ return function () { return [$.Element]; };
+ }
+};
+
+$$._FrozenElementList = {"": "ListBase;_nodeList",
+ get$length: function(_) {
+ return $.get$length$asx(this._nodeList);
+ },
+ $index: function(_, index) {
+ var t1 = this._nodeList;
+ if (typeof t1 !== "string" && (typeof t1 !== "object" || t1 === null || t1.constructor !== Array && !$.getInterceptor(t1).$isJavaScriptIndexingBehavior()))
+ return this.$$index$bailout(1, index, t1);
+ if (index !== (index | 0))
+ throw $.iae(index);
+ if (index < 0 || index >= t1.length)
+ throw $.ioore(index);
+ return t1[index];
+ },
+ $$index$bailout: function(state0, index, t1) {
+ return $.$index$asx(t1, index);
+ },
+ $indexSet: function(_, index, value) {
+ throw $.wrapException($.UnsupportedError$(""));
+ },
+ set$length: function(_, newLength) {
+ $.set$length$asx(this._nodeList, newLength);
+ },
+ add$1: function(_, value) {
+ throw $.wrapException($.UnsupportedError$(""));
+ },
+ addAll$1: function(_, iterable) {
+ throw $.wrapException($.UnsupportedError$(""));
+ },
+ sublist$2: function(_, start, end) {
+ return $._FrozenElementList$_wrap($.sublist$2$ax(this._nodeList, start, end));
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ clear$0: function(_) {
+ throw $.wrapException($.UnsupportedError$(""));
+ },
+ removeLast$0: function(_) {
+ throw $.wrapException($.UnsupportedError$(""));
+ },
+ toString$0: function(_) {
+ var buffer = $.StringBuffer$("[");
+ buffer.writeAll$2(this, ", ");
+ buffer.write$1("]");
+ return buffer.toString$0(buffer);
+ },
+ $asList: function() {
+ return function () { return [null]; };
+ },
+ $asIterable: function() {
+ return function () { return [null]; };
+ }
+};
+
+$$._ElementCssClassSet = {"": "CssClassSet;_liblib1$_element",
+ readClasses$0: function() {
+ var s, t1, trimmed;
+ s = $.LinkedHashSet$();
+ for (t1 = $.JSArray_methods.get$iterator($.split$1$s(this._liblib1$_element.className, " ")); t1.moveNext$0();) {
+ trimmed = $.trim$0$s(t1.get$current());
+ if (!$.JSString_methods.get$isEmpty(trimmed))
+ s.add$1(s, trimmed);
+ }
+ return s;
+ },
+ writeClasses$1: function(s) {
+ $.List_List$from(s, true);
+ this._liblib1$_element.className = s.join$1(s, " ");
+ }
+};
+
+$$.HttpRequest_getString_anon = {"": "Closure;",
+ call$1: function(xhr) {
+ return $.get$responseText$x(xhr);
+ }
+};
+
+$$.HttpRequest_request_anon = {"": "Closure;completer_0,xhr_1",
+ call$1: function(e) {
+ var t1, t2, t3;
+ t1 = this.xhr_1;
+ if (!($.$ge$n(t1.status, 200) && $.$lt$n(t1.status, 300))) {
+ t2 = t1.status;
+ t2 = t2 === 0 || t2 === 304;
+ } else
+ t2 = true;
+ t3 = this.completer_0;
+ if (t2)
+ t3.complete$1(t3, t1);
+ else
+ t3.completeError$1(e);
+ }
+};
+
+$$.HttpRequest_request_anon0 = {"": "Closure;completer_2",
+ call$1: function(e) {
+ this.completer_2.completeError$1(e);
+ }
+};
+
+$$._ChildNodeListLazy = {"": "ListBase;_this",
+ get$last: function(_) {
+ var result = this._this.lastChild;
+ if (result == null)
+ throw $.wrapException($.StateError$("No elements"));
+ return result;
+ },
+ add$1: function(_, value) {
+ this._this.appendChild(value);
+ },
+ addAll$1: function(_, iterable) {
+ var t1, len, i, t2;
+ if (typeof iterable === "object" && iterable !== null && !!$.getInterceptor(iterable).$is_ChildNodeListLazy) {
+ t1 = this._this;
+ if (iterable._this !== t1) {
+ len = iterable.get$length(iterable);
+ if (typeof len !== "number")
+ return this.addAll$1$bailout1(1, iterable, len, t1);
+ i = 0;
+ for (; i < len; ++i)
+ t1.appendChild(iterable.$index(iterable, 0));
+ }
+ return;
+ }
+ for (t1 = $.get$iterator$ax(iterable), t2 = this._this; t1.moveNext$0() === true;)
+ t2.appendChild(t1.get$current());
+ },
+ addAll$1$bailout1: function(state0, iterable, len, t1) {
+ switch (state0) {
+ case 0:
+ case 1:
+ var i, t2;
+ if (state0 === 1 || state0 === 0 && typeof iterable === "object" && iterable !== null && !!$.getInterceptor(iterable).$is_ChildNodeListLazy)
+ switch (state0) {
+ case 0:
+ t1 = this._this;
+ case 1:
+ if (state0 === 1 || state0 === 0 && iterable._this !== t1)
+ switch (state0) {
+ case 0:
+ len = iterable.get$length(iterable);
+ case 1:
+ state0 = 0;
+ i = 0;
+ for (; $.JSNumber_methods.$lt(i, len); ++i)
+ t1.appendChild(iterable.$index(iterable, 0));
+ }
+ return;
+ }
+ for (t1 = $.get$iterator$ax(iterable), t2 = this._this; t1.moveNext$0() === true;)
+ t2.appendChild(t1.get$current());
+ }
+ },
+ removeLast$0: function(_) {
+ var result = this.get$last(this);
+ if (result != null)
+ this._this.removeChild(result);
+ return result;
+ },
+ clear$0: function(_) {
+ this._this.textContent = "";
+ },
+ $indexSet: function(_, index, value) {
+ var t1, t2;
+ t1 = this._this;
+ t2 = t1.childNodes;
+ if (typeof t2 !== "string" && (typeof t2 !== "object" || t2 === null || t2.constructor !== Array && !$.getInterceptor(t2).$isJavaScriptIndexingBehavior()))
+ return this.$$indexSet$bailout(1, t1, value, t2, index);
+ if (index !== (index | 0))
+ throw $.iae(index);
+ if (index < 0 || index >= t2.length)
+ throw $.ioore(index);
+ t1.replaceChild(value, t2[index]);
+ },
+ $$indexSet$bailout: function(state0, t1, value, t2, index) {
+ t1.replaceChild(value, $.$index$asx(t2, index));
+ },
+ get$iterator: function(_) {
+ return $.get$iterator$ax(this._this.childNodes);
+ },
+ toList$1$growable: function(_, growable) {
+ return $.List_List$from(this, growable);
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ get$isEmpty: function(_) {
+ return $.$eq(this.get$length(this), 0);
+ },
+ sublist$2: function(_, start, end) {
+ if (end == null)
+ $.$eq(end, this.get$length(this));
+ return $.Lists_getRange(this, start, end, []);
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ toString$0: function(_) {
+ var buffer = $.StringBuffer$("[");
+ buffer.writeAll$2(this, ", ");
+ buffer.write$1("]");
+ return buffer.toString$0(buffer);
+ },
+ get$length: function(_) {
+ return $.get$length$asx(this._this.childNodes);
+ },
+ set$length: function(_, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot set length on immutable List."));
+ },
+ $index: function(_, index) {
+ var t1 = this._this.childNodes;
+ if (typeof t1 !== "string" && (typeof t1 !== "object" || t1 === null || t1.constructor !== Array && !$.getInterceptor(t1).$isJavaScriptIndexingBehavior()))
+ return this.$$index$bailout(1, index, t1);
+ if (index !== (index | 0))
+ throw $.iae(index);
+ if (index < 0 || index >= t1.length)
+ throw $.ioore(index);
+ return t1[index];
+ },
+ $$index$bailout: function(state0, index, t1) {
+ return $.$index$asx(t1, index);
+ },
+ $is_ChildNodeListLazy: true,
+ $asList: function() {
+ return function () { return [$.Node]; };
+ },
+ $asIterable: function() {
+ return function () { return [$.Node]; };
+ }
+};
+
+$$._AttributeMap = {"": "Object;",
+ forEach$1: function(_, f) {
+ var t1, t2;
+ for (t1 = $.JSArray_methods.get$iterator(this.get$keys()); t1.moveNext$0();) {
+ t2 = t1.get$current();
+ f.call$2(t2, this.$index(this, t2));
+ }
+ },
+ get$keys: function() {
+ var attributes, keys, t1, len, i;
+ attributes = this._liblib1$_element.attributes;
+ keys = $.List_List($);
+ for (t1 = $.getInterceptor$asx(attributes), len = t1.get$length(attributes), i = 0; i < len; ++i)
+ if (this._matches$1(t1.$index(attributes, i)))
+ keys.push(t1.$index(attributes, i).localName);
+ return keys;
+ },
+ get$values: function(_) {
+ var attributes, values, t1, len, i;
+ attributes = this._liblib1$_element.attributes;
+ values = $.List_List($);
+ for (t1 = $.getInterceptor$asx(attributes), len = t1.get$length(attributes), i = 0; i < len; ++i)
+ if (this._matches$1(t1.$index(attributes, i)))
+ values.push($.get$value$x(t1.$index(attributes, i)));
+ return values;
+ },
+ get$isEmpty: function(_) {
+ return this.get$length(this) === 0;
+ },
+ $isMap: true,
+ $asMap: function () { return [$.String, $.String]; }
+};
+
+$$._ElementAttributeMap = {"": "_AttributeMap;_liblib1$_element",
+ $index: function(_, key) {
+ return this._liblib1$_element.getAttribute(key);
+ },
+ $indexSet: function(_, key, value) {
+ this._liblib1$_element.setAttribute(key, value);
+ },
+ get$length: function(_) {
+ return this.get$keys().length;
+ },
+ _matches$1: function(node) {
+ return node.namespaceURI == null;
+ }
+};
+
+$$.CssClassSet = {"": "Object;",
+ toString$0: function(_) {
+ var t1 = this.readClasses$0();
+ return t1.join$1(t1, " ");
+ },
+ toggle$1: function(value) {
+ var s, result;
+ s = this.readClasses$0();
+ if (s.contains$1(s, value) === true) {
+ s.remove$1(s, value);
+ result = false;
+ } else {
+ s.add$1(s, value);
+ result = true;
+ }
+ this.writeClasses$1(s);
+ return result;
+ },
+ get$iterator: function(_) {
+ var t1 = this.readClasses$0();
+ return t1.get$iterator(t1);
+ },
+ forEach$1: function(_, f) {
+ var t1 = this.readClasses$0();
+ t1.forEach$1(t1, f);
+ },
+ get$isEmpty: function(_) {
+ var t1 = this.readClasses$0();
+ return t1.get$isEmpty(t1);
+ },
+ get$length: function(_) {
+ var t1 = this.readClasses$0();
+ return t1.get$length(t1);
+ },
+ add$1: function(_, value) {
+ var t1, s;
+ t1 = new $.CssClassSet_add_anon(value);
+ s = this.readClasses$0();
+ t1.call$1(s);
+ this.writeClasses$1(s);
+ },
+ addAll$1: function(_, iterable) {
+ var t1, s;
+ t1 = new $.CssClassSet_addAll_anon(iterable);
+ s = this.readClasses$0();
+ t1.call$1(s);
+ this.writeClasses$1(s);
+ },
+ toList$1$growable: function(_, growable) {
+ var t1 = this.readClasses$0();
+ return t1.toList$1$growable(t1, growable);
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ skip$1: function(_, n) {
+ var t1 = this.readClasses$0();
+ return t1.skip$1(t1, n);
+ },
+ elementAt$1: function(_, index) {
+ var t1 = this.readClasses$0();
+ return t1.elementAt$1(t1, index);
+ },
+ $isIterable: function() {
+ return true;
+ },
+ $asIterable: function() {
+ return function () { return [$.String]; };
+ }
+};
+
+$$.CssClassSet_add_anon = {"": "Closure;value_0",
+ call$1: function(s) {
+ return $.add$1$ax(s, this.value_0);
+ }
+};
+
+$$.CssClassSet_addAll_anon = {"": "Closure;iterable_0",
+ call$1: function(s) {
+ return $.addAll$1$ax(s, this.iterable_0);
+ }
+};
+
+$$._EventStream = {"": "Stream;_target,_eventType,_useCapture",
+ listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+ return $._EventStreamSubscription$(this._target, this._eventType, onData, this._useCapture);
+ },
+ listen$1: function(onData) {
+ return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null);
+ },
+ listen$3$onDone$onError: function(onData, onDone, onError) {
+ return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
+ }
+};
+
+$$._EventStreamSubscription = {"": "StreamSubscription;_pauseCount,_target,_eventType,_liblib1$_onData,_useCapture",
+ cancel$0: function() {
+ if (this.get$_canceled())
+ return;
+ var t1 = this._liblib1$_onData;
+ if (t1 != null)
+ $.$$dom_removeEventListener$3$x(this._target, this._eventType, t1, this._useCapture);
+ this._target = null;
+ this._liblib1$_onData = null;
+ },
+ get$_canceled: function() {
+ return this._target == null;
+ },
+ get$_paused: function() {
+ return this._pauseCount > 0;
+ },
+ _tryResume$0: function() {
+ if (this._liblib1$_onData != null && !this.get$_paused())
+ $.$$dom_addEventListener$3$x(this._target, this._eventType, this._liblib1$_onData, this._useCapture);
+ },
+ _EventStreamSubscription$4: function(_target, _eventType, _onData, _useCapture) {
+ this._tryResume$0();
+ }
+};
+
+$$.EventStreamProvider = {"": "Object;_eventType",
+ forTarget$2$useCapture: function(e, useCapture) {
+ return $._EventStream$(e, this._eventType, useCapture);
+ },
+ forTarget$1: function(e) {
+ return this.forTarget$2$useCapture(e, false);
+ }
+};
+
+$$.FixedSizeListIterator = {"": "Object;_array,_length,_position,_current",
+ moveNext$0: function() {
+ var t1, nextPosition;
+ t1 = this._position;
+ if (typeof t1 !== "number")
+ return this.moveNext$0$bailout(1, t1);
+ nextPosition = t1 + 1;
+ t1 = this._length;
+ if (nextPosition < t1) {
+ this._current = $.$index$asx(this._array, nextPosition);
+ this._position = nextPosition;
+ return true;
+ }
+ this._current = null;
+ this._position = t1;
+ return false;
+ },
+ moveNext$0$bailout: function(state0, t1) {
+ var nextPosition = $.$add$ns(t1, 1);
+ t1 = this._length;
+ if ($.$lt$n(nextPosition, t1)) {
+ this._current = $.$index$asx(this._array, nextPosition);
+ this._position = nextPosition;
+ return true;
+ }
+ this._current = null;
+ this._position = t1;
+ return false;
+ },
+ get$current: function() {
+ return this._current;
+ }
+};
+
+$$.convertDartToNative_Dictionary_anon = {"": "Closure;object_0",
+ call$2: function(key, value) {
+ this.object_0[key] = value;
+ }
+};
+
+$$.FilteredElementList = {"": "ListBase;_node,_childNodes",
+ get$_filtered: function() {
+ var t1 = this._childNodes;
+ return $.List_List$from(t1.where$1(t1, new $.FilteredElementList__filtered_anon()), true);
+ },
+ forEach$1: function(_, f) {
+ $.JSArray_methods.forEach$1(this.get$_filtered(), f);
+ },
+ $indexSet: function(_, index, value) {
+ var t1 = this.get$_filtered();
+ if (index !== (index | 0))
+ throw $.iae(index);
+ if (index < 0 || index >= t1.length)
+ throw $.ioore(index);
+ $.replaceWith$1$x(t1[index], value);
+ },
+ set$length: function(_, newLength) {
+ var len;
+ if (typeof newLength !== "number")
+ return this.set$length$bailout(1, newLength);
+ len = this.get$length(this);
+ if (newLength >= len)
+ return;
+ else if (newLength < 0)
+ throw $.wrapException($.ArgumentError$("Invalid list length"));
+ this.removeRange$2(this, newLength, len);
+ },
+ set$length$bailout: function(state0, newLength) {
+ var len, t1;
+ len = this.get$length(this);
+ t1 = $.getInterceptor$n(newLength);
+ if (t1.$ge(newLength, len))
+ return;
+ else if (t1.$lt(newLength, 0))
+ throw $.wrapException($.ArgumentError$("Invalid list length"));
+ this.removeRange$2(this, newLength, len);
+ },
+ add$1: function(_, value) {
+ var t1 = this._childNodes;
+ t1.add$1(t1, value);
+ },
+ addAll$1: function(_, iterable) {
+ var t1, t2;
+ for (t1 = $.get$iterator$ax(iterable), t2 = this._childNodes; t1.moveNext$0() === true;)
+ t2.add$1(t2, t1.get$current());
+ },
+ removeRange$2: function(_, start, end) {
+ $.JSArray_methods.forEach$1($.JSArray_methods.sublist$2(this.get$_filtered(), start, end), new $.FilteredElementList_removeRange_anon());
+ },
+ clear$0: function(_) {
+ var t1 = this._childNodes;
+ t1.clear$0(t1);
+ },
+ removeLast$0: function(_) {
+ var result = this.get$last(this);
+ if (result != null)
+ $.remove$0$ax(result);
+ return result;
+ },
+ toList$1$growable: function(_, growable) {
+ return $.List_List$from(this, growable);
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ elementAt$1: function(_, index) {
+ var t1 = this.get$_filtered();
+ if (index !== (index | 0))
+ throw $.iae(index);
+ if (index < 0 || index >= t1.length)
+ throw $.ioore(index);
+ return t1[index];
+ },
+ get$isEmpty: function(_) {
+ return $.JSArray_methods.get$isEmpty(this.get$_filtered());
+ },
+ get$length: function(_) {
+ return this.get$_filtered().length;
+ },
+ $index: function(_, index) {
+ var t1 = this.get$_filtered();
+ if (index !== (index | 0))
+ throw $.iae(index);
+ if (index < 0 || index >= t1.length)
+ throw $.ioore(index);
+ return t1[index];
+ },
+ get$iterator: function(_) {
+ return $.JSArray_methods.get$iterator(this.get$_filtered());
+ },
+ sublist$2: function(_, start, end) {
+ return $.JSArray_methods.sublist$2(this.get$_filtered(), start, end);
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ skip$1: function(_, n) {
+ return this.get$IterableMixinWorkaround().skipList$2(this, n);
+ },
+ get$last: function(_) {
+ return $.JSArray_methods.get$last(this.get$_filtered());
+ },
+ $asList: function() {
+ return function () { return [$.Element]; };
+ },
+ $asIterable: function() {
+ return function () { return [$.Element]; };
+ }
+};
+
+$$.FilteredElementList__filtered_anon = {"": "Closure;",
+ call$1: function(n) {
+ return typeof n === "object" && n !== null && $.getInterceptor(n).$isElement();
+ }
+};
+
+$$.FilteredElementList_removeRange_anon = {"": "Closure;",
+ call$1: function(el) {
+ return $.remove$0$ax(el);
+ }
+};
+
+$$._AttributeClassSet = {"": "CssClassSet;_liblib2$_element",
+ readClasses$0: function() {
+ var t1, classname, s, trimmed;
+ t1 = $.get$attributes$x(this._liblib2$_element);
+ classname = t1.$index(t1, "class");
+ s = $.LinkedHashSet$();
+ if (classname == null)
+ return s;
+ for (t1 = $.JSArray_methods.get$iterator($.split$1$s(classname, " ")); t1.moveNext$0();) {
+ trimmed = $.trim$0$s(t1.get$current());
+ if (!$.JSString_methods.get$isEmpty(trimmed))
+ s.add$1(s, trimmed);
+ }
+ return s;
+ },
+ writeClasses$1: function(s) {
+ var t1 = $.get$attributes$x(this._liblib2$_element);
+ t1.$indexSet(t1, "class", s.join$1(s, " "));
+ }
+};
+
+$$.BarGraph = {"": "Object;_canvas,_model,_elements,scaleHeight",
+ addSample$1: function(segments) {
+ if (segments.length !== this._elements.length)
+ throw $.wrapException($.RuntimeError$("invalid sample size for graph"));
+ this._model.addSample$1(segments);
+ },
+ drawBarGraph$0: function() {
+ var t1, context, t2, x, i, y;
+ t1 = this._canvas;
+ $.Primitives_printString("drawBarGraph: _canvas=" + $.S(t1));
+ context = $.get$context2D$x(t1);
+ context.beginPath();
+ context.strokeStyle = "black";
+ t2 = $.getInterceptor$x(t1);
+ context.strokeRect(48, 1, $.$add$ns($.$sub$n($.$sub$n(t2.get$width(t1), 50), 150), 2), $.$sub$n(t2.get$height(t1), 2), 1);
+ x = $.$sub$n(t2.get$width(t1), 130);
+ if (typeof x !== "number")
+ return this.drawBarGraph$0$bailout(1, context, x);
+ context.font = "14px sans-serif";
+ for (t1 = this._elements, i = t1.length - 1, t2 = x + 30, y = 20; i >= 0; --i) {
+ if (i >= t1.length)
+ throw $.ioore(i);
+ context.fillStyle = $.get$color$x(t1[i]);
+ context.fillRect(x, y, 20, 20);
+ context.fillStyle = "black";
+ if (i >= t1.length)
+ throw $.ioore(i);
+ context.fillText($.get$name$x(t1[i]), t2, y + 15);
+ y += 30;
+ }
+ },
+ drawBarGraph$0$bailout: function(state0, context, x) {
+ var t1, i, t2, y;
+ context.font = "14px sans-serif";
+ for (t1 = this._elements, i = t1.length - 1, t2 = $.getInterceptor$ns(x), y = 20; i >= 0; --i) {
+ if (i >= t1.length)
+ throw $.ioore(i);
+ context.fillStyle = $.get$color$x(t1[i]);
+ context.fillRect(x, y, 20, 20);
+ context.fillStyle = "black";
+ if (i >= t1.length)
+ throw $.ioore(i);
+ context.fillText($.get$name$x(t1[i]), t2.$add(x, 30), y + 15);
+ y += 30;
+ }
+ },
+ drawGraph$1: function(model) {
+ var graphHeight, t1, height, scale;
+ graphHeight = model.get$maxTotal();
+ t1 = this._canvas;
+ t1.clientWidth;
+ height = t1.clientHeight;
+ t1 = $.getInterceptor$n(graphHeight);
+ if (t1.$ge(graphHeight, this.scaleHeight)) {
+ this.scaleHeight = t1.$mul(graphHeight, 1.2);
+ this.scaleHeight = $.JSNumber_methods.ceil$0($.$div$n(this.scaleHeight, 100)) * 100;
+ }
+ scale = $.$div$n(height, this.scaleHeight);
+ this.drawValues$2(this.scaleHeight, scale);
+ this.drawChart$2(this.scaleHeight, scale);
+ },
+ get$drawGraph: function() {
+ return new $.BoundClosure$1(this, "drawGraph$1");
+ },
+ drawChart$2: function(maxHeight, scale) {
+ var t1, dividerHeight, t3, context, height, scaledY, t2, scaledY0, i;
+ t1 = $.getInterceptor$n(maxHeight);
+ dividerHeight = t1.$tdiv(maxHeight, 5);
+ if (typeof dividerHeight !== "number")
+ return this.drawChart$2$bailout(1, maxHeight, scale, t1, dividerHeight);
+ t3 = this._canvas;
+ context = $.get$context2D$x(t3);
+ context.beginPath();
+ height = t1.toInt$0(maxHeight);
+ scaledY = dividerHeight * scale;
+ context.clearRect(0, 0, 48, maxHeight);
+ for (t1 = $.getInterceptor$x(t3), t2 = $.JSNumber_methods.$tdiv(dividerHeight, 100) * 100, scaledY0 = scaledY, i = 1; i < 5; ++i) {
+ height -= t2;
+ context.font = "14px sans-serif";
+ context.fillStyle = "black";
+ context.textAlign = "right";
+ context.textBaseline = "middle";
+ context.fillText($.JSNumber_methods.toString$0(height), 40, scaledY0);
+ context.moveTo(48, scaledY0);
+ context.strokeStyle = "grey";
+ context.lineWidth = 0.5;
+ context.lineTo($.$sub$n(t1.get$width(t3), 150), scaledY0);
+ context.stroke();
+ scaledY0 += scaledY;
+ }
+ },
+ drawChart$2$bailout: function(state0, maxHeight, scale, t1, dividerHeight) {
+ var t3, context, height, scaledY, t2, i, t4;
+ t3 = this._canvas;
+ context = $.get$context2D$x(t3);
+ context.beginPath();
+ height = t1.toInt$0(maxHeight);
+ t1 = $.getInterceptor$n(dividerHeight);
+ scaledY = t1.$mul(dividerHeight, scale);
+ context.clearRect(0, 0, 48, maxHeight);
+ for (t2 = $.getInterceptor$x(t3), i = 1; i < 5; ++i) {
+ t4 = $.$mul$n(t1.$tdiv(dividerHeight, 100), 100);
+ if (typeof t4 !== "number")
+ throw $.iae(t4);
+ height -= t4;
+ context.font = "14px sans-serif";
+ context.fillStyle = "black";
+ context.textAlign = "right";
+ context.textBaseline = "middle";
+ context.fillText($.JSNumber_methods.toString$0(height), 40, scaledY);
+ context.moveTo(48, scaledY);
+ context.strokeStyle = "grey";
+ context.lineWidth = 0.5;
+ context.lineTo($.$sub$n(t2.get$width(t3), 150), scaledY);
+ context.stroke();
+ scaledY = $.$add$ns(scaledY, t1.$mul(dividerHeight, scale));
+ }
+ },
+ drawValues$2: function(maxHeight, scale) {
+ var t1, iterator, w, t2, x, s, blankHeight, y, i, h, t3;
+ if (typeof maxHeight !== "number")
+ return this.drawValues$2$bailout(1, maxHeight, scale);
+ t1 = this._model;
+ iterator = t1.get$iterator(t1);
+ t1 = this._canvas;
+ w = $.$sub$n($.$sub$n($.$sub$n($.get$width$x(t1), 50), 150), 2);
+ t2 = $.JSNumber_methods.ceil$0(maxHeight * scale);
+ $.get$context2D$x(t1).clearRect(52, 2, w, t2 - 4);
+ for (t1 = this._elements, x = 52; iterator.moveNext$0();) {
+ s = iterator.get$current();
+ t2 = $.getInterceptor(s);
+ if (s != null) {
+ blankHeight = $.$sub$n(this.scaleHeight, t2.total$0(s));
+ this.drawVerticalSegment$6(x, 2, 5, blankHeight, "white", scale);
+ if (typeof blankHeight !== "number")
+ throw $.iae(blankHeight);
+ y = 2 + blankHeight;
+ i = $.$sub$n(t2.get$length(s), 1);
+ if (i !== (i | 0))
+ return this.drawValues$2$bailout(2, maxHeight, scale, t2, t1, iterator, x, y, i, s);
+ for (; i >= 0; --i) {
+ h = t2.$index(s, i);
+ if (i >= t1.length)
+ throw $.ioore(i);
+ this.drawVerticalSegment$6(x, y, 5, h, $.get$color$x(t1[i]), scale);
+ t3 = t2.$index(s, i);
+ if (typeof t3 !== "number")
+ throw $.iae(t3);
+ y += t3;
+ }
+ } else
+ this.drawVerticalSegment$6(x, 2, 5, maxHeight, "white", scale);
+ x += 5;
+ }
+ },
+ drawValues$2$bailout: function(state0, maxHeight, scale, t2, t1, iterator, x, y, i, s) {
+ switch (state0) {
+ case 0:
+ case 1:
+ state0 = 0;
+ t1 = this._model;
+ iterator = t1.get$iterator(t1);
+ t1 = this._canvas;
+ w = $.$sub$n($.$sub$n($.$sub$n($.get$width$x(t1), 50), 150), 2);
+ t2 = $.ceil$0$n($.$mul$n(maxHeight, scale));
+ $.get$context2D$x(t1).clearRect(52, 2, w, t2 - 4);
+ t1 = this._elements;
+ x = 52;
+ case 2:
+ var w, blankHeight, h, t3;
+ L0:
+ while (true)
+ switch (state0) {
+ case 0:
+ if (!iterator.moveNext$0())
+ break L0;
+ s = iterator.get$current();
+ t2 = $.getInterceptor(s);
+ case 2:
+ if (state0 === 2 || state0 === 0 && s != null)
+ switch (state0) {
+ case 0:
+ blankHeight = $.$sub$n(this.scaleHeight, t2.total$0(s));
+ this.drawVerticalSegment$6(x, 2, 5, blankHeight, "white", scale);
+ if (typeof blankHeight !== "number")
+ throw $.iae(blankHeight);
+ y = 2 + blankHeight;
+ i = $.$sub$n(t2.get$length(s), 1);
+ case 2:
+ state0 = 0;
+ for (; $.$ge$n(i, 0); --i) {
+ h = t2.$index(s, i);
+ if (i !== (i | 0))
+ throw $.iae(i);
+ if (i < 0 || i >= t1.length)
+ throw $.ioore(i);
+ this.drawVerticalSegment$6(x, y, 5, h, $.get$color$x(t1[i]), scale);
+ t3 = t2.$index(s, i);
+ if (typeof t3 !== "number")
+ throw $.iae(t3);
+ y += t3;
+ }
+ }
+ else
+ this.drawVerticalSegment$6(x, 2, 5, maxHeight, "white", scale);
+ x += 5;
+ }
+ }
+ },
+ drawVerticalSegment$6: function(x, y, w, h, color, scale) {
+ var t1, context, max;
+ if (typeof h !== "number")
+ return this.drawVerticalSegment$6$bailout(1, x, y, w, h, color, scale);
+ t1 = this._canvas;
+ context = $.get$context2D$x(t1);
+ y = $.JSNumber_methods.floor$0(y * scale);
+ h = $.JSNumber_methods.ceil$0(h * scale);
+ context.beginPath();
+ context.lineWidth = w;
+ context.fillStyle = color;
+ context.strokeStyle = color;
+ if (x < 2)
+ x = 2;
+ if (y < 2)
+ y = 2;
+ t1 = $.get$height$x(t1);
+ if (typeof t1 !== "number")
+ return this.drawVerticalSegment$6$bailout(2, x, y, 0, h, 0, 0, context, t1);
+ max = t1 - 2;
+ if (y + h > max)
+ h = max - y;
+ context.moveTo(x, y);
+ context.lineTo(x, y + h);
+ context.stroke();
+ },
+ drawVerticalSegment$6$bailout: function(state0, x, y, w, h, color, scale, context, t1) {
+ switch (state0) {
+ case 0:
+ case 1:
+ state0 = 0;
+ t1 = this._canvas;
+ context = $.get$context2D$x(t1);
+ y = $.JSNumber_methods.floor$0(y * scale);
+ h = $.ceil$0$n($.$mul$n(h, scale));
+ context.beginPath();
+ context.lineWidth = w;
+ context.fillStyle = color;
+ context.strokeStyle = color;
+ if (x < 2)
+ x = 2;
+ if (y < 2)
+ y = 2;
+ t1 = $.get$height$x(t1);
+ case 2:
+ var max;
+ state0 = 0;
+ max = $.$sub$n(t1, 2);
+ if ($.JSNumber_methods.$gt(y + h, max))
+ h = $.$sub$n(max, y);
+ context.moveTo(x, y);
+ if (typeof h !== "number")
+ throw $.iae(h);
+ context.lineTo(x, y + h);
+ context.stroke();
+ }
+ },
+ BarGraph$2: function(_canvas, _elements) {
+ this._model = $.GraphModel$($.$tdiv$n($.$sub$n($.$sub$n($.get$width$x(this._canvas), 50), 150), 5));
+ this._model.addListener$2(this.get$drawGraph(), null);
+ this.drawBarGraph$0();
+ }
+};
+
+$$.GraphModel = {"": "ObservableModel;_samples,_maxSize,_listeners",
+ addSample$1: function(segments) {
+ var t1 = this._samples;
+ if ($.JSInt_methods.$ge(t1.length, this._maxSize))
+ $.JSArray_methods.remove$1(t1, $.JSArray_methods.get$first(t1));
+ t1.push($.Sample$(segments));
+ this.notifySuccess$0();
+ },
+ get$iterator: function(_) {
+ return $.JSArray_methods.get$iterator(this._samples);
+ },
+ $index: function(_, i) {
+ var t1 = this._samples;
+ if (i !== (i | 0))
+ throw $.iae(i);
+ if (i < 0 || i >= t1.length)
+ throw $.ioore(i);
+ return t1[i];
+ },
+ get$maxTotal: function() {
+ var t1 = {};
+ t1.max_0 = 1;
+ $.JSArray_methods.forEach$1(this._samples, new $.GraphModel_maxTotal_anon(t1));
+ return t1.max_0;
+ }
+};
+
+$$.GraphModel_maxTotal_anon = {"": "Closure;box_0",
+ call$1: function(s) {
+ var t1, t2, t3, max;
+ t1 = $.getInterceptor$x(s);
+ t2 = t1.total$0(s);
+ t3 = this.box_0;
+ max = $.$gt$n(t2, t3.max_0) ? t1.total$0(s) : t3.max_0;
+ t3.max_0 = max;
+ return max;
+ }
+};
+
+$$.Element0 = {"": "Object;name>,color>"};
+
+$$.Sample = {"": "Object;_segments",
+ get$length: function(_) {
+ return this._segments.length;
+ },
+ $index: function(_, i) {
+ var t1 = this._segments;
+ if (i !== (i | 0))
+ throw $.iae(i);
+ if (i < 0 || i >= t1.length)
+ throw $.ioore(i);
+ return t1[i];
+ },
+ get$iterator: function(_) {
+ return $.JSArray_methods.get$iterator(this._segments);
+ },
+ total$0: function(_) {
+ return $.JSArray_methods.fold$2(this._segments, 0, new $.Sample_total_anon());
+ }
+};
+
+$$.Sample_total_anon = {"": "Closure;",
+ call$2: function(prev, element) {
+ return $.$add$ns(prev, element);
+ }
+};
+
+$$.IsolateList = {"": "Object;_isolateTable",
+ updateList$1: function(model) {
+ var iterator, t1, t2, t3, isolate, t4, isolateId, t5, detailsCell, basicData, details, stacktraceCell, stacktrace;
+ iterator = $.get$iterator$ax(model);
+ for (t1 = this._isolateTable, t2 = $.getInterceptor$x(t1); iterator.moveNext$0() === true;) {
+ t3 = {};
+ isolate = iterator.get$current();
+ t4 = $.getInterceptor$x(isolate);
+ isolateId = "isolate-" + $.S(t4.get$port(isolate));
+ t3.isolateRow_0 = t1.querySelector("#" + isolateId);
+ t5 = t3.isolateRow_0;
+ if (t5 != null)
+ this.updateIsolateDetails$2(isolate, t5);
+ else {
+ t3.isolateRow_0 = document.createElement("tr");
+ $.set$$$dom_className$x(t3.isolateRow_0, "isolate_row");
+ $.set$id$x(t3.isolateRow_0, isolateId);
+ t5 = t2.get$children(t1);
+ t5.add$1(t5, t3.isolateRow_0);
+ detailsCell = document.createElement("td");
+ t5 = $.getInterceptor$x(detailsCell);
+ detailsCell.className = "isolate_details_column";
+ $.add$1$ax($.get$children$x(t3.isolateRow_0), detailsCell);
+ basicData = document.createElement("div");
+ basicData.textContent = $.JSString_methods.replaceAll$2($.replaceAll$2$s(t4.get$name(isolate), "$", ": "), "-", " ");
+ t4 = t5.get$children(detailsCell);
+ t4.add$1(t4, basicData);
+ details = document.createElement("div");
+ t4 = $.get$classes$x(details);
+ t4.addAll$1(t4, ["isolate_details", "hidden"]);
+ t5 = t5.get$children(detailsCell);
+ t5.add$1(t5, details);
+ stacktraceCell = document.createElement("td");
+ t5 = $.getInterceptor$x(stacktraceCell);
+ t4 = t5.get$classes(stacktraceCell);
+ t4.addAll$1(t4, ["isolate_stacktrace_column", "hidden"]);
+ $.add$1$ax($.get$children$x(t3.isolateRow_0), stacktraceCell);
+ stacktrace = document.createElement("div");
+ t4 = $.get$classes$x(stacktrace);
+ t4.addAll$1(t4, ["stack_trace", "hidden"]);
+ t5 = t5.get$children(stacktraceCell);
+ t5.add$1(t5, stacktrace);
+ $.get$onClick$x(t3.isolateRow_0).listen$1(new $.IsolateList_updateList_anon(t3, this));
+ this.updateIsolateDetails$2(isolate, t3.isolateRow_0);
+ }
+ }
+ },
+ setStacktrace$2: function(element, json) {
+ var t1, t2, response, title, t3, stackIterator, i, frame, $frameElement, text, noStack;
+ t1 = $.getInterceptor$x(element);
+ t2 = t1.get$children(element);
+ t2.clear$0(t2);
+ response = $.parse(json, null);
+ t2 = $.getInterceptor$asx(response);
+ t1.set$id(element, t2.$index(response, "handle"));
+ title = document.createElement("div");
+ title.className = "stack_trace_title";
+ title.textContent = "Stack Trace";
+ t3 = t1.get$children(element);
+ t3.add$1(t3, title);
+ if ($.$gt$n($.get$length$asx(t2.$index(response, "stacktrace")), 0)) {
+ stackIterator = $.get$iterator$ax(t2.$index(response, "stacktrace"));
+ for (i = 0; stackIterator.moveNext$0() === true;) {
+ ++i;
+ frame = stackIterator.get$current();
+ $frameElement = document.createElement("div");
+ t2 = $.getInterceptor$asx(frame);
+ text = "" + i + ": " + $.S(t2.$index(frame, "url")) + ":" + $.S(t2.$index(frame, "line")) + ": " + $.S(t2.$index(frame, "function"));
+ $frameElement.textContent = $.$index$asx(t2.$index(frame, "code"), "optimized") === true ? text + " (optimized)" : text;
+ $frameElement.className = "stack_frame";
+ t2 = t1.get$children(element);
+ t2.add$1(t2, $frameElement);
+ }
+ } else {
+ noStack = document.createElement("div");
+ noStack.className = "empty_stack_frame";
+ noStack.textContent = "<no stack>";
+ t1 = t1.get$children(element);
+ t1.add$1(t1, noStack);
+ }
+ },
+ findOrAddChild$2: function($parent, className) {
+ var child, t1;
+ child = $parent.querySelector("." + className);
+ if (child == null) {
+ child = document.createElement("div");
+ child.className = className;
+ t1 = $.get$children$x($parent);
+ t1.add$1(t1, child);
+ }
+ return child;
+ },
+ updateIsolateDetails$2: function(isolate, row) {
+ var details, stackTrace;
+ details = row.querySelector(".isolate_details");
+ this.findOrAddChild$2(details, "new_space").textContent = "New space: " + $.S(isolate.get$newSpace().used) + "K";
+ this.findOrAddChild$2(details, "old_space").textContent = "Old space: " + $.S(isolate.get$oldSpace().used) + "K";
+ this.findOrAddChild$2(details, "stack_limit").textContent = "Stack limit: " + $.S($.JSDouble_methods.round$0($.abs$0$n(isolate.get$stackLimit()) / 1000000)) + "M";
+ stackTrace = this.findOrAddChild$2(row, "isolate_stacktrace_column");
+ $.HttpRequest_getString("/isolate/" + $.S(isolate.get$handle()) + "/stacktrace", null, null).then$1(new $.IsolateList_updateIsolateDetails_anon(this, stackTrace));
+ }
+};
+
+$$.IsolateList_updateList_anon = {"": "Closure;box_0,this_1",
+ call$1: function(e) {
+ var t1, t2, t3, t4;
+ t1 = this.box_0.isolateRow_0;
+ t2 = $.getInterceptor$x(t1);
+ t3 = t2.query$1(t1, ".isolate_details");
+ t4 = $.getInterceptor$x(t3);
+ t4.get$classes(t3).toggle$1("visible");
+ t4.get$classes(t3).toggle$1("hidden");
+ t1 = t2.query$1(t1, ".isolate_stacktrace_column");
+ t2 = $.getInterceptor$x(t1);
+ t2.get$classes(t1).toggle$1("visible");
+ t2.get$classes(t1).toggle$1("hidden");
+ return;
+ }
+};
+
+$$.IsolateList_updateIsolateDetails_anon = {"": "Closure;this_0,stackTrace_1",
+ call$1: function(response) {
+ return this.this_0.setStacktrace$2(this.stackTrace_1, response);
+ }
+};
+
+$$.ObservableModel = {"": "Object;",
+ addListener$2: function(onUpdate, onFailure) {
+ this._listeners.push($.ModelListener$(onUpdate, onFailure));
+ },
+ removeListener$1: function(onUpdate) {
+ var t1, iterator;
+ t1 = this._listeners;
+ iterator = $.JSArray_methods.get$iterator(t1);
+ for (; iterator.moveNext$0();)
+ if (iterator.get$current().get$_onUpdate() === onUpdate) {
+ $.JSArray_methods.remove$1(t1, iterator.get$current());
+ return;
+ }
+ },
+ notifySuccess$0: function() {
+ $.JSArray_methods.forEach$1(this._listeners, new $.ObservableModel_notifySuccess_anon(this));
+ },
+ notifyFailure$0: function() {
+ $.JSArray_methods.forEach$1(this._listeners, new $.ObservableModel_notifyFailure_anon());
+ }
+};
+
+$$.ObservableModel_notifySuccess_anon = {"": "Closure;this_0",
+ call$1: function(listener) {
+ return listener.changed$1(this.this_0);
+ }
+};
+
+$$.ObservableModel_notifyFailure_anon = {"": "Closure;",
+ call$1: function(listener) {
+ return listener.failed$0();
+ }
+};
+
+$$.ModelListener = {"": "Object;_onUpdate<,_onFailure",
+ _onUpdate$1: function(arg0) {
+ return this._onUpdate.call$1(arg0);
+ },
+ changed$1: function(model) {
+ return $.Primitives_applyFunction(this._onUpdate, [model], $.Function__toMangledNames(null));
+ },
+ failed$0: function() {
+ return $.Primitives_applyFunction(this._onFailure, [], $.Function__toMangledNames(null));
+ }
+};
+
+$$.IsolateListModel = {"": "ObservableModel;_isolates,_listeners",
+ update$0: function() {
+ $.HttpRequest_getString("/isolates", null, null).then$2$onError(new $.IsolateListModel_update_anon(this), new $.IsolateListModel_update_anon0(this));
+ },
+ _onUpdate$1: function(isolateMap) {
+ var list, i;
+ this._isolates = [];
+ list = $.$index$asx(isolateMap, "isolates");
+ if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !$.getInterceptor(list).$isJavaScriptIndexingBehavior()))
+ return this._onUpdate$1$bailout(1, list);
+ for (i = 0; i < list.length; ++i)
+ this._isolates.push($.Isolate$(list[i]));
+ this.notifySuccess$0();
+ },
+ _onUpdate$1$bailout: function(state0, list) {
+ var t1, i;
+ for (t1 = $.getInterceptor$asx(list), i = 0; $.JSNumber_methods.$lt(i, t1.get$length(list)); ++i)
+ this._isolates.push($.Isolate$(t1.$index(list, i)));
+ this.notifySuccess$0();
+ },
+ get$_onUpdate: function() {
+ return new $.BoundClosure$1(this, "_onUpdate$1");
+ },
+ toString$0: function(_) {
+ return $.JSArray_methods.join$1(this._isolates, ", ");
+ },
+ forEach$1: function(_, f) {
+ return $.JSArray_methods.forEach$1(this._isolates, f);
+ },
+ isEmpty$0: function(_) {
+ return $.JSArray_methods.get$isEmpty(this._isolates);
+ },
+ get$isEmpty: function(receiver) {
+ return new $.BoundClosure$i0(this, "isEmpty$0", receiver);
+ },
+ get$iterator: function(_) {
+ return $.JSArray_methods.get$iterator(this._isolates);
+ },
+ get$length: function(_) {
+ return this._isolates.length;
+ },
+ $index: function(_, index) {
+ var t1 = this._isolates;
+ if (index !== (index | 0))
+ throw $.iae(index);
+ if (index < 0 || index >= t1.length)
+ throw $.ioore(index);
+ return t1[index];
+ }
+};
+
+$$.IsolateListModel_update_anon = {"": "Closure;this_0",
+ call$1: function(response) {
+ return this.this_0._onUpdate$1($.parse(response, null));
+ }
+};
+
+$$.IsolateListModel_update_anon0 = {"": "Closure;this_1",
+ call$1: function(e) {
+ return this.this_1.notifyFailure$0();
+ }
+};
+
+$$.Isolate = {"": "Object;handle<,name>,port>,startTime,stackLimit<,newSpace<,oldSpace<",
+ toString$0: function(_) {
+ return $.S(this.name) + ": " + $.S($.$add$ns(this.newSpace.used, this.oldSpace.used)) + "K";
+ }
+};
+
+$$.Space = {"": "Object;used,capacity",
+ toString$0: function(_) {
+ return "used: " + $.S(this.used) + " capacity: " + $.S(this.capacity);
+ }
+};
+
+$$.main_anon = {"": "Closure;",
+ call$1: function(timer) {
+ return $._isolates.update$0();
+ }
+};
+
+$$.onUpdateStatus_anon = {"": "Closure;box_0",
+ call$1: function(element) {
+ var t1 = this.box_0;
+ t1.oldSpace_0 = $.$add$ns(t1.oldSpace_0, element.get$oldSpace().used);
+ t1.newSpace_1 = $.$add$ns(t1.newSpace_1, element.get$newSpace().used);
+ }
+};
+
+// Native classes
+$$._WorkerStub = {"": "Interceptor;",
+ get$id: function(receiver) {
+ return receiver.id;
+ },
+ set$id: function(receiver, i) {
+ receiver.id = i;
+ },
+ set$onmessage: function(receiver, f) {
+ receiver.onmessage = f;
+ },
+ postMessage$1: function(receiver, msg) {
+ receiver.postMessage(msg);
+ },
+ terminate$0: function(receiver) {
+ receiver.terminate();
+ }
+};
+
+$$._HTMLElement = {"": "Element;"};
+
+$$.AnchorElement = {"": "Element;name=,port=",
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+};
+
+$$.AnimationEvent = {"": "Event;"};
+
+$$.AreaElement = {"": "Element;port="};
+
+$$.ArrayBuffer = {"": "Interceptor;"};
+
+$$.ArrayBufferView = {"": "Interceptor;"};
+
+$$.Attr = {"": "Node;"};
+
+$$.AudioElement = {"": "MediaElement;"};
+
+$$.AutocompleteErrorEvent = {"": "Event;"};
+
+$$.BRElement = {"": "Element;"};
+
+$$.BaseElement = {"": "Element;"};
+
+$$.BeforeLoadEvent = {"": "Event;"};
+
+$$.Blob = {"": "Interceptor;"};
+
+$$.BodyElement = {"": "Element;"};
+
+$$.ButtonElement = {"": "Element;name=,value="};
+
+$$.CDataSection = {"": "Text;"};
+
+$$.CanvasElement = {"": "Element;height=,width=",
+ get$context2D: function(receiver) {
+ return receiver.getContext("2d");
+ }
+};
+
+$$.CanvasGradient = {"": "Interceptor;"};
+
+$$.CanvasPattern = {"": "Interceptor;"};
+
+$$.CanvasRenderingContext = {"": "Interceptor;"};
+
+$$.CanvasRenderingContext2D = {"": "CanvasRenderingContext;"};
+
+$$.CharacterData = {"": "Node;length="};
+
+$$.CloseEvent = {"": "Event;"};
+
+$$.Comment = {"": "CharacterData;"};
+
+$$.CompositionEvent = {"": "UIEvent;"};
+
+$$.ContentElement = {"": "Element;"};
+
+$$.CssFontFaceLoadEvent = {"": "Event;"};
+
+$$.CssStyleDeclaration = {"": "Interceptor;length=",
+ getPropertyValue$1: function(receiver, propertyName) {
+ var propValue = receiver.getPropertyValue(propertyName);
+ return propValue != null ? propValue : "";
+ },
+ get$color: function(receiver) {
+ return this.getPropertyValue$1(receiver, "color");
+ }
+};
+
+$$.CustomElementConstructor = {"": "Interceptor;"};
+
+$$.CustomEvent = {"": "Event;"};
+
+$$.DListElement = {"": "Element;"};
+
+$$.DataListElement = {"": "Element;"};
+
+$$.DetailsElement = {"": "Element;"};
+
+$$.DeviceMotionEvent = {"": "Event;"};
+
+$$.DeviceOrientationEvent = {"": "Event;"};
+
+$$.DialogElement = {"": "Element;"};
+
+$$.DivElement = {"": "Element;"};
+
+$$.Document = {"": "Node;",
+ query$1: function(receiver, selectors) {
+ return receiver.querySelector(selectors);
+ },
+ register$2: function(receiver, $name, options) {
+ var t1 = $ === options;
+ if (t1)
+ options = null;
+ if (!t1)
+ return receiver.webkitRegister($name, $.convertDartToNative_Dictionary(options));
+ return receiver.webkitRegister($name);
+ },
+ get$onClick: function(receiver) {
+ return $.EventStreamProvider_click.forTarget$1(receiver);
+ }
+};
+
+$$.DocumentFragment = {"": "Node;",
+ get$children: function(receiver) {
+ if (receiver._children == null)
+ receiver._children = $.FilteredElementList$(receiver);
+ return receiver._children;
+ },
+ query$1: function(receiver, selectors) {
+ return receiver.querySelector(selectors);
+ }
+};
+
+$$.DocumentType = {"": "Node;"};
+
+$$.DomError = {"": "Interceptor;name="};
+
+$$.DomException = {"": "Interceptor;",
+ get$name: function(receiver) {
+ var errorName = receiver.name;
+ if ($.Device_isWebKit() === true && errorName === "SECURITY_ERR")
+ return "SecurityError";
+ if ($.Device_isWebKit() === true && errorName === "SYNTAX_ERR")
+ return "SyntaxError";
+ return errorName;
+ },
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+};
+
+$$.Element = {"": "Node;$$dom_children:children=,id%,$$dom_className:className}",
+ get$attributes: function(receiver) {
+ return $._ElementAttributeMap$(receiver);
+ },
+ get$children: function(receiver) {
+ return $._ChildrenElementList$_wrap(receiver);
+ },
+ get$classes: function(receiver) {
+ return $._ElementCssClassSet$(receiver);
+ },
+ query$1: function(receiver, selectors) {
+ return receiver.querySelector(selectors);
+ },
+ get$onClick: function(receiver) {
+ return $.EventStreamProvider_click.forTarget$1(receiver);
+ },
+ $isElement: function() {
+ return true;
+ },
+ $asElement: function() {
+ return null;
+ }
+};
+
+$$.EmbedElement = {"": "Element;height=,name=,width="};
+
+$$.EntityReference = {"": "Node;"};
+
+$$.ErrorEvent = {"": "Event;"};
+
+$$.Event = {"": "Interceptor;"};
+
+$$.EventException = {"": "Interceptor;name=",
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+};
+
+$$.EventTarget = {"": "Interceptor;",
+ $$dom_addEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ },
+ $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ }
+};
+
+$$.FieldSetElement = {"": "Element;name="};
+
+$$.File = {"": "Blob;name="};
+
+$$.FileError = {"": "Interceptor;"};
+
+$$.FileException = {"": "Interceptor;name=",
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+};
+
+$$.FocusEvent = {"": "UIEvent;"};
+
+$$.FormElement = {"": "Element;length=,name="};
+
+$$.HRElement = {"": "Element;"};
+
+$$.HashChangeEvent = {"": "Event;"};
+
+$$.HeadElement = {"": "Element;"};
+
+$$.HeadingElement = {"": "Element;"};
+
+$$.HtmlCollection = {"": "Interceptor;",
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot assign element of immutable List."));
+ },
+ get$iterator: function(receiver) {
+ return $.FixedSizeListIterator$(receiver);
+ },
+ forEach$1: function(receiver, f) {
+ var t1;
+ for (t1 = this.get$iterator(receiver); t1.moveNext$0();)
+ f.call$1(t1.get$current());
+ return;
+ },
+ toList$1$growable: function(receiver, growable) {
+ return $.List_List$from(receiver, growable);
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ get$isEmpty: function(receiver) {
+ return this.get$length(receiver) === 0;
+ },
+ skip$1: function(receiver, n) {
+ return $.SubListIterable$(receiver, n, null);
+ },
+ elementAt$1: function(receiver, index) {
+ return receiver[index];
+ },
+ add$1: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ addAll$1: function(receiver, iterable) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ set$length: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot resize immutable List."));
+ },
+ removeLast$0: function(receiver) {
+ throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List."));
+ },
+ sublist$2: function(receiver, start, end) {
+ if (end == null)
+ end = this.get$length(receiver);
+ return $.Lists_getRange(receiver, start, end, []);
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ toString$0: function(receiver) {
+ var buffer = $.StringBuffer$("[");
+ buffer.writeAll$2(receiver, ", ");
+ buffer.write$1("]");
+ return buffer.toString$0(buffer);
+ },
+ $isList: function() {
+ return true;
+ },
+ $asList: function() {
+ return function () { return [$.Node]; };
+ },
+ $isIterable: function() {
+ return true;
+ },
+ $asIterable: function() {
+ return function () { return [$.Node]; };
+ },
+ $isJavaScriptIndexingBehavior: function() {
+ return true;
+ },
+ $asJavaScriptIndexingBehavior: function() {
+ return null;
+ }
+};
+
+$$.HtmlDocument = {"": "Document;"};
+
+$$.HtmlElement = {"": "Element;"};
+
+$$.HtmlFormControlsCollection = {"": "HtmlCollection;"};
+
+$$.HtmlOptionsCollection = {"": "HtmlCollection;"};
+
+$$.HttpRequest = {"": "EventTarget;responseText=",
+ $$dom_addEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ },
+ 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);
+ },
+ $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ },
+ send$1: function(receiver, data) {
+ return receiver.send(data);
+ },
+ get$onError: function(receiver) {
+ return $.EventStreamProvider_error.forTarget$1(receiver);
+ },
+ get$onLoad: function(receiver) {
+ return $.EventStreamProvider_load.forTarget$1(receiver);
+ },
+ get$onProgress: function(receiver) {
+ return $.EventStreamProvider_progress.forTarget$1(receiver);
+ }
+};
+
+$$.HttpRequestException = {"": "Interceptor;name=",
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+};
+
+$$.HttpRequestProgressEvent = {"": "ProgressEvent;"};
+
+$$.HttpRequestUpload = {"": "EventTarget;",
+ $$dom_addEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ },
+ $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ }
+};
+
+$$.IFrameElement = {"": "Element;height=,name=,width="};
+
+$$.ImageElement = {"": "Element;height=,width="};
+
+$$.InputElement = {"": "Element;height=,name=,value=,width=",
+ $isElement: function() {
+ return true;
+ },
+ $asElement: function() {
+ return null;
+ }
+};
+
+$$.KeyboardEvent = {"": "UIEvent;"};
+
+$$.KeygenElement = {"": "Element;name="};
+
+$$.LIElement = {"": "Element;value="};
+
+$$.LabelElement = {"": "Element;"};
+
+$$.LegendElement = {"": "Element;"};
+
+$$.LinkElement = {"": "Element;"};
+
+$$.MapElement = {"": "Element;name="};
+
+$$.MediaElement = {"": "Element;"};
+
+$$.MediaError = {"": "Interceptor;"};
+
+$$.MediaKeyError = {"": "Interceptor;"};
+
+$$.MediaKeyEvent = {"": "Event;"};
+
+$$.MediaStreamEvent = {"": "Event;"};
+
+$$.MediaStreamTrackEvent = {"": "Event;"};
+
+$$.MenuElement = {"": "Element;"};
+
+$$.MessageEvent = {"": "Event;"};
+
+$$.MetaElement = {"": "Element;name="};
+
+$$.MeterElement = {"": "Element;value="};
+
+$$.ModElement = {"": "Element;"};
+
+$$.MouseEvent = {"": "UIEvent;"};
+
+$$.MutationEvent = {"": "Event;"};
+
+$$.Navigator = {"": "Interceptor;"};
+
+$$.NavigatorUserMediaError = {"": "Interceptor;"};
+
+$$.Node = {"": "EventTarget;text:textContent}",
+ get$nodes: function(receiver) {
+ return $._ChildNodeListLazy$(receiver);
+ },
+ remove$0: function(receiver) {
+ var t1 = receiver.parentNode;
+ if (t1 != null)
+ t1.removeChild(receiver);
+ },
+ replaceWith$1: function(receiver, otherNode) {
+ var $parent, exception;
+ try {
+ $parent = receiver.parentNode;
+ $.$$dom_replaceChild$2$x($parent, otherNode, receiver);
+ } catch (exception) {
+ $.unwrapException(exception);
+ }
+
+ return receiver;
+ },
+ toString$0: function(receiver) {
+ var t1 = receiver.localName;
+ if (t1 == null) {
+ t1 = receiver.nodeValue;
+ if (t1 == null)
+ t1 = $.Object.prototype.toString$0.call(receiver, receiver);
+ }
+ return t1;
+ },
+ $$dom_addEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ },
+ $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ },
+ $$dom_replaceChild$2: function(receiver, newChild, oldChild) {
+ return receiver.replaceChild(newChild, oldChild);
+ }
+};
+
+$$.NodeList = {"": "Interceptor;",
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot assign element of immutable List."));
+ },
+ get$iterator: function(receiver) {
+ return $.FixedSizeListIterator$(receiver);
+ },
+ forEach$1: function(receiver, f) {
+ var t1;
+ for (t1 = this.get$iterator(receiver); t1.moveNext$0();)
+ f.call$1(t1.get$current());
+ return;
+ },
+ toList$1$growable: function(receiver, growable) {
+ return $.List_List$from(receiver, growable);
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ get$isEmpty: function(receiver) {
+ return this.get$length(receiver) === 0;
+ },
+ skip$1: function(receiver, n) {
+ return $.SubListIterable$(receiver, n, null);
+ },
+ elementAt$1: function(receiver, index) {
+ return receiver[index];
+ },
+ add$1: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ addAll$1: function(receiver, iterable) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ set$length: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot resize immutable List."));
+ },
+ removeLast$0: function(receiver) {
+ throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List."));
+ },
+ sublist$2: function(receiver, start, end) {
+ if (end == null)
+ end = this.get$length(receiver);
+ return $.Lists_getRange(receiver, start, end, []);
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ toString$0: function(receiver) {
+ var buffer = $.StringBuffer$("[");
+ buffer.writeAll$2(receiver, ", ");
+ buffer.write$1("]");
+ return buffer.toString$0(buffer);
+ },
+ $isList: function() {
+ return true;
+ },
+ $asList: function() {
+ return function () { return [$.Node]; };
+ },
+ $isIterable: function() {
+ return true;
+ },
+ $asIterable: function() {
+ return function () { return [$.Node]; };
+ },
+ $isJavaScriptIndexingBehavior: function() {
+ return true;
+ },
+ $asJavaScriptIndexingBehavior: function() {
+ return null;
+ }
+};
+
+$$.Notation = {"": "Node;"};
+
+$$.OListElement = {"": "Element;"};
+
+$$.ObjectElement = {"": "Element;height=,name=,width="};
+
+$$.OptGroupElement = {"": "Element;"};
+
+$$.OptionElement = {"": "Element;value="};
+
+$$.OutputElement = {"": "Element;name=,value="};
+
+$$.OverflowEvent = {"": "Event;"};
+
+$$.PageTransitionEvent = {"": "Event;"};
+
+$$.ParagraphElement = {"": "Element;"};
+
+$$.ParamElement = {"": "Element;name=,value="};
+
+$$.PopStateEvent = {"": "Event;"};
+
+$$.PositionError = {"": "Interceptor;"};
+
+$$.PreElement = {"": "Element;"};
+
+$$.ProcessingInstruction = {"": "Node;"};
+
+$$.ProgressElement = {"": "Element;value="};
+
+$$.ProgressEvent = {"": "Event;",
+ total$0: function($receiver) {
+ return this.total.call$0();
+ }
+};
+
+$$.QuoteElement = {"": "Element;"};
+
+$$.RadioNodeList = {"": "NodeList;"};
+
+$$.RangeException = {"": "Interceptor;name=",
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+};
+
+$$.RtcDataChannelEvent = {"": "Event;"};
+
+$$.RtcDtmfToneChangeEvent = {"": "Event;"};
+
+$$.RtcIceCandidateEvent = {"": "Event;"};
+
+$$.ScriptElement = {"": "Element;"};
+
+$$.SecurityPolicyViolationEvent = {"": "Event;"};
+
+$$.SelectElement = {"": "Element;length%,name=,value="};
+
+$$.ShadowElement = {"": "Element;"};
+
+$$.ShadowRoot = {"": "DocumentFragment;"};
+
+$$.SourceElement = {"": "Element;"};
+
+$$.SpanElement = {"": "Element;"};
+
+$$.SpeechInputEvent = {"": "Event;"};
+
+$$.SpeechRecognitionError = {"": "Event;"};
+
+$$.SpeechRecognitionEvent = {"": "Event;"};
+
+$$.StorageEvent = {"": "Event;"};
+
+$$.StyleElement = {"": "Element;"};
+
+$$.TableCaptionElement = {"": "Element;"};
+
+$$.TableCellElement = {"": "Element;"};
+
+$$.TableColElement = {"": "Element;"};
+
+$$.TableElement = {"": "Element;"};
+
+$$.TableRowElement = {"": "Element;"};
+
+$$.TableSectionElement = {"": "Element;"};
+
+$$.TemplateElement = {"": "Element;"};
+
+$$.Text = {"": "CharacterData;"};
+
+$$.TextAreaElement = {"": "Element;name=,value="};
+
+$$.TextEvent = {"": "UIEvent;"};
+
+$$.TitleElement = {"": "Element;"};
+
+$$.TouchEvent = {"": "UIEvent;"};
+
+$$.TrackElement = {"": "Element;"};
+
+$$.TrackEvent = {"": "Event;"};
+
+$$.TransitionEvent = {"": "Event;"};
+
+$$.UIEvent = {"": "Event;"};
+
+$$.UListElement = {"": "Element;"};
+
+$$.Uint8Array = {"": "ArrayBufferView;",
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ receiver[index] = value;
+ },
+ get$iterator: function(receiver) {
+ return $.FixedSizeListIterator$(receiver);
+ },
+ forEach$1: function(receiver, f) {
+ var t1;
+ for (t1 = this.get$iterator(receiver); t1.moveNext$0();)
+ f.call$1(t1.get$current());
+ return;
+ },
+ toList$1$growable: function(receiver, growable) {
+ return $.List_List$from(receiver, growable);
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ get$isEmpty: function(receiver) {
+ return this.get$length(receiver) === 0;
+ },
+ skip$1: function(receiver, n) {
+ return $.SubListIterable$(receiver, n, null);
+ },
+ elementAt$1: function(receiver, index) {
+ return this.$index(receiver, index);
+ },
+ add$1: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ addAll$1: function(receiver, iterable) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ set$length: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot resize immutable List."));
+ },
+ removeLast$0: function(receiver) {
+ throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List."));
+ },
+ sublist$2: function(receiver, start, end) {
+ if (end == null)
+ end = this.get$length(receiver);
+ return $.Lists_getRange(receiver, start, end, []);
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ toString$0: function(receiver) {
+ var buffer = $.StringBuffer$("[");
+ buffer.writeAll$2(receiver, ", ");
+ buffer.write$1("]");
+ return buffer.toString$0(buffer);
+ },
+ $isList: function() {
+ return true;
+ },
+ $asList: function() {
+ return function () { return [$.$int]; };
+ },
+ $isIterable: function() {
+ return true;
+ },
+ $asIterable: function() {
+ return function () { return [$.$int]; };
+ },
+ $isJavaScriptIndexingBehavior: function() {
+ return true;
+ },
+ $asJavaScriptIndexingBehavior: function() {
+ return null;
+ }
+};
+
+$$.Uint8ClampedArray = {"": "Uint8Array;",
+ $index: function(receiver, index) {
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ receiver[index] = value;
+ },
+ get$iterator: function(receiver) {
+ return $.FixedSizeListIterator$(receiver);
+ },
+ forEach$1: function(receiver, f) {
+ var t1;
+ for (t1 = this.get$iterator(receiver); t1.moveNext$0();)
+ f.call$1(t1.get$current());
+ return;
+ },
+ toList$1$growable: function(receiver, growable) {
+ return $.List_List$from(receiver, growable);
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ get$isEmpty: function(receiver) {
+ return this.get$length(receiver) === 0;
+ },
+ skip$1: function(receiver, n) {
+ return $.SubListIterable$(receiver, n, null);
+ },
+ elementAt$1: function(receiver, index) {
+ return receiver[index];
+ },
+ add$1: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ addAll$1: function(receiver, iterable) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ set$length: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot resize immutable List."));
+ },
+ removeLast$0: function(receiver) {
+ throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List."));
+ },
+ sublist$2: function(receiver, start, end) {
+ if (end == null)
+ end = this.get$length(receiver);
+ return $.Lists_getRange(receiver, start, end, []);
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ toString$0: function(receiver) {
+ var buffer = $.StringBuffer$("[");
+ buffer.writeAll$2(receiver, ", ");
+ buffer.write$1("]");
+ return buffer.toString$0(buffer);
+ },
+ $isList: function() {
+ return true;
+ },
+ $asList: function() {
+ return function () { return [$.$int]; };
+ },
+ $isIterable: function() {
+ return true;
+ },
+ $asIterable: function() {
+ return function () { return [$.$int]; };
+ },
+ $isJavaScriptIndexingBehavior: function() {
+ return true;
+ },
+ $asJavaScriptIndexingBehavior: function() {
+ return null;
+ }
+};
+
+$$.UnknownElement = {"": "Element;"};
+
+$$.VideoElement = {"": "MediaElement;height=,width="};
+
+$$.WheelEvent = {"": "MouseEvent;"};
+
+$$.Window = {"": "EventTarget;name=,navigator=",
+ $$dom_addEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ },
+ $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture);
+ },
+ get$onClick: function(receiver) {
+ return $.EventStreamProvider_click.forTarget$1(receiver);
+ }
+};
+
+$$.XPathException = {"": "Interceptor;name=",
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+};
+
+$$._NamedNodeMap = {"": "Interceptor;",
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot assign element of immutable List."));
+ },
+ get$iterator: function(receiver) {
+ return $.FixedSizeListIterator$(receiver);
+ },
+ forEach$1: function(receiver, f) {
+ var t1;
+ for (t1 = this.get$iterator(receiver); t1.moveNext$0();)
+ f.call$1(t1.get$current());
+ return;
+ },
+ toList$1$growable: function(receiver, growable) {
+ return $.List_List$from(receiver, growable);
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ get$isEmpty: function(receiver) {
+ return this.get$length(receiver) === 0;
+ },
+ skip$1: function(receiver, n) {
+ return $.SubListIterable$(receiver, n, null);
+ },
+ elementAt$1: function(receiver, index) {
+ return receiver[index];
+ },
+ add$1: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ addAll$1: function(receiver, iterable) {
+ throw $.wrapException($.UnsupportedError$("Cannot add to immutable List."));
+ },
+ set$length: function(receiver, value) {
+ throw $.wrapException($.UnsupportedError$("Cannot resize immutable List."));
+ },
+ removeLast$0: function(receiver) {
+ throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List."));
+ },
+ sublist$2: function(receiver, start, end) {
+ if (end == null)
+ end = this.get$length(receiver);
+ return $.Lists_getRange(receiver, start, end, []);
+ },
+ sublist$1: function($receiver, start) {
+ return this.sublist$2($receiver, start, null);
+ },
+ toString$0: function(receiver) {
+ var buffer = $.StringBuffer$("[");
+ buffer.writeAll$2(receiver, ", ");
+ buffer.write$1("]");
+ return buffer.toString$0(buffer);
+ },
+ $isList: function() {
+ return true;
+ },
+ $asList: function() {
+ return function () { return [$.Node]; };
+ },
+ $isIterable: function() {
+ return true;
+ },
+ $asIterable: function() {
+ return function () { return [$.Node]; };
+ },
+ $isJavaScriptIndexingBehavior: function() {
+ return true;
+ },
+ $asJavaScriptIndexingBehavior: function() {
+ return null;
+ }
+};
+
+$$._WebKitTransitionEvent = {"": "Event;"};
+
+$$.VersionChangeEvent = {"": "Event;"};
+
+$$.AElement = {"": "StyledElement;"};
+
+$$.AltGlyphElement = {"": "TextPositioningElement;"};
+
+$$.AnimateElement = {"": "AnimationElement;"};
+
+$$.AnimateMotionElement = {"": "AnimationElement;"};
+
+$$.AnimateTransformElement = {"": "AnimationElement;"};
+
+$$.AnimatedLength = {"": "Interceptor;"};
+
+$$.AnimatedNumberList = {"": "Interceptor;"};
+
+$$.AnimationElement = {"": "SvgElement;"};
+
+$$.CircleElement = {"": "StyledElement;"};
+
+$$.ClipPathElement = {"": "StyledElement;"};
+
+$$.DefsElement = {"": "StyledElement;"};
+
+$$.DescElement = {"": "StyledElement;"};
+
+$$.EllipseElement = {"": "StyledElement;"};
+
+$$.FEBlendElement = {"": "StyledElement;height=,width="};
+
+$$.FEColorMatrixElement = {"": "StyledElement;height=,width="};
+
+$$.FEComponentTransferElement = {"": "StyledElement;height=,width="};
+
+$$.FECompositeElement = {"": "StyledElement;height=,width="};
+
+$$.FEConvolveMatrixElement = {"": "StyledElement;height=,width="};
+
+$$.FEDiffuseLightingElement = {"": "StyledElement;height=,width="};
+
+$$.FEDisplacementMapElement = {"": "StyledElement;height=,width="};
+
+$$.FEDistantLightElement = {"": "SvgElement;"};
+
+$$.FEFloodElement = {"": "StyledElement;height=,width="};
+
+$$.FEFuncAElement = {"": "_SVGComponentTransferFunctionElement;"};
+
+$$.FEFuncBElement = {"": "_SVGComponentTransferFunctionElement;"};
+
+$$.FEFuncGElement = {"": "_SVGComponentTransferFunctionElement;"};
+
+$$.FEFuncRElement = {"": "_SVGComponentTransferFunctionElement;"};
+
+$$.FEGaussianBlurElement = {"": "StyledElement;height=,width="};
+
+$$.FEImageElement = {"": "StyledElement;height=,width="};
+
+$$.FEMergeElement = {"": "StyledElement;height=,width="};
+
+$$.FEMergeNodeElement = {"": "SvgElement;"};
+
+$$.FEMorphologyElement = {"": "StyledElement;height=,width="};
+
+$$.FEOffsetElement = {"": "StyledElement;height=,width="};
+
+$$.FEPointLightElement = {"": "SvgElement;"};
+
+$$.FESpecularLightingElement = {"": "StyledElement;height=,width="};
+
+$$.FESpotLightElement = {"": "SvgElement;"};
+
+$$.FETileElement = {"": "StyledElement;height=,width="};
+
+$$.FETurbulenceElement = {"": "StyledElement;height=,width="};
+
+$$.FilterElement = {"": "StyledElement;height=,width="};
+
+$$.ForeignObjectElement = {"": "StyledElement;height=,width="};
+
+$$.GElement = {"": "StyledElement;"};
+
+$$.ImageElement0 = {"": "StyledElement;height=,width="};
+
+$$.LineElement = {"": "StyledElement;"};
+
+$$.LinearGradientElement = {"": "_GradientElement;"};
+
+$$.MarkerElement = {"": "StyledElement;"};
+
+$$.MaskElement = {"": "StyledElement;height=,width="};
+
+$$.MetadataElement = {"": "SvgElement;"};
+
+$$.PathElement = {"": "StyledElement;"};
+
+$$.PatternElement = {"": "StyledElement;height=,width="};
+
+$$.PolygonElement = {"": "StyledElement;"};
+
+$$.PolylineElement = {"": "StyledElement;"};
+
+$$.RadialGradientElement = {"": "_GradientElement;"};
+
+$$.RectElement = {"": "StyledElement;height=,width="};
+
+$$.ScriptElement0 = {"": "SvgElement;"};
+
+$$.SetElement = {"": "AnimationElement;"};
+
+$$.StopElement = {"": "StyledElement;"};
+
+$$.StyleElement0 = {"": "SvgElement;"};
+
+$$.StyledElement = {"": "SvgElement;"};
+
+$$.SvgDocument = {"": "Document;"};
+
+$$.SvgElement = {"": "Element;",
+ get$classes: function(receiver) {
+ if (receiver._cssClassSet == null)
+ receiver._cssClassSet = $._AttributeClassSet$(receiver);
+ return receiver._cssClassSet;
+ },
+ get$children: function(receiver) {
+ return $.FilteredElementList$(receiver);
+ },
+ get$$$dom_children: function(receiver) {
+ throw $.wrapException($.UnsupportedError$("Cannot get dom_children on SVG."));
+ },
+ get$id: function(receiver) {
+ return receiver.id;
+ },
+ set$id: function(receiver, value) {
+ receiver.id = value;
+ }
+};
+
+$$.SvgException = {"": "Interceptor;name=",
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+};
+
+$$.SvgSvgElement = {"": "StyledElement;height=,width="};
+
+$$.SwitchElement = {"": "StyledElement;"};
+
+$$.SymbolElement = {"": "StyledElement;"};
+
+$$.TSpanElement = {"": "TextPositioningElement;"};
+
+$$.TextContentElement = {"": "StyledElement;"};
+
+$$.TextElement = {"": "TextPositioningElement;"};
+
+$$.TextPathElement = {"": "TextContentElement;"};
+
+$$.TextPositioningElement = {"": "TextContentElement;"};
+
+$$.TitleElement0 = {"": "StyledElement;"};
+
+$$.UseElement = {"": "StyledElement;height=,width="};
+
+$$.ViewElement = {"": "SvgElement;"};
+
+$$.ZoomEvent = {"": "UIEvent;"};
+
+$$._GradientElement = {"": "StyledElement;"};
+
+$$._SVGComponentTransferFunctionElement = {"": "SvgElement;"};
+
+$$.AudioProcessingEvent = {"": "Event;"};
+
+$$.OfflineAudioCompletionEvent = {"": "Event;"};
+
+$$.ContextEvent = {"": "Event;"};
+
+$$.SqlError = {"": "Interceptor;"};
+
+$$.SqlException = {"": "Interceptor;"};
+
+$$.Closure = {"": "Object;",
+ toString$0: function(_) {
+ return "Closure";
+ }
+};
+
+// Bound closures
+$$.BoundClosure$1 = {"": "Closure;self,target",
+ call$1: function(p0) {
+ return this.self[this.target](p0);
+ }
+};
+
+$$.BoundClosure$0 = {"": "Closure;self,target",
+ call$0: function() {
+ return this.self[this.target]();
+ }
+};
+
+$$.BoundClosure$i0 = {"": "Closure;self,target,receiver",
+ call$0: function() {
+ return this.self[this.target](this.receiver);
+ }
+};
+
+Isolate.$finishClasses($$, $, null);
+$$ = null;
+
+$.Arrays_copy = function(src, srcStart, dst, dstStart, count) {
+ var i, j, t1, t2, t3;
+ if (typeof src !== "string" && (typeof src !== "object" || src === null || src.constructor !== Array && !$.getInterceptor(src).$isJavaScriptIndexingBehavior()))
+ return $.Arrays_copy$bailout(1, src, srcStart, dst, dstStart, count);
+ if (typeof dst !== "object" || dst === null || (dst.constructor !== Array || !!dst.immutable$list) && !$.getInterceptor(dst).$isJavaScriptIndexingBehavior())
+ return $.Arrays_copy$bailout(1, src, srcStart, dst, dstStart, count);
+ if (typeof dstStart !== "number")
+ return $.Arrays_copy$bailout(1, src, srcStart, dst, 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 !== (i | 0))
+ throw $.iae(i);
+ if (i < 0 || i >= t1)
+ throw $.ioore(i);
+ t3 = src[i];
+ if (j !== (j | 0))
+ throw $.iae(j);
+ if (j < 0 || j >= t2)
+ throw $.ioore(j);
+ dst[j] = t3;
+ }
+ else
+ for (t1 = src.length, t2 = dst.length, j = dstStart, i = srcStart; i < srcStart + count; ++i, ++j) {
+ if (i !== (i | 0))
+ throw $.iae(i);
+ if (i < 0 || i >= t1)
+ throw $.ioore(i);
+ t3 = src[i];
+ if (j !== (j | 0))
+ throw $.iae(j);
+ if (j < 0 || j >= t2)
+ throw $.ioore(j);
+ dst[j] = t3;
+ }
+};
+
+$.Arrays_copy$bailout = function(state0, src, srcStart, dst, dstStart, count) {
+ var i, j, t1;
+ if ($.JSNumber_methods.$lt(srcStart, dstStart))
+ for (i = srcStart + count - 1, j = $.$sub$n($.$add$ns(dstStart, count), 1), t1 = $.getInterceptor$asx(src); i >= srcStart; --i, j = $.$sub$n(j, 1))
+ $.JSArray_methods.$indexSet(dst, j, t1.$index(src, i));
+ else
+ for (t1 = $.getInterceptor$asx(src), j = dstStart, i = srcStart; i < srcStart + count; ++i, j = $.$add$ns(j, 1))
+ $.JSArray_methods.$indexSet(dst, j, t1.$index(src, i));
+};
+
+$.SubListIterable$ = function(_iterable, _start, _endOrLength) {
+ return new $.SubListIterable(_iterable, _start, _endOrLength);
+};
+
+$.ListIterator$ = function(iterable) {
+ return new $.ListIterator(iterable, $.get$length$asx(iterable), 0, null);
+};
+
+$.MappedIterable$ = function(_iterable, _f) {
+ return new $.MappedIterable(_iterable, _f);
+};
+
+$.MappedIterator$ = function(_iterator, _f) {
+ return new $.MappedIterator(null, _iterator, _f);
+};
+
+$.WhereIterable$ = function(_iterable, _f) {
+ return new $.WhereIterable(_iterable, _f);
+};
+
+$.WhereIterator$ = function(_iterator, _f) {
+ return new $.WhereIterator(_iterator, _f);
+};
+
+$.SkipIterable$ = function(_iterable, _skipCount) {
+ var t1 = new $.SkipIterable(_iterable, _skipCount);
+ t1.SkipIterable$2(_iterable, _skipCount);
+ return t1;
+};
+
+$.SkipIterator$ = function(_iterator, _skipCount) {
+ var t1 = new $.SkipIterator(_iterator, _skipCount);
+ t1.SkipIterator$2(_iterator, _skipCount);
+ return t1;
+};
+
+$.IterableMixinWorkaround__rangeCheck = function(list, start, end) {
+ var t1 = $.getInterceptor$n(start);
+ if (t1.$lt(start, 0) || t1.$gt(start, list.length))
+ throw $.wrapException($.RangeError$range(start, 0, list.length));
+ t1 = $.getInterceptor$n(end);
+ if (t1.$lt(end, start) || t1.$gt(end, list.length))
+ throw $.wrapException($.RangeError$range(end, start, list.length));
+};
+
+$.IterableMixinWorkaround_setRangeList = function(list, start, end, from, skipCount) {
+ var $length, otherStart, otherList;
+ $.IterableMixinWorkaround__rangeCheck(list, start, end);
+ $length = $.$sub$n(end, start);
+ if ($.$eq($length, 0))
+ return;
+ if (skipCount < 0)
+ throw $.wrapException($.ArgumentError$(skipCount));
+ if (typeof from === "object" && from !== null && (from.constructor === Array || $.getInterceptor(from).$isList())) {
+ otherStart = skipCount;
+ otherList = from;
+ } else {
+ otherList = $.toList$1$growable$ax($.skip$1$ax(from, skipCount), false);
+ otherStart = 0;
+ }
+ if (typeof $length !== "number")
+ throw $.iae($length);
+ if ($.JSNumber_methods.$gt(otherStart + $length, $.get$length$asx(otherList)))
+ throw $.wrapException($.StateError$("Not enough elements"));
+ $.Arrays_copy(otherList, otherStart, list, start, $length);
+};
+
+$.ToString__emitValue = function(i, result, visiting) {
+ var t1, isList, t2, first, t3;
+ t1 = $.getInterceptor$ax(visiting);
+ t1.add$1(visiting, i);
+ isList = typeof i === "object" && i !== null && (i.constructor === Array || $.getInterceptor(i).$isList());
+ result.write$1(isList ? "[" : "{");
+ for (t2 = $.get$iterator$ax(i), first = true; t2.moveNext$0() === true; first = false) {
+ t3 = t2.get$current();
+ if (!first)
+ result.write$1(", ");
+ $.ToString__emitObject(t3, result, visiting);
+ }
+ result.write$1(isList ? "]" : "}");
+ t1.removeLast$0(visiting);
+};
+
+$.ToString__emitObject = function(o, result, visiting) {
+ if (typeof o === "object" && o !== null && (o.constructor === Array || $.getInterceptor(o).$isIterable()))
+ if ($.ToString__containsRef(visiting, o))
+ result.write$1(typeof o === "object" && o !== null && (o.constructor === Array || $.getInterceptor(o).$isList()) ? "[...]" : "{...}");
+ else
+ $.ToString__emitValue(o, result, visiting);
+ else if (typeof o === "object" && o !== null && !!$.getInterceptor(o).$isMap)
+ if ($.ToString__containsRef(visiting, o))
+ result.write$1("{...}");
+ else
+ $.ToString__emitPair(o, result, visiting);
+ else
+ result.write$1(o);
+};
+
+$.ToString__containsRef = function(i, ref) {
+ var t1;
+ for (t1 = $.get$iterator$ax(i); t1.moveNext$0() === true;)
+ if (t1.get$current() === ref)
+ return true;
+ return false;
+};
+
+$.ToString__emitPair = function(m, result, visiting) {
+ var t1, t2;
+ t1 = {};
+ t2 = $.getInterceptor$ax(visiting);
+ t2.add$1(visiting, m);
+ result.write$1("{");
+ t1.first_0 = true;
+ m.forEach$1(m, new $.ToString__emitPair_anon(t1, result, visiting));
+ result.write$1("}");
+ t2.removeLast$0(visiting);
+};
+
+$.HashMap__findBucketIndex = function(bucket, key) {
+ var $length, i;
+ if (bucket == null)
+ return -1;
+ $length = bucket.length;
+ for (i = 0; i < $length; i += 2)
+ if ($.$eq(bucket[i], key) === true)
+ return i;
+ return -1;
+};
+
+$.HashMapKeyIterable$ = function(_map) {
+ return new $.HashMapKeyIterable(_map);
+};
+
+$.HashMapKeyIterator$ = function(_map, _keys) {
+ return new $.HashMapKeyIterator(_map, _keys, 0, null);
+};
+
+$.LinkedHashMap__findBucketIndex = function(bucket, key) {
+ var $length, i;
+ if (bucket == null)
+ return -1;
+ $length = bucket.length;
+ for (i = 0; i < $length; ++i)
+ if ($.$eq(bucket[i].get$_key(), key) === true)
+ return i;
+ return -1;
+};
+
+$.LinkedHashMapCell$ = function(_key, _value) {
+ return new $.LinkedHashMapCell(_key, _value, null, null);
+};
+
+$.LinkedHashMapKeyIterable$ = function(_map) {
+ return new $.LinkedHashMapKeyIterable(_map);
+};
+
+$.LinkedHashMapKeyIterator$ = function(_map, _modifications) {
+ var t1 = new $.LinkedHashMapKeyIterator(_map, _modifications, null, null);
+ t1.LinkedHashMapKeyIterator$2(_map, _modifications);
+ return t1;
+};
+
+$.LinkedHashSet__findBucketIndex = function(bucket, element) {
+ var $length, i;
+ if (bucket == null)
+ return -1;
+ $length = bucket.length;
+ for (i = 0; i < $length; ++i)
+ if ($.$eq(bucket[i].get$_element(), element) === true)
+ return i;
+ return -1;
+};
+
+$.LinkedHashSetCell$ = function(_element) {
+ return new $.LinkedHashSetCell(_element, null, null);
+};
+
+$.LinkedHashSetIterator$ = function(_set, _modifications) {
+ var t1 = new $.LinkedHashSetIterator(_set, _modifications, null, null);
+ t1.LinkedHashSetIterator$2(_set, _modifications);
+ return t1;
+};
+
+$.Function__toMangledNames = function(namedArguments) {
+ var result;
+ if (namedArguments == null)
+ return;
+ result = $.makeLiteralMap([]);
+ $.JSNull_methods.forEach$1(namedArguments, new $.Function__toMangledNames_anon(result));
+ return result;
+};
+
+$.getDispatchProperty = function(object) {
+ return object[$.dispatchPropertyName];
+};
+
+$.setDispatchProperty = function(object, value) {
+ object[$.dispatchPropertyName] = value;
+};
+
+$.getNativeInterceptor = function(object) {
+ var record, proto, objectProto;
+ record = $.getDispatchProperty(object);
+ 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 = $.lookupDispatchRecord(object);
+ $.setDispatchProperty(Object.getPrototypeOf(object), record);
+ return $.getNativeInterceptor(object);
+};
+
+$.JsIsolateSink$fromPort = function(_port) {
+ return new $.JsIsolateSink(false, _port);
+};
+
+$._callInIsolate = function(isolate, $function) {
+ var result = isolate.eval$1($function);
+ $globalState.topEventLoop.run$0();
+ return result;
+};
+
+$._currentIsolate = function() {
+ return $globalState.currentContext;
+};
+
+$.startRootIsolate = function(entry) {
+ var t1, rootContext;
+ t1 = $._Manager$();
+ $._globalState0(t1);
+ if ($globalState.isWorker === true)
+ return;
+ rootContext = $._IsolateContext$();
+ $globalState.rootContext = rootContext;
+ $globalState.currentContext = rootContext;
+ rootContext.eval$1(entry);
+ $globalState.topEventLoop.run$0();
+};
+
+$._globalState = function() {
+ return $globalState;
+};
+
+$._globalState0 = function(val) {
+ $globalState = val;
+};
+
+$._Manager$ = function() {
+ var t1 = new $._Manager(0, 0, 1, null, null, null, null, null, null, null, null, null);
+ t1._Manager$0();
+ return t1;
+};
+
+$._IsolateContext$ = function() {
+ var t1 = new $._IsolateContext(null, null, null);
+ t1._IsolateContext$0();
+ return t1;
+};
+
+$._EventLoop$ = function() {
+ return new $._EventLoop($.Queue_Queue(), 0);
+};
+
+$._IsolateEvent$ = function(isolate, fn, message) {
+ return new $._IsolateEvent(isolate, fn, message);
+};
+
+$._MainManagerStub$ = function() {
+ return new $._MainManagerStub();
+};
+
+$.IsolateNatives_computeThisScript = function() {
+ var currentScript, stack, matches;
+ currentScript = $.$currentScript;
+ if (currentScript != null)
+ return String(currentScript.src);
+ stack = new Error().stack;
+ if (stack == null)
+ stack = (function() {try { throw new Error() } catch(e) { return e.stack }})();
+ 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 $.wrapException($.UnsupportedError$("Cannot extract URI from \"" + $.S(stack) + "\""));
+};
+
+$.IsolateNatives_computeGlobalThis = function() {
+ return function() { return this; }();
+};
+
+$.IsolateNatives__processWorkerMessage = function(sender, e) {
+ var msg, t1, entryPoint, replyTo, context, t2;
+ msg = $._deserializeMessage(e.data);
+ t1 = $.getInterceptor$asx(msg);
+ switch (t1.$index(msg, "command")) {
+ case "start":
+ $globalState.currentManagerId = t1.$index(msg, "id");
+ entryPoint = $[t1.$index(msg, "functionName")];
+ replyTo = $._deserializeMessage(t1.$index(msg, "replyTo"));
+ context = $._IsolateContext$();
+ $globalState.topEventLoop.enqueue$3(context, new $.IsolateNatives__processWorkerMessage_anon(entryPoint, replyTo), "worker-start");
+ $globalState.currentContext = context;
+ $globalState.topEventLoop.run$0();
+ break;
+ case "spawn-worker":
+ $.IsolateNatives__spawnWorker(t1.$index(msg, "functionName"), t1.$index(msg, "uri"), t1.$index(msg, "replyPort"));
+ break;
+ case "message":
+ if (t1.$index(msg, "port") != null)
+ $.send$2$x(t1.$index(msg, "port"), t1.$index(msg, "msg"), t1.$index(msg, "replyTo"));
+ $globalState.topEventLoop.run$0();
+ break;
+ case "close":
+ $.IsolateNatives__log("Closing Worker");
+ t1 = $globalState.managers;
+ t2 = $.getInterceptor$x(sender);
+ t1.remove$1(t1, t2.get$id(sender));
+ t2.terminate$0(sender);
+ $globalState.topEventLoop.run$0();
+ break;
+ case "log":
+ $.IsolateNatives__log(t1.$index(msg, "msg"));
+ break;
+ case "print":
+ if ($globalState.isWorker === true) {
+ t1 = $globalState.mainManager;
+ t1.postMessage$1(t1, $._serializeMessage($.makeLiteralMap(["command", "print", "msg", msg])));
+ } else
+ $.Primitives_printString($.toString$0(t1.$index(msg, "msg")));
+ break;
+ case "error":
+ throw $.wrapException(t1.$index(msg, "msg"));
+ }
+};
+
+$.IsolateNatives__log = function(msg) {
+ var trace, t1, exception;
+ if ($globalState.isWorker === true) {
+ t1 = $globalState.mainManager;
+ t1.postMessage$1(t1, $._serializeMessage($.makeLiteralMap(["command", "log", "msg", msg])));
+ } else
+ try {
+ $.get$globalThis().console.log(msg);
+ } catch (exception) {
+ $.unwrapException(exception);
+ trace = $.getTraceFromException(exception);
+ throw $.wrapException($._ExceptionImplementation$(trace));
+ }
+
+};
+
+$.IsolateNatives__spawnWorker = function(functionName, uri, replyPort) {
+ var worker, t1, t2, workerId;
+ if (functionName == null)
+ functionName = "main";
+ if (uri == null)
+ uri = $.get$IsolateNatives_thisScript();
+ worker = new Worker(uri);
+ t1 = $.getInterceptor$x(worker);
+ t1.set$onmessage(worker, function(e) { $.IsolateNatives__processWorkerMessage.call$2(worker, e); });
+ t2 = $globalState;
+ workerId = t2.nextManagerId;
+ t2.nextManagerId = workerId + 1;
+ t1.set$id(worker, workerId);
+ t2 = $globalState.managers;
+ t2.$indexSet(t2, workerId, worker);
+ t1.postMessage$1(worker, $._serializeMessage($.makeLiteralMap(["command", "start", "id", workerId, "replyTo", $._serializeMessage(replyPort), "functionName", functionName])));
+};
+
+$._NativeJsSendPort$ = function(_receivePort, isolateId) {
+ return new $._NativeJsSendPort(_receivePort, isolateId);
+};
+
+$._WorkerSendPort$ = function(_workerId, isolateId, _receivePortId) {
+ return new $._WorkerSendPort(_workerId, _receivePortId, isolateId);
+};
+
+$.ReceivePortImpl$ = function() {
+ var t1 = $.ReceivePortImpl__nextFreeId;
+ $.ReceivePortImpl__nextFreeId = $.$add$ns(t1, 1);
+ t1 = new $.ReceivePortImpl(t1, null);
+ t1.ReceivePortImpl$0();
+ return t1;
+};
+
+$._waitForPendingPorts = function(message, callback) {
+ var finder = $._PendingSendPortFinder$();
+ finder.traverse$1(message);
+ $._FutureImpl__FutureImpl$wait(finder.ports).then$1(new $._waitForPendingPorts_anon(callback));
+};
+
+$._PendingSendPortFinder$ = function() {
+ var t1 = new $._PendingSendPortFinder([], $._MessageTraverserVisitedMap$());
+ t1._PendingSendPortFinder$0();
+ return t1;
+};
+
+$._serializeMessage = function(message) {
+ if ($globalState.get$needSerialization() === true)
+ return $._JsSerializer$().traverse$1(message);
+ else
+ return $._JsCopier$().traverse$1(message);
+};
+
+$._deserializeMessage = function(message) {
+ if ($globalState.get$needSerialization() === true)
+ return $._JsDeserializer$().deserialize$1(message);
+ else
+ return message;
+};
+
+$._JsSerializer$ = function() {
+ var t1 = new $._JsSerializer(0, $._MessageTraverserVisitedMap$());
+ t1._JsSerializer$0();
+ return t1;
+};
+
+$._JsCopier$ = function() {
+ var t1 = new $._JsCopier($._MessageTraverserVisitedMap$());
+ t1._JsCopier$0();
+ return t1;
+};
+
+$._JsDeserializer$ = function() {
+ return new $._JsDeserializer(null);
+};
+
+$._JsVisitedMap$ = function() {
+ return new $._JsVisitedMap(null);
+};
+
+$._MessageTraverserVisitedMap$ = function() {
+ return new $._MessageTraverserVisitedMap();
+};
+
+$.TimerImpl$ = function(milliseconds, callback) {
+ var t1 = new $.TimerImpl(true, false, null);
+ t1.TimerImpl$2(milliseconds, callback);
+ return t1;
+};
+
+$.TimerImpl$periodic = function(milliseconds, callback) {
+ var t1 = new $.TimerImpl(false, false, null);
+ t1.TimerImpl$periodic$2(milliseconds, callback);
+ return t1;
+};
+
+$.hasTimer = function() {
+ return $.get$globalThis().setTimeout != null;
+};
+
+$.checkGrowable = function(list, reason) {
+ if (!!list.fixed$length)
+ throw $.wrapException($.UnsupportedError$(reason));
+};
+
+$.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 = $.toString$0(value);
+ if (typeof res !== "string")
+ throw $.wrapException($.ArgumentError$(value));
+ return res;
+};
+
+$.Primitives_objectHashCode = function(object) {
+ var hash = object.$identityHash;
+ if (hash == null) {
+ hash = $.$add$ns($.Primitives_hashCodeSeed, 1);
+ $.Primitives_hashCodeSeed = hash;
+ object.$identityHash = hash;
+ }
+ return hash;
+};
+
+$.Primitives_printString = function(string) {
+ if (typeof dartPrint == "function") {
+ dartPrint(string);
+ return;
+ }
+ if (typeof window == "object") {
+ if (typeof console == "object")
+ console.log(string);
+ return;
+ }
+ if (typeof print == "function") {
+ print(string);
+ return;
+ }
+ throw "Unable to print message: " + String(string);
+};
+
+$.Primitives_objectTypeName = function(object) {
+ var $name, decompiled, t1;
+ $name = $.constructorNameFallback(object);
+ if ($.$eq($name, "Object") === true) {
+ decompiled = String(object.constructor).match(/^\s*function\s*(\S*)\s*\(/)[1];
+ if (typeof decompiled === "string")
+ $name = decompiled;
+ }
+ t1 = $.getInterceptor$s($name);
+ return t1.codeUnitAt$1($name, 0) === 36 ? t1.substring$1($name, 1) : $name;
+};
+
+$.Primitives_getProperty = function(object, key) {
+ if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string")
+ throw $.wrapException($.ArgumentError$(object));
+ return object[key];
+};
+
+$.Primitives_setProperty = function(object, key, value) {
+ if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string")
+ throw $.wrapException($.ArgumentError$(object));
+ object[key] = value;
+};
+
+$.Primitives_applyFunction = function($function, positionalArguments, namedArguments) {
+ var buffer, $arguments, argumentCount, listOfNamedArguments, selectorName, jsFunction;
+ buffer = $.StringBuffer$("");
+ $arguments = [];
+ argumentCount = 0 + positionalArguments.length;
+ $.JSArray_methods.addAll$1($arguments, positionalArguments);
+ if (namedArguments != null && !namedArguments.get$isEmpty(namedArguments)) {
+ listOfNamedArguments = $.List_List$from(namedArguments.get$keys(), true);
+ argumentCount += namedArguments.get$length(namedArguments);
+ listOfNamedArguments.sort();
+ $.forEach$1$ax(listOfNamedArguments, new $.Primitives_applyFunction_anon(namedArguments, buffer, $arguments));
+ }
+ selectorName = "call$" + $.S(argumentCount) + $.S(buffer);
+ jsFunction = $function[selectorName];
+ if (jsFunction == null)
+ throw $.wrapException($.NoSuchMethodError$($function, selectorName, $arguments, $.makeLiteralMap([]), null));
+ return jsFunction.apply($function, $arguments);
+};
+
+$.iae = function(argument) {
+ throw $.wrapException($.ArgumentError$(argument));
+};
+
+$.ioore = function(index) {
+ throw $.wrapException($.RangeError$value(index));
+};
+
+$.wrapException = function(ex) {
+ var wrapper;
+ if (ex == null)
+ ex = $.C_NullThrownError;
+ wrapper = $.DartError$(ex);
+ if (!!Error.captureStackTrace)
+ Error.captureStackTrace(wrapper, $.wrapException);
+ else
+ wrapper.stack = new Error().stack;
+ return wrapper;
+};
+
+$.throwExpression = function(ex) {
+ throw $.wrapException(ex);
+};
+
+$.DartError$ = function(dartException) {
+ var t1 = new $.DartError();
+ t1.DartError$1(dartException);
+ return t1;
+};
+
+$.DartError_toStringWrapper = function() {
+ return $.toString$0(this);
+};
+
+$.unwrapException = function(ex) {
+ var message, type, $name, t1, ieErrorCode, ieFacilityNumber, t2;
+ if ("dartException" in ex)
+ return ex.dartException;
+ message = ex.message;
+ if (ex instanceof TypeError) {
+ type = ex.type;
+ $name = ex.arguments ? ex.arguments[0] : "";
+ if (message.indexOf("JSNull") === -1) {
+ t1 = $.getInterceptor(type);
+ t1 = t1.$eq(type, "property_not_function") === true || t1.$eq(type, "called_non_callable") === true || t1.$eq(type, "non_object_property_call") === true || t1.$eq(type, "non_object_property_load") === true;
+ } else
+ t1 = true;
+ if (t1)
+ return $.NoSuchMethodError$(null, $name, [], $.makeLiteralMap([]), null);
+ else if ($.$eq(type, "undefined_method") === true)
+ return $.NoSuchMethodError$("", $name, [], $.makeLiteralMap([]), null);
+ ieErrorCode = ex.number & 0xffff;
+ ieFacilityNumber = ex.number >> 16 & 0x1FFF;
+ t1 = typeof message === "string";
+ if (t1)
+ if (message === "null has no properties" || message === "'null' is not an object" || message === "'undefined' is not an object" || $.JSString_methods.endsWith$1(message, "is null") || $.JSString_methods.endsWith$1(message, "is undefined") || $.JSString_methods.endsWith$1(message, "is null or undefined") || $.JSString_methods.endsWith$1(message, "of undefined") || $.JSString_methods.endsWith$1(message, "of null"))
+ return $.NoSuchMethodError$(null, "<unknown>", [], $.makeLiteralMap([]), null);
+ else {
+ if (message.indexOf(" has no method ") === -1)
+ if (message.indexOf(" is not a function") === -1)
+ t2 = ieErrorCode === 438 && ieFacilityNumber === 10;
+ else
+ t2 = true;
+ else
+ t2 = true;
+ if (t2)
+ return $.NoSuchMethodError$("", "<unknown>", [], $.makeLiteralMap([]), null);
+ }
+ t1 = t1 ? message : "";
+ return $._ExceptionImplementation$(t1);
+ }
+ if (ex instanceof RangeError) {
+ if (typeof message === "string" && message.indexOf("call stack") !== -1)
+ return $.StackOverflowError$();
+ return $.ArgumentError$(null);
+ }
+ if (typeof InternalError == "function" && ex instanceof InternalError)
+ if (typeof message === "string" && message === "too much recursion")
+ return $.StackOverflowError$();
+ return ex;
+};
+
+$.getTraceFromException = function(exception) {
+ return $._StackTrace$(exception.stack);
+};
+
+$._StackTrace$ = function(_stack) {
+ return new $._StackTrace(_stack);
+};
+
+$.makeLiteralMap = function(keyValuePairs) {
+ var iterator, result, key;
+ iterator = $.JSArray_methods.get$iterator(keyValuePairs);
+ result = $.LinkedHashMap$();
+ for (; iterator.moveNext$0();) {
+ key = iterator.get$current();
+ iterator.moveNext$0();
+ result.$indexSet(result, key, iterator.get$current());
+ }
+ return result;
+};
+
+$.invokeClosure = function(closure, isolate, numberOfArguments, arg1, arg2) {
+ var t1 = $.getInterceptor(numberOfArguments);
+ if (t1.$eq(numberOfArguments, 0) === true)
+ return $._callInIsolate(isolate, new $.invokeClosure_anon(closure));
+ else if (t1.$eq(numberOfArguments, 1) === true)
+ return $._callInIsolate(isolate, new $.invokeClosure_anon0(closure, arg1));
+ else if (t1.$eq(numberOfArguments, 2) === true)
+ return $._callInIsolate(isolate, new $.invokeClosure_anon1(closure, arg1, arg2));
+ else
+ throw $.wrapException($._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) }})($._currentIsolate(), $.invokeClosure.call$5);
+ closure.$identity = $function;
+ return $function;
+};
+
+$.throwCyclicInit = function(staticName) {
+ throw $.wrapException($.RuntimeError$("Cyclic initialization for static " + $.S(staticName)));
+};
+
+$._convertJsonToDart = function(json, reviver) {
+ var revive = reviver == null ? new $._convertJsonToDart_anon() : reviver;
+ return revive.call$2("", new $._convertJsonToDart_walk(revive).call$1(json));
+};
+
+$.typeNameInChrome = function(obj) {
+ return $.typeNameInWebKitCommon(obj.constructor.name);
+};
+
+$.typeNameInSafari = function(obj) {
+ return $.typeNameInWebKitCommon($.constructorNameFallback(obj));
+};
+
+$.typeNameInWebKitCommon = function(tag) {
+ var $name = tag;
+ if ($name === "Window")
+ return "DOMWindow";
+ if ($name === "CanvasPixelArray")
+ return "Uint8ClampedArray";
+ if ($name === "WebKitMutationObserver")
+ return "MutationObserver";
+ if ($name === "AudioChannelMerger")
+ return "ChannelMergerNode";
+ if ($name === "AudioChannelSplitter")
+ return "ChannelSplitterNode";
+ if ($name === "AudioGainNode")
+ return "GainNode";
+ if ($name === "AudioPannerNode")
+ return "PannerNode";
+ if ($name === "JavaScriptAudioNode")
+ return "ScriptProcessorNode";
+ if ($name === "Oscillator")
+ return "OscillatorNode";
+ if ($name === "RealtimeAnalyserNode")
+ return "AnalyserNode";
+ if ($name === "IDBVersionChangeRequest")
+ return "IDBOpenDBRequest";
+ return $name;
+};
+
+$.typeNameInOpera = function(obj) {
+ var $name = $.constructorNameFallback(obj);
+ if ($name === "Window")
+ return "DOMWindow";
+ if ($name === "ApplicationCache")
+ return "DOMApplicationCache";
+ return $name;
+};
+
+$.typeNameInFirefox = function(obj) {
+ var $name = $.constructorNameFallback(obj);
+ if ($name === "Window")
+ return "DOMWindow";
+ if ($name === "BeforeUnloadEvent")
+ return "Event";
+ if ($name === "CSS2Properties")
+ return "CSSStyleDeclaration";
+ if ($name === "DataTransfer")
+ return "Clipboard";
+ if ($name === "DragEvent")
+ return "MouseEvent";
+ if ($name === "GeoGeolocation")
+ return "Geolocation";
+ if ($name === "MouseScrollEvent")
+ return "WheelEvent";
+ if ($name === "OfflineResourceList")
+ return "DOMApplicationCache";
+ if ($name === "WorkerMessageEvent")
+ return "MessageEvent";
+ if ($name === "XMLDocument")
+ return "Document";
+ return $name;
+};
+
+$.typeNameInIE = function(obj) {
+ var $name = $.constructorNameFallback(obj);
+ if ($name === "Window")
+ return "DOMWindow";
+ if ($name === "Document") {
+ if (!!obj.xmlVersion)
+ return "Document";
+ return "HTMLDocument";
+ }
+ if ($name === "ApplicationCache")
+ return "DOMApplicationCache";
+ if ($name === "BeforeUnloadEvent")
+ return "Event";
+ if ($name === "CanvasPixelArray")
+ return "Uint8ClampedArray";
+ if ($name === "DataTransfer")
+ return "Clipboard";
+ if ($name === "DragEvent")
+ return "MouseEvent";
+ if ($name === "HTMLDDElement")
+ return "HTMLElement";
+ if ($name === "HTMLDTElement")
+ return "HTMLElement";
+ if ($name === "HTMLTableDataCellElement")
+ return "HTMLTableCellElement";
+ if ($name === "HTMLTableHeaderCellElement")
+ return "HTMLTableCellElement";
+ if ($name === "HTMLPhraseElement")
+ return "HTMLElement";
+ if ($name === "MSStyleCSSProperties")
+ return "CSSStyleDeclaration";
+ if ($name === "MouseWheelEvent")
+ return "WheelEvent";
+ 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.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() {
+ if (typeof navigator !== "object")
+ return $.typeNameInChrome;
+ var userAgent = navigator.userAgent;
+ if (userAgent.indexOf("Chrome") !== -1 || userAgent.indexOf("DumpRenderTree") !== -1)
+ return $.typeNameInChrome;
+ else if (userAgent.indexOf("Firefox") !== -1)
+ return $.typeNameInFirefox;
+ else if (userAgent.indexOf("MSIE") !== -1)
+ return $.typeNameInIE;
+ else if (userAgent.indexOf("Opera") !== -1)
+ return $.typeNameInOpera;
+ else if (userAgent.indexOf("AppleWebKit") !== -1)
+ return $.typeNameInSafari;
+ else
+ return $.constructorNameFallback;
+};
+
+$.toStringForNativeObject = function(obj) {
+ if ($._getTypeNameOf == null)
+ $._getTypeNameOf = $.getFunctionForTypeNameOf();
+ return "Instance of " + $._getTypeNameOf.call$1(obj);
+};
+
+$.hashCodeForNativeObject = function(object) {
+ return $.Primitives_objectHashCode(object);
+};
+
+$.defineProperty = function(obj, property, value) {
+ Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
+};
+
+$.defineNativeMethods = function(tags, interceptorClass) {
+ $.defineNativeMethodsCommon(tags, interceptorClass, true);
+};
+
+$.defineNativeMethodsNonleaf = function(tags, interceptorClass) {
+ $.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() {
+};
+
+$.lookupDispatchRecord = function(obj) {
+ var hasOwnPropertyFunction, tag, map, interceptor, secondTag;
+ hasOwnPropertyFunction = Object.prototype.hasOwnProperty;
+ if ($._getTypeNameOf == null)
+ $._getTypeNameOf = $.getFunctionForTypeNameOf();
+ tag = $._getTypeNameOf.call$1(obj);
+ map = $.interceptorsByTag;
+ interceptor = hasOwnPropertyFunction.call(map, tag) ? map[tag] : null;
+ if (interceptor == null) {
+ secondTag = $.alternateTag(obj, tag);
+ if (secondTag != null) {
+ map = $.interceptorsByTag;
+ interceptor = hasOwnPropertyFunction.call(map, secondTag) ? map[secondTag] : null;
+ }
+ }
+ if (interceptor == null)
+ interceptor = {__what: "interceptor not found", __tag: tag};
+ if (true === $.leafTags[tag])
+ return {i: interceptor, p: false, e: null};
+ else
+ return {i: interceptor, p: Object.getPrototypeOf(obj), e: null};
+};
+
+$.StringMatch$ = function(start, str, pattern) {
+ return new $.StringMatch(start, str, pattern);
+};
+
+$.allMatchesInStringUnchecked = function(needle, haystack) {
+ var result, $length, patternLength, startIndex, position, endIndex;
+ result = $.List_List($);
+ $length = haystack.length;
+ patternLength = needle.length;
+ for (startIndex = 0; true;) {
+ position = $.JSString_methods.indexOf$2(haystack, needle, startIndex);
+ if (position === -1)
+ break;
+ result.push($.StringMatch$(position, haystack, needle));
+ endIndex = position + patternLength;
+ if (endIndex === $length)
+ break;
+ else
+ startIndex = position === endIndex ? startIndex + 1 : endIndex;
+ }
+ return result;
+};
+
+$.stringContainsUnchecked = function(receiver, other, startIndex) {
+ if (typeof other === "string")
+ return $.JSString_methods.indexOf$2(receiver, other, startIndex) !== -1;
+ else if (typeof other === "object" && other !== null && !!$.getInterceptor(other).$isJSSyntaxRegExp)
+ return other.hasMatch$1($.JSString_methods.substring$1(receiver, startIndex));
+ else
+ return $.get$iterator$ax($.allMatches$1$s(other, $.JSString_methods.substring$1(receiver, startIndex))).moveNext$0();
+};
+
+$.stringReplaceAllUnchecked = function(receiver, from, to) {
+ var result, $length, i;
+ if (from === "")
+ if (receiver === "")
+ return to;
+ else {
+ result = $.StringBuffer$("");
+ $length = receiver.length;
+ result.write$1(to);
+ for (i = 0; i < $length; ++i) {
+ result.write$1(receiver[i]);
+ result.write$1(to);
+ }
+ return result.toString$0(result);
+ }
+ else
+ return receiver.replace(new RegExp(from.replace(new RegExp("[-[\\]{}()*+?.,\\\\^$|#\\s]", 'g'), "\\$&"), 'g'), to.replace("$", "$$$$"));
+};
+
+$._attachStackTrace = function(o, st) {
+ if (o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string")
+ return;
+ $.$indexSet$ax($.get$_stackTraceExpando(), o, st);
+};
+
+$.getAttachedStackTrace = function(o) {
+ if (o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string")
+ return;
+ return $.$index$asx($.get$_stackTraceExpando(), o);
+};
+
+$._asyncRunCallback = function() {
+ var callbacks, i, callback, remainingCallbacks, newCallbacks, exception;
+ for (; $.get$isEmpty$asx($.get$_asyncCallbacks()) !== true;) {
+ callbacks = $.get$_asyncCallbacks();
+ $._asyncCallbacks = [];
+ for (i = 0; $.$lt$n(i, $.get$length$asx(callbacks)); i = $.$add$ns(i, 1)) {
+ callback = $.$index$asx(callbacks, i);
+ $.$indexSet$ax(callbacks, i, null);
+ try {
+ callback.call$0();
+ } catch (exception) {
+ $.unwrapException(exception);
+ i = $.$add$ns(i, 1);
+ remainingCallbacks = $.sublist$1$ax(callbacks, i);
+ newCallbacks = $.get$_asyncCallbacks();
+ $._asyncCallbacks = [];
+ $.addAll$1$ax($.get$_asyncCallbacks(), remainingCallbacks);
+ $.addAll$1$ax($.get$_asyncCallbacks(), newCallbacks);
+ $.Timer_run($._asyncRunCallback);
+ throw exception;
+ }
+
+ }
+ }
+ $._callbacksAreEnqueued = false;
+};
+
+$._CompleterImpl$ = function() {
+ return new $._CompleterImpl($._FutureImpl$(), false);
+};
+
+$._FutureListenerWrapper$ = function(future) {
+ return new $._FutureListenerWrapper(future, null);
+};
+
+$._FutureImpl$ = function() {
+ return new $._FutureImpl(0, null);
+};
+
+$._FutureImpl$immediate = function(value) {
+ var t1 = new $._FutureImpl(0, null);
+ t1._FutureImpl$immediate$1(value);
+ return t1;
+};
+
+$._FutureImpl__FutureImpl$wait = function(futures) {
+ var t1, t2, t3, t4, pos;
+ t1 = {};
+ t1.completer_0 = null;
+ t1.values_1 = null;
+ t2 = new $._FutureImpl__FutureImpl$wait_handleError(t1);
+ t1.remaining_2 = 0;
+ for (t3 = $.JSArray_methods.get$iterator(futures); t3.moveNext$0();) {
+ t4 = t3.get$current();
+ pos = t1.remaining_2;
+ t1.remaining_2 = $.$add$ns(pos, 1);
+ t4.catchError$1(t2).then$1(new $._FutureImpl__FutureImpl$wait_anon(t1, pos));
+ }
+ if ($.$eq(t1.remaining_2, 0))
+ return $._FutureImpl$immediate($.List_empty);
+ t1.values_1 = $.List_List(t1.remaining_2);
+ t1.completer_0 = $._CompleterImpl$();
+ return t1.completer_0.future;
+};
+
+$._ThenFuture$ = function(_onValue) {
+ return new $._ThenFuture(_onValue, null, 0, null);
+};
+
+$._CatchErrorFuture$ = function(_onError, _test) {
+ return new $._CatchErrorFuture(_test, _onError, null, 0, null);
+};
+
+$._SubscribeFuture$ = function(onValue, _onError) {
+ return new $._SubscribeFuture(_onError, onValue, null, 0, null);
+};
+
+$._FutureWrapper$ = function(_future) {
+ return new $._FutureWrapper(_future);
+};
+
+$._throwDelayed = function(error, stackTrace) {
+ var t1 = new $._throwDelayed_anon(error, stackTrace);
+ $.add$1$ax($.get$_asyncCallbacks(), t1);
+ if ($._callbacksAreEnqueued !== true) {
+ $.Timer_run($._asyncRunCallback);
+ $._callbacksAreEnqueued = true;
+ }
+};
+
+$._nullDataHandler = function(value) {
+};
+
+$._nullErrorHandler = function(error) {
+ $._throwDelayed(error, null);
+};
+
+$._nullDoneHandler = function() {
+};
+
+$._asyncError = function(error, stackTrace) {
+ if (stackTrace == null)
+ return error;
+ if ($.getAttachedStackTrace(error) != null)
+ return error;
+ $._attachStackTrace(error, stackTrace);
+ return error;
+};
+
+$._ForwardingStreamSubscription$ = function(_stream, onData, onError, onDone, _cancelOnError) {
+ var t1 = new $._ForwardingStreamSubscription(_stream, _cancelOnError, null, onData, onError, onDone);
+ t1._BaseStreamSubscription$3(onData, onError, onDone);
+ t1._ForwardingStreamSubscription$5(_stream, onData, onError, onDone, _cancelOnError);
+ return t1;
+};
+
+$._SkipStream$ = function(source, count) {
+ var t1 = new $._SkipStream(count, source);
+ t1._SkipStream$2(source, count);
+ return t1;
+};
+
+$.Timer_run = function(callback) {
+ var t1, milliseconds;
+ $.add$1$ax($.get$Timer__runCallbacks(), callback);
+ if ($.$eq($.get$length$asx($.get$Timer__runCallbacks()), 1) === true) {
+ t1 = new $.Timer_run_anon();
+ milliseconds = $.Duration_0.get$inMilliseconds();
+ if (milliseconds < 0)
+ milliseconds = 0;
+ $.TimerImpl$(milliseconds, t1);
+ }
+};
+
+$.HashMap$ = function() {
+ return new $.HashMap(0, null, null, null, null);
+};
+
+$.LinkedHashMap$ = function() {
+ return new $.LinkedHashMap(0, null, null, null, null, null, 0);
+};
+
+$.LinkedHashSet$ = function() {
+ return new $.LinkedHashSet(0, null, null, null, null, null, 0);
+};
+
+$.Queue_Queue = function() {
+ return $.ListQueue$(null);
+};
+
+$.ListQueue$ = function(initialCapacity) {
+ var t1 = new $.ListQueue(null, 0, 0, 0);
+ t1.ListQueue$1(initialCapacity);
+ return t1;
+};
+
+$.ListQueue__isPowerOf2 = function(number) {
+ return $.JSNull_methods.$and(number, $.JSNull_methods.$sub(number, 1)) === 0;
+};
+
+$.ListQueue__nextPowerOf2 = function(number) {
+ var nextNumber;
+ number = $.$shl$n(number, 2) - 1;
+ for (; true; number = nextNumber) {
+ nextNumber = (number & number - 1) >>> 0;
+ if (nextNumber === 0)
+ return number;
+ }
+};
+
+$._ListQueueIterator$ = function(queue) {
+ return new $._ListQueueIterator(queue, queue._tail, queue._modificationCount, queue._head, null);
+};
+
+$.Duration$ = function(days, hours, microseconds, milliseconds, minutes, seconds) {
+ if (typeof microseconds !== "number")
+ throw $.iae(microseconds);
+ return new $.Duration(days * 86400000000 + hours * 3600000000 + minutes * 60000000 + seconds * 1000000 + milliseconds * 1000 + microseconds);
+};
+
+$.Error_safeToString = function(object) {
+ if (typeof object === "number" && Math.floor(object) === object || typeof object === "number" || typeof object === "boolean" || null == object)
+ return $.toString$0(object);
+ if (typeof object === "string")
+ return "\"" + $.JSString_methods.replaceAll$2($.JSString_methods.replaceAll$2($.JSString_methods.replaceAll$2($.JSString_methods.replaceAll$2(object, "\\", "\\\\"), "\n", "\\n"), "\r", "\\r"), "\"", "\\\"") + "\"";
+ return "Instance of '" + $.S($.Primitives_objectTypeName(object)) + "'";
+};
+
+$.ArgumentError$ = function(message) {
+ return new $.ArgumentError(message);
+};
+
+$.RangeError$value = function(value) {
+ return new $.RangeError("value " + $.S(value));
+};
+
+$.RangeError$range = function(value, start, end) {
+ return new $.RangeError("value " + $.S(value) + " not in range " + $.S(start) + ".." + $.S(end));
+};
+
+$.NoSuchMethodError$ = function(_receiver, _memberName, _arguments, _namedArguments, existingArgumentNames) {
+ return new $.NoSuchMethodError(_receiver, _memberName, _arguments, _namedArguments, existingArgumentNames);
+};
+
+$.UnsupportedError$ = function(message) {
+ return new $.UnsupportedError(message);
+};
+
+$.UnimplementedError$ = function(message) {
+ return new $.UnimplementedError(message);
+};
+
+$.StateError$ = function(message) {
+ return new $.StateError(message);
+};
+
+$.ConcurrentModificationError$ = function(modifiedObject) {
+ return new $.ConcurrentModificationError(modifiedObject);
+};
+
+$.StackOverflowError$ = function() {
+ return new $.StackOverflowError();
+};
+
+$.RuntimeError$ = function(message) {
+ return new $.RuntimeError(message);
+};
+
+$._ExceptionImplementation$ = function(message) {
+ return new $._ExceptionImplementation(message);
+};
+
+$.FormatException$ = function(message) {
+ return new $.FormatException(message);
+};
+
+$.IntegerDivisionByZeroException$ = function() {
+ return new $.IntegerDivisionByZeroException();
+};
+
+$.Expando$ = function($name) {
+ return new $.Expando($name);
+};
+
+$.List_List = function($length) {
+ var t1, result;
+ t1 = $ === $length;
+ if (t1)
+ $length = null;
+ if (t1)
+ return new Array(0);
+ if (typeof $length !== "number" || Math.floor($length) !== $length || $length < 0)
+ throw $.wrapException($.ArgumentError$("Length must be a positive integer: " + $.S($length) + "."));
+ result = new Array($length);
+ result.fixed$length = true;
+ return result;
+};
+
+$.List_List$from = function(other, growable) {
+ var list, t1, $length, fixedList, i;
+ list = $.List_List($);
+ for (t1 = $.get$iterator$ax(other); t1.moveNext$0() === true;)
+ list.push(t1.get$current());
+ if (growable === true)
+ return list;
+ $length = list.length;
+ fixedList = $.List_List($length);
+ for (t1 = list.length, i = 0; i < $length; ++i) {
+ if (i >= t1)
+ throw $.ioore(i);
+ fixedList[i] = list[i];
+ }
+ return fixedList;
+};
+
+$.Map_Map = function() {
+ return $.HashMap$();
+};
+
+$.Object$ = function() {
+ return new $.Object();
+};
+
+$.StringBuffer$ = function($content) {
+ var t1 = new $.StringBuffer("");
+ t1.StringBuffer$1($content);
+ return t1;
+};
+
+$.window = function() {
+ return window;
+};
+
+$._ChildrenElementList$_wrap = function(element) {
+ return new $._ChildrenElementList(element, $.get$$$dom_children$x(element));
+};
+
+$._FrozenElementList$_wrap = function(_nodeList) {
+ return new $._FrozenElementList(_nodeList);
+};
+
+$._ElementCssClassSet$ = function(_element) {
+ return new $._ElementCssClassSet(_element);
+};
+
+$.HttpRequest_getString = function(url, onProgress, withCredentials) {
+ return $.HttpRequest_request(url, null, onProgress, null, null, withCredentials).then$1(new $.HttpRequest_getString_anon());
+};
+
+$.HttpRequest_request = function(url, method, onProgress, responseType, sendData, withCredentials) {
+ var completer, xhr, t1;
+ completer = $._CompleterImpl$();
+ xhr = new XMLHttpRequest();
+ if (method == null)
+ method = "GET";
+ t1 = $.getInterceptor$x(xhr);
+ t1.open$3$async(xhr, method, url, true);
+ if (withCredentials != null)
+ xhr.withCredentials = withCredentials;
+ if (responseType != null)
+ xhr.responseType = responseType;
+ if (onProgress != null)
+ t1.get$onProgress(xhr).listen$1(onProgress);
+ t1.get$onLoad(xhr).listen$1(new $.HttpRequest_request_anon(completer, xhr));
+ t1.get$onError(xhr).listen$1(new $.HttpRequest_request_anon0(completer));
+ if (sendData != null)
+ xhr.send(sendData);
+ else
+ xhr.send();
+ return completer.future;
+};
+
+$._ChildNodeListLazy$ = function(_this) {
+ return new $._ChildNodeListLazy(_this);
+};
+
+$._ElementAttributeMap$ = function(element) {
+ return new $._ElementAttributeMap(element);
+};
+
+$._EventStream$ = function(_target, _eventType, _useCapture) {
+ return new $._EventStream(_target, _eventType, _useCapture);
+};
+
+$._EventStreamSubscription$ = function(_target, _eventType, _onData, _useCapture) {
+ var t1 = new $._EventStreamSubscription(0, _target, _eventType, _onData, _useCapture);
+ t1._EventStreamSubscription$4(_target, _eventType, _onData, _useCapture);
+ return t1;
+};
+
+$.FixedSizeListIterator$ = function(array) {
+ return new $.FixedSizeListIterator(array, $.get$length$asx(array), -1, null);
+};
+
+$.convertDartToNative_Dictionary = function(dict) {
+ var object;
+ if (dict == null)
+ return;
+ object = {};
+ dict.forEach$1(dict, new $.convertDartToNative_Dictionary_anon(object));
+ return object;
+};
+
+$.Device_userAgent = function() {
+ return $.get$navigator$x($.window()).userAgent;
+};
+
+$.Device_isOpera = function() {
+ if ($.Device__isOpera == null)
+ $.Device__isOpera = $.contains$2$asx($.Device_userAgent(), "Opera", 0);
+ return $.Device__isOpera;
+};
+
+$.Device_isWebKit = function() {
+ if ($.Device__isWebKit == null)
+ $.Device__isWebKit = $.Device_isOpera() !== true && $.contains$2$asx($.Device_userAgent(), "WebKit", 0) === true;
+ return $.Device__isWebKit;
+};
+
+$.FilteredElementList$ = function(node) {
+ return new $.FilteredElementList(node, $.get$nodes$x(node));
+};
+
+$.Lists_getRange = function(a, start, end, accumulator) {
+ var i;
+ if (typeof a !== "string" && (typeof a !== "object" || a === null || a.constructor !== Array && !$.getInterceptor(a).$isJavaScriptIndexingBehavior()))
+ return $.Lists_getRange$bailout(1, a, start, end, accumulator);
+ if (typeof start !== "number")
+ return $.Lists_getRange$bailout(1, a, start, end, accumulator);
+ if (typeof end !== "number")
+ return $.Lists_getRange$bailout(1, a, start, end, accumulator);
+ if (start < 0)
+ throw $.wrapException($.RangeError$value(start));
+ if (end < start)
+ throw $.wrapException($.RangeError$value(end));
+ if (end > a.length)
+ throw $.wrapException($.RangeError$value(end));
+ for (i = start; i < end; ++i) {
+ if (i !== (i | 0))
+ throw $.iae(i);
+ if (i < 0 || i >= a.length)
+ throw $.ioore(i);
+ accumulator.push(a[i]);
+ }
+ return accumulator;
+};
+
+$.Lists_getRange$bailout = function(state0, a, start, end, accumulator) {
+ var t1, t2, i;
+ if ($.$lt$n(start, 0))
+ throw $.wrapException($.RangeError$value(start));
+ t1 = $.getInterceptor$n(end);
+ if (t1.$lt(end, start))
+ throw $.wrapException($.RangeError$value(end));
+ t2 = $.getInterceptor$asx(a);
+ if (t1.$gt(end, t2.get$length(a)))
+ throw $.wrapException($.RangeError$value(end));
+ for (i = start; t1 = $.getInterceptor$n(i), t1.$lt(i, end); i = t1.$add(i, 1))
+ accumulator.push(t2.$index(a, i));
+ return accumulator;
+};
+
+$.ReceivePort_ReceivePort = function() {
+ return $.ReceivePortImpl$();
+};
+
+$._Isolate_port = function() {
+ if ($.lazyPort == null)
+ $.lazyPort = $.ReceivePort_ReceivePort();
+ return $.lazyPort;
+};
+
+$.parse = function(json, reviver) {
+ var parsed, e, t1, exception;
+ t1 = json;
+ if (typeof t1 !== "string")
+ throw $.wrapException($.ArgumentError$(json));
+ parsed = null;
+ try {
+ parsed = JSON.parse(json);
+ } catch (exception) {
+ t1 = $.unwrapException(exception);
+ e = t1;
+ throw $.wrapException($.FormatException$(String(e)));
+ }
+
+ return $._convertJsonToDart(parsed, reviver);
+};
+
+$._AttributeClassSet$ = function(_element) {
+ return new $._AttributeClassSet(_element);
+};
+
+$.BarGraph$ = function(_canvas, _elements) {
+ var t1 = new $.BarGraph(_canvas, null, _elements, 0);
+ t1.BarGraph$2(_canvas, _elements);
+ return t1;
+};
+
+$.GraphModel$ = function(_maxSize) {
+ return new $.GraphModel($.List_List($), _maxSize, []);
+};
+
+$.Element$ = function($name, color) {
+ return new $.Element0($name, color);
+};
+
+$.Sample$ = function(_segments) {
+ return new $.Sample(_segments);
+};
+
+$.IsolateList$ = function(_isolateTable) {
+ return new $.IsolateList(_isolateTable);
+};
+
+$.ModelListener$ = function(_onUpdate, _onFailure) {
+ return new $.ModelListener(_onUpdate, _onFailure);
+};
+
+$.IsolateListModel$ = function() {
+ return new $.IsolateListModel([], []);
+};
+
+$.Isolate$ = function(raw) {
+ var t1 = $.getInterceptor$asx(raw);
+ return new $.Isolate(t1.$index(raw, "handle"), t1.$index(raw, "name"), t1.$index(raw, "port"), t1.$index(raw, "starttime"), t1.$index(raw, "stacklimit"), $.Space$(t1.$index(raw, "newspace")), $.Space$(t1.$index(raw, "oldspace")));
+};
+
+$.Space$ = function(raw) {
+ var t1 = $.getInterceptor$asx(raw);
+ return new $.Space(t1.$index(raw, "used"), t1.$index(raw, "capacity"));
+};
+
+$.main = function() {
+ var t1, milliseconds;
+ document.querySelector("#dashboard");
+ $._graph = $.BarGraph$(document.querySelector("#graph"), [$.Element$("Old Space", "#97FFFF"), $.Element$("New Space", "#00EE76")]);
+ $._isolateList = $.IsolateList$(document.querySelector("#isolateList"));
+ $._statusText = document.querySelector("#statusText");
+ $._isolates = $.IsolateListModel$();
+ $._isolates.addListener$2($.onUpdateStatus, $.onRequestFailed);
+ $._isolates.update$0();
+ t1 = new $.main_anon();
+ milliseconds = $.Duration_3000000.get$inMilliseconds();
+ if (milliseconds < 0)
+ milliseconds = 0;
+ $._updater = $.TimerImpl$periodic(milliseconds, t1);
+};
+
+$.onUpdateStatus = function(model) {
+ var t1 = {};
+ t1.oldSpace_0 = 0;
+ t1.newSpace_1 = 0;
+ $.forEach$1$ax(model, new $.onUpdateStatus_anon(t1));
+ $._graph.addSample$1([t1.oldSpace_0, t1.newSpace_1]);
+ $._isolateList.updateList$1(model);
+ $.set$text$x($._statusText, "Running ...");
+};
+
+$.onRequestFailed = function() {
+ $._updater.cancel$0();
+ $._isolates.removeListener$1($.onUpdateStatus);
+ $.set$text$x($._statusText, "Server closed");
+};
+
+$.IsolateNatives__processWorkerMessage.call$2 = $.IsolateNatives__processWorkerMessage;
+$.IsolateNatives__processWorkerMessage.$name = "IsolateNatives__processWorkerMessage";
+$.wrapException.call$1 = $.wrapException;
+$.wrapException.$name = "wrapException";
+$.DartError_toStringWrapper.call$0 = $.DartError_toStringWrapper;
+$.DartError_toStringWrapper.$name = "DartError_toStringWrapper";
+$.invokeClosure.call$5 = $.invokeClosure;
+$.invokeClosure.$name = "invokeClosure";
+$.typeNameInChrome.call$1 = $.typeNameInChrome;
+$.typeNameInChrome.$name = "typeNameInChrome";
+$.typeNameInSafari.call$1 = $.typeNameInSafari;
+$.typeNameInSafari.$name = "typeNameInSafari";
+$.typeNameInOpera.call$1 = $.typeNameInOpera;
+$.typeNameInOpera.$name = "typeNameInOpera";
+$.typeNameInFirefox.call$1 = $.typeNameInFirefox;
+$.typeNameInFirefox.$name = "typeNameInFirefox";
+$.typeNameInIE.call$1 = $.typeNameInIE;
+$.typeNameInIE.$name = "typeNameInIE";
+$.constructorNameFallback.call$1 = $.constructorNameFallback;
+$.constructorNameFallback.$name = "constructorNameFallback";
+$._asyncRunCallback.call$0 = $._asyncRunCallback;
+$._asyncRunCallback.$name = "_asyncRunCallback";
+$._nullDataHandler.call$1 = $._nullDataHandler;
+$._nullDataHandler.$name = "_nullDataHandler";
+$._nullErrorHandler.call$1 = $._nullErrorHandler;
+$._nullErrorHandler.$name = "_nullErrorHandler";
+$._nullDoneHandler.call$0 = $._nullDoneHandler;
+$._nullDoneHandler.$name = "_nullDoneHandler";
+$.onUpdateStatus.call$1 = $.onUpdateStatus;
+$.onUpdateStatus.$name = "onUpdateStatus";
+$.onRequestFailed.call$0 = $.onRequestFailed;
+$.onRequestFailed.$name = "onRequestFailed";
+$.String = {builtin$cls: "String"};
+$.ReceivePort = {builtin$cls: "ReceivePort"};
+$.$int = {builtin$cls: "int"};
+$.bool = {builtin$cls: "bool"};
+$._ManagerStub = {builtin$cls: "_ManagerStub"};
+$.List = {builtin$cls: "List"};
+$.num = {builtin$cls: "num"};
+$.Match = {builtin$cls: "Match"};
+$.C_NullThrownError = new $.NullThrownError();
+Isolate.makeConstantList = function(list) {
+ list.immutable$list = true;
+ list.fixed$length = true;
+ return list;
+};
+$.List_empty = Isolate.makeConstantList([]);
+$.JSDouble_methods = $.JSDouble.prototype;
+$.EventStreamProvider_click = new $.EventStreamProvider("click");
+$.JSNull_methods = $.JSNull.prototype;
+$.JSNumber_methods = $.JSNumber.prototype;
+$.JSString_methods = $.JSString.prototype;
+$.EventStreamProvider_progress = new $.EventStreamProvider("progress");
+$.JSArray_methods = $.JSArray.prototype;
+$.EventStreamProvider_error = new $.EventStreamProvider("error");
+$.C_CloseToken = new $.CloseToken();
+$.EventStreamProvider_load = new $.EventStreamProvider("load");
+$.JSInt_methods = $.JSInt.prototype;
+$.Duration_0 = new $.Duration(0);
+$.Duration_3000000 = new $.Duration(3000000);
+$.Expando__keyCount = 0;
+$.dispatchPropertyName = "_zzyzx";
+$.lazyPort = null;
+$.ReceivePortImpl__nextFreeId = 1;
+$.Primitives_hashCodeSeed = 0;
+$._getTypeNameOf = null;
+$.interceptorsByTag = null;
+$.leafTags = null;
+$._callbacksAreEnqueued = false;
+$.Device__isOpera = null;
+$.Device__isWebKit = null;
+$._graph = null;
+$._isolateList = null;
+$._statusText = null;
+$._isolates = null;
+$._updater = null;
+$.$$dom_addEventListener$3$x = function(receiver, a0, a1, a2) {
+ return $.getInterceptor$x(receiver).$$dom_addEventListener$3(receiver, a0, a1, a2);
+};
+$.$$dom_removeEventListener$3$x = function(receiver, a0, a1, a2) {
+ return $.getInterceptor$x(receiver).$$dom_removeEventListener$3(receiver, a0, a1, a2);
+};
+$.$$dom_replaceChild$2$x = function(receiver, a0, a1) {
+ return $.getInterceptor$x(receiver).$$dom_replaceChild$2(receiver, a0, a1);
+};
+$.$add$ns = function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver + a0;
+ return $.getInterceptor$ns(receiver).$add(receiver, a0);
+};
+$.$and$n = function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return (receiver & a0) >>> 0;
+ return $.getInterceptor$n(receiver).$and(receiver, a0);
+};
+$.$div$n = function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver / a0;
+ return $.getInterceptor$n(receiver).$div(receiver, a0);
+};
+$.$eq = function(receiver, a0) {
+ if (receiver == null)
+ return a0 == null;
+ if (typeof receiver != "object")
+ return a0 != null && receiver === a0;
+ return $.getInterceptor(receiver).$eq(receiver, a0);
+};
+$.$ge$n = function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver >= a0;
+ return $.getInterceptor$n(receiver).$ge(receiver, a0);
+};
+$.$gt$n = function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver > a0;
+ return $.getInterceptor$n(receiver).$gt(receiver, a0);
+};
+$.$index$asx = function(receiver, a0) {
+ if (receiver.constructor == Array || typeof receiver == "string")
+ if (a0 >>> 0 === a0 && a0 < receiver.length)
+ return receiver[a0];
+ return $.getInterceptor$asx(receiver).$index(receiver, a0);
+};
+$.$indexSet$ax = function(receiver, a0, a1) {
+ if (receiver.constructor == Array && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length)
+ return receiver[a0] = a1;
+ return $.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
+};
+$.$lt$n = function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver < a0;
+ return $.getInterceptor$n(receiver).$lt(receiver, a0);
+};
+$.$mul$n = function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver * a0;
+ return $.getInterceptor$n(receiver).$mul(receiver, a0);
+};
+$.$shl$n = function(receiver, a0) {
+ return $.getInterceptor$n(receiver).$shl(receiver, a0);
+};
+$.$sub$n = function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver - a0;
+ return $.getInterceptor$n(receiver).$sub(receiver, a0);
+};
+$.$tdiv$n = function(receiver, a0) {
+ return $.getInterceptor$n(receiver).$tdiv(receiver, a0);
+};
+$.abs$0$n = function(receiver) {
+ return $.getInterceptor$n(receiver).abs$0(receiver);
+};
+$.add$1$ax = function(receiver, a0) {
+ return $.getInterceptor$ax(receiver).add$1(receiver, a0);
+};
+$.addAll$1$ax = function(receiver, a0) {
+ return $.getInterceptor$ax(receiver).addAll$1(receiver, a0);
+};
+$.allMatches$1$s = function(receiver, a0) {
+ return $.getInterceptor$s(receiver).allMatches$1(receiver, a0);
+};
+$.ceil$0$n = function(receiver) {
+ return $.getInterceptor$n(receiver).ceil$0(receiver);
+};
+$.contains$2$asx = function(receiver, a0, a1) {
+ return $.getInterceptor$asx(receiver).contains$2(receiver, a0, a1);
+};
+$.elementAt$1$ax = function(receiver, a0) {
+ return $.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
+};
+$.forEach$1$ax = function(receiver, a0) {
+ return $.getInterceptor$ax(receiver).forEach$1(receiver, a0);
+};
+$.get$$$dom_children$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$$$dom_children(receiver);
+};
+$.get$attributes$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$attributes(receiver);
+};
+$.get$children$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$children(receiver);
+};
+$.get$classes$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$classes(receiver);
+};
+$.get$color$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$color(receiver);
+};
+$.get$context2D$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$context2D(receiver);
+};
+$.get$hashCode$ = function(receiver) {
+ return $.getInterceptor(receiver).get$hashCode(receiver);
+};
+$.get$height$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$height(receiver);
+};
+$.get$id$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$id(receiver);
+};
+$.get$isEmpty$asx = function(receiver) {
+ return $.getInterceptor$asx(receiver).get$isEmpty(receiver);
+};
+$.get$iterator$ax = function(receiver) {
+ return $.getInterceptor$ax(receiver).get$iterator(receiver);
+};
+$.get$length$asx = function(receiver) {
+ return $.getInterceptor$asx(receiver).get$length(receiver);
+};
+$.get$name$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$name(receiver);
+};
+$.get$navigator$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$navigator(receiver);
+};
+$.get$nodes$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$nodes(receiver);
+};
+$.get$onClick$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$onClick(receiver);
+};
+$.get$responseText$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$responseText(receiver);
+};
+$.get$value$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$value(receiver);
+};
+$.get$width$x = function(receiver) {
+ return $.getInterceptor$x(receiver).get$width(receiver);
+};
+$.postMessage$1$x = function(receiver, a0) {
+ return $.getInterceptor$x(receiver).postMessage$1(receiver, a0);
+};
+$.register$2$x = function(receiver, a0, a1) {
+ return $.getInterceptor$x(receiver).register$2(receiver, a0, a1);
+};
+$.remove$0$ax = function(receiver) {
+ return $.getInterceptor$ax(receiver).remove$0(receiver);
+};
+$.replaceAll$2$s = function(receiver, a0, a1) {
+ return $.getInterceptor$s(receiver).replaceAll$2(receiver, a0, a1);
+};
+$.replaceWith$1$x = function(receiver, a0) {
+ return $.getInterceptor$x(receiver).replaceWith$1(receiver, a0);
+};
+$.send$1$x = function(receiver, a0) {
+ return $.getInterceptor$x(receiver).send$1(receiver, a0);
+};
+$.send$2$x = function(receiver, a0, a1) {
+ return $.getInterceptor$x(receiver).send$2(receiver, a0, a1);
+};
+$.set$$$dom_className$x = function(receiver, value) {
+ return $.getInterceptor$x(receiver).set$$$dom_className(receiver, value);
+};
+$.set$id$x = function(receiver, value) {
+ return $.getInterceptor$x(receiver).set$id(receiver, value);
+};
+$.set$length$asx = function(receiver, value) {
+ return $.getInterceptor$asx(receiver).set$length(receiver, value);
+};
+$.set$text$x = function(receiver, value) {
+ return $.getInterceptor$x(receiver).set$text(receiver, value);
+};
+$.skip$1$ax = function(receiver, a0) {
+ return $.getInterceptor$ax(receiver).skip$1(receiver, a0);
+};
+$.split$1$s = function(receiver, a0) {
+ return $.getInterceptor$s(receiver).split$1(receiver, a0);
+};
+$.sublist$1$ax = function(receiver, a0) {
+ return $.getInterceptor$ax(receiver).sublist$1(receiver, a0);
+};
+$.sublist$2$ax = function(receiver, a0, a1) {
+ return $.getInterceptor$ax(receiver).sublist$2(receiver, a0, a1);
+};
+$.toList$0$ax = function(receiver) {
+ return $.getInterceptor$ax(receiver).toList$0(receiver);
+};
+$.toList$1$growable$ax = function(receiver, a0) {
+ return $.getInterceptor$ax(receiver).toList$1$growable(receiver, a0);
+};
+$.toString$0 = function(receiver) {
+ return $.getInterceptor(receiver).toString$0(receiver);
+};
+$.trim$0$s = function(receiver) {
+ return $.getInterceptor$s(receiver).trim$0(receiver);
+};
+$.getInterceptor = function(receiver) {
+ if (typeof receiver == "number") {
+ if (Math.floor(receiver) == receiver)
+ return $.JSInt.prototype;
+ return $.JSDouble.prototype;
+ }
+ if (typeof receiver == "string")
+ return $.JSString.prototype;
+ if (receiver == null)
+ return $.JSNull.prototype;
+ if (typeof receiver == "function")
+ return $.JSFunction.prototype;
+ if (typeof receiver == "boolean")
+ return $.JSBool.prototype;
+ if (receiver.constructor == Array)
+ return $.JSArray.prototype;
+ if (typeof receiver != "object")
+ return receiver;
+ if (receiver instanceof $.Object)
+ return receiver;
+ if (Object.getPrototypeOf(receiver) === Object.prototype)
+ return $.Interceptor.prototype;
+ return $.getNativeInterceptor(receiver);
+};
+$.getInterceptor$asx = function(receiver) {
+ if (typeof receiver == "string")
+ return $.JSString.prototype;
+ if (receiver == null)
+ return receiver;
+ if (receiver.constructor == Array)
+ return $.JSArray.prototype;
+ if (typeof receiver != "object")
+ return receiver;
+ if (receiver instanceof $.Object)
+ return receiver;
+ if (Object.getPrototypeOf(receiver) === Object.prototype)
+ return $.Interceptor.prototype;
+ return $.getNativeInterceptor(receiver);
+};
+$.getInterceptor$ax = function(receiver) {
+ if (receiver == null)
+ return receiver;
+ if (receiver.constructor == Array)
+ return $.JSArray.prototype;
+ if (typeof receiver != "object")
+ return receiver;
+ if (receiver instanceof $.Object)
+ return receiver;
+ if (Object.getPrototypeOf(receiver) === Object.prototype)
+ return $.Interceptor.prototype;
+ return $.getNativeInterceptor(receiver);
+};
+$.getInterceptor$n = function(receiver) {
+ if (typeof receiver == "number")
+ return $.JSNumber.prototype;
+ if (receiver == null)
+ return receiver;
+ return receiver;
+};
+$.getInterceptor$ns = function(receiver) {
+ if (typeof receiver == "number")
+ return $.JSNumber.prototype;
+ if (typeof receiver == "string")
+ return $.JSString.prototype;
+ if (receiver == null)
+ return receiver;
+ return receiver;
+};
+$.getInterceptor$s = function(receiver) {
+ if (typeof receiver == "string")
+ return $.JSString.prototype;
+ if (receiver == null)
+ return receiver;
+ return receiver;
+};
+$.getInterceptor$x = function(receiver) {
+ if (receiver == null)
+ return receiver;
+ if (typeof receiver != "object")
+ return receiver;
+ if (receiver instanceof $.Object)
+ return receiver;
+ if (Object.getPrototypeOf(receiver) === Object.prototype)
+ return $.Interceptor.prototype;
+ return $.getNativeInterceptor(receiver);
+};
+Isolate.$lazy($, "globalThis", "globalThis", "get$globalThis", function() {
+ return $.IsolateNatives_computeGlobalThis();
+});
+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 $.IsolateNatives_computeThisScript();
+});
+Isolate.$lazy($, "_stackTraceExpando", "_stackTraceExpando", "get$_stackTraceExpando", function() {
+ return $.Expando$("asynchronous error");
+});
+Isolate.$lazy($, "_asyncCallbacks", "_asyncCallbacks", "get$_asyncCallbacks", function() {
+ return [];
+});
+Isolate.$lazy($, "_runCallbacks", "Timer__runCallbacks", "get$Timer__runCallbacks", function() {
+ return [];
+});
+// Native classes
+(function(table) {
+ for (var key in table)
+ $.defineProperty(Object.prototype, key, table[key]);
+})({
+ $isJavaScriptIndexingBehavior: function() {
+ return false;
+ },
+ $asJavaScriptIndexingBehavior: function() {
+ return null;
+ },
+ $isIterable: function() {
+ return false;
+ },
+ $asIterable: function() {
+ return null;
+ },
+ $isList: function() {
+ return false;
+ },
+ $asList: function() {
+ return null;
+ },
+ $isElement: function() {
+ return false;
+ },
+ $asElement: function() {
+ return null;
+ }
+});
+
+$.defineNativeMethods("Worker", $._WorkerStub);
+
+$.defineNativeMethodsNonleaf("HTMLElement", $._HTMLElement);
+
+$.defineNativeMethods("HTMLAnchorElement", $.AnchorElement);
+
+$.defineNativeMethods("WebKitAnimationEvent", $.AnimationEvent);
+
+$.defineNativeMethods("HTMLAreaElement", $.AreaElement);
+
+$.defineNativeMethods("ArrayBuffer", $.ArrayBuffer);
+
+$.defineNativeMethodsNonleaf("ArrayBufferView", $.ArrayBufferView);
+
+$.defineNativeMethods("Attr", $.Attr);
+
+$.defineNativeMethods("HTMLAudioElement", $.AudioElement);
+
+$.defineNativeMethods("AutocompleteErrorEvent", $.AutocompleteErrorEvent);
+
+$.defineNativeMethods("HTMLBRElement", $.BRElement);
+
+$.defineNativeMethods("HTMLBaseElement", $.BaseElement);
+
+$.defineNativeMethods("BeforeLoadEvent", $.BeforeLoadEvent);
+
+$.defineNativeMethodsNonleaf("Blob", $.Blob);
+
+$.defineNativeMethods("HTMLBodyElement", $.BodyElement);
+
+$.defineNativeMethods("HTMLButtonElement", $.ButtonElement);
+
+$.defineNativeMethods("CDATASection", $.CDataSection);
+
+$.defineNativeMethods("HTMLCanvasElement", $.CanvasElement);
+
+$.defineNativeMethods("CanvasGradient", $.CanvasGradient);
+
+$.defineNativeMethods("CanvasPattern", $.CanvasPattern);
+
+$.defineNativeMethodsNonleaf("CanvasRenderingContext", $.CanvasRenderingContext);
+
+$.defineNativeMethods("CanvasRenderingContext2D", $.CanvasRenderingContext2D);
+
+$.defineNativeMethodsNonleaf("CharacterData", $.CharacterData);
+
+$.defineNativeMethods("CloseEvent", $.CloseEvent);
+
+$.defineNativeMethods("Comment", $.Comment);
+
+$.defineNativeMethods("CompositionEvent", $.CompositionEvent);
+
+$.defineNativeMethods("HTMLContentElement", $.ContentElement);
+
+$.defineNativeMethods("CSSFontFaceLoadEvent", $.CssFontFaceLoadEvent);
+
+$.defineNativeMethods("CSSStyleDeclaration", $.CssStyleDeclaration);
+
+$.defineNativeMethods("CustomElementConstructor", $.CustomElementConstructor);
+
+$.defineNativeMethods("CustomEvent", $.CustomEvent);
+
+$.defineNativeMethods("HTMLDListElement", $.DListElement);
+
+$.defineNativeMethods("HTMLDataListElement", $.DataListElement);
+
+$.defineNativeMethods("HTMLDetailsElement", $.DetailsElement);
+
+$.defineNativeMethods("DeviceMotionEvent", $.DeviceMotionEvent);
+
+$.defineNativeMethods("DeviceOrientationEvent", $.DeviceOrientationEvent);
+
+$.defineNativeMethods("HTMLDialogElement", $.DialogElement);
+
+$.defineNativeMethods("HTMLDivElement", $.DivElement);
+
+$.defineNativeMethodsNonleaf("Document", $.Document);
+
+$.defineNativeMethodsNonleaf("DocumentFragment", $.DocumentFragment);
+
+$.defineNativeMethods("DocumentType", $.DocumentType);
+
+$.defineNativeMethods("DOMError", $.DomError);
+
+$.defineNativeMethods("DOMException", $.DomException);
+
+$.defineNativeMethodsNonleaf("Element", $.Element);
+
+$.defineNativeMethods("HTMLEmbedElement", $.EmbedElement);
+
+$.defineNativeMethods("EntityReference", $.EntityReference);
+
+$.defineNativeMethods("ErrorEvent", $.ErrorEvent);
+
+$.defineNativeMethodsNonleaf("Event", $.Event);
+
+$.defineNativeMethods("EventException", $.EventException);
+
+$.defineNativeMethodsNonleaf("EventTarget", $.EventTarget);
+
+$.defineNativeMethods("HTMLFieldSetElement", $.FieldSetElement);
+
+$.defineNativeMethods("File", $.File);
+
+$.defineNativeMethods("FileError", $.FileError);
+
+$.defineNativeMethods("FileException", $.FileException);
+
+$.defineNativeMethods("FocusEvent", $.FocusEvent);
+
+$.defineNativeMethods("HTMLFormElement", $.FormElement);
+
+$.defineNativeMethods("HTMLHRElement", $.HRElement);
+
+$.defineNativeMethods("HashChangeEvent", $.HashChangeEvent);
+
+$.defineNativeMethods("HTMLHeadElement", $.HeadElement);
+
+$.defineNativeMethods("HTMLHeadingElement", $.HeadingElement);
+
+$.defineNativeMethodsNonleaf("HTMLCollection", $.HtmlCollection);
+
+$.defineNativeMethods("HTMLDocument", $.HtmlDocument);
+
+$.defineNativeMethods("HTMLHtmlElement", $.HtmlElement);
+
+$.defineNativeMethods("HTMLFormControlsCollection", $.HtmlFormControlsCollection);
+
+$.defineNativeMethods("HTMLOptionsCollection", $.HtmlOptionsCollection);
+
+$.defineNativeMethods("XMLHttpRequest", $.HttpRequest);
+
+$.defineNativeMethods("XMLHttpRequestException", $.HttpRequestException);
+
+$.defineNativeMethods("XMLHttpRequestProgressEvent", $.HttpRequestProgressEvent);
+
+$.defineNativeMethods("XMLHttpRequestUpload", $.HttpRequestUpload);
+
+$.defineNativeMethods("HTMLIFrameElement", $.IFrameElement);
+
+$.defineNativeMethods("HTMLImageElement", $.ImageElement);
+
+$.defineNativeMethods("HTMLInputElement", $.InputElement);
+
+$.defineNativeMethods("KeyboardEvent", $.KeyboardEvent);
+
+$.defineNativeMethods("HTMLKeygenElement", $.KeygenElement);
+
+$.defineNativeMethods("HTMLLIElement", $.LIElement);
+
+$.defineNativeMethods("HTMLLabelElement", $.LabelElement);
+
+$.defineNativeMethods("HTMLLegendElement", $.LegendElement);
+
+$.defineNativeMethods("HTMLLinkElement", $.LinkElement);
+
+$.defineNativeMethods("HTMLMapElement", $.MapElement);
+
+$.defineNativeMethodsNonleaf("HTMLMediaElement", $.MediaElement);
+
+$.defineNativeMethods("MediaError", $.MediaError);
+
+$.defineNativeMethods("MediaKeyError", $.MediaKeyError);
+
+$.defineNativeMethods("MediaKeyEvent", $.MediaKeyEvent);
+
+$.defineNativeMethods("MediaStreamEvent", $.MediaStreamEvent);
+
+$.defineNativeMethods("MediaStreamTrackEvent", $.MediaStreamTrackEvent);
+
+$.defineNativeMethods("HTMLMenuElement", $.MenuElement);
+
+$.defineNativeMethods("MessageEvent", $.MessageEvent);
+
+$.defineNativeMethods("HTMLMetaElement", $.MetaElement);
+
+$.defineNativeMethods("HTMLMeterElement", $.MeterElement);
+
+$.defineNativeMethods("HTMLModElement", $.ModElement);
+
+$.defineNativeMethodsNonleaf("MouseEvent", $.MouseEvent);
+
+$.defineNativeMethods("MutationEvent", $.MutationEvent);
+
+$.defineNativeMethods("Navigator", $.Navigator);
+
+$.defineNativeMethods("NavigatorUserMediaError", $.NavigatorUserMediaError);
+
+$.defineNativeMethodsNonleaf("Node", $.Node);
+
+$.defineNativeMethodsNonleaf("NodeList", $.NodeList);
+
+$.defineNativeMethods("Notation", $.Notation);
+
+$.defineNativeMethods("HTMLOListElement", $.OListElement);
+
+$.defineNativeMethods("HTMLObjectElement", $.ObjectElement);
+
+$.defineNativeMethods("HTMLOptGroupElement", $.OptGroupElement);
+
+$.defineNativeMethods("HTMLOptionElement", $.OptionElement);
+
+$.defineNativeMethods("HTMLOutputElement", $.OutputElement);
+
+$.defineNativeMethods("OverflowEvent", $.OverflowEvent);
+
+$.defineNativeMethods("PageTransitionEvent", $.PageTransitionEvent);
+
+$.defineNativeMethods("HTMLParagraphElement", $.ParagraphElement);
+
+$.defineNativeMethods("HTMLParamElement", $.ParamElement);
+
+$.defineNativeMethods("PopStateEvent", $.PopStateEvent);
+
+$.defineNativeMethods("PositionError", $.PositionError);
+
+$.defineNativeMethods("HTMLPreElement", $.PreElement);
+
+$.defineNativeMethods("ProcessingInstruction", $.ProcessingInstruction);
+
+$.defineNativeMethods("HTMLProgressElement", $.ProgressElement);
+
+$.defineNativeMethodsNonleaf("ProgressEvent", $.ProgressEvent);
+
+$.defineNativeMethods("HTMLQuoteElement", $.QuoteElement);
+
+$.defineNativeMethods("RadioNodeList", $.RadioNodeList);
+
+$.defineNativeMethods("RangeException", $.RangeException);
+
+$.defineNativeMethods("RTCDataChannelEvent", $.RtcDataChannelEvent);
+
+$.defineNativeMethods("RTCDTMFToneChangeEvent", $.RtcDtmfToneChangeEvent);
+
+$.defineNativeMethods("RTCIceCandidateEvent", $.RtcIceCandidateEvent);
+
+$.defineNativeMethods("HTMLScriptElement", $.ScriptElement);
+
+$.defineNativeMethods("SecurityPolicyViolationEvent", $.SecurityPolicyViolationEvent);
+
+$.defineNativeMethods("HTMLSelectElement", $.SelectElement);
+
+$.defineNativeMethods("HTMLShadowElement", $.ShadowElement);
+
+$.defineNativeMethods("ShadowRoot", $.ShadowRoot);
+
+$.defineNativeMethods("HTMLSourceElement", $.SourceElement);
+
+$.defineNativeMethods("HTMLSpanElement", $.SpanElement);
+
+$.defineNativeMethods("SpeechInputEvent", $.SpeechInputEvent);
+
+$.defineNativeMethods("SpeechRecognitionError", $.SpeechRecognitionError);
+
+$.defineNativeMethods("SpeechRecognitionEvent", $.SpeechRecognitionEvent);
+
+$.defineNativeMethods("StorageEvent", $.StorageEvent);
+
+$.defineNativeMethods("HTMLStyleElement", $.StyleElement);
+
+$.defineNativeMethods("HTMLTableCaptionElement", $.TableCaptionElement);
+
+$.defineNativeMethods("HTMLTableCellElement", $.TableCellElement);
+
+$.defineNativeMethods("HTMLTableColElement", $.TableColElement);
+
+$.defineNativeMethods("HTMLTableElement", $.TableElement);
+
+$.defineNativeMethods("HTMLTableRowElement", $.TableRowElement);
+
+$.defineNativeMethods("HTMLTableSectionElement", $.TableSectionElement);
+
+$.defineNativeMethods("HTMLTemplateElement", $.TemplateElement);
+
+$.defineNativeMethodsNonleaf("Text", $.Text);
+
+$.defineNativeMethods("HTMLTextAreaElement", $.TextAreaElement);
+
+$.defineNativeMethods("TextEvent", $.TextEvent);
+
+$.defineNativeMethods("HTMLTitleElement", $.TitleElement);
+
+$.defineNativeMethods("TouchEvent", $.TouchEvent);
+
+$.defineNativeMethods("HTMLTrackElement", $.TrackElement);
+
+$.defineNativeMethods("TrackEvent", $.TrackEvent);
+
+$.defineNativeMethods("TransitionEvent", $.TransitionEvent);
+
+$.defineNativeMethodsNonleaf("UIEvent", $.UIEvent);
+
+$.defineNativeMethods("HTMLUListElement", $.UListElement);
+
+$.defineNativeMethodsNonleaf("Uint8Array", $.Uint8Array);
+
+$.defineNativeMethods("Uint8ClampedArray", $.Uint8ClampedArray);
+
+$.defineNativeMethods("HTMLUnknownElement", $.UnknownElement);
+
+$.defineNativeMethods("HTMLVideoElement", $.VideoElement);
+
+$.defineNativeMethods("WheelEvent", $.WheelEvent);
+
+$.defineNativeMethods("DOMWindow", $.Window);
+
+$.defineNativeMethods("XPathException", $.XPathException);
+
+$.defineNativeMethods("NamedNodeMap", $._NamedNodeMap);
+
+$.defineNativeMethods("WebKitTransitionEvent", $._WebKitTransitionEvent);
+
+$.defineNativeMethods("IDBVersionChangeEvent", $.VersionChangeEvent);
+
+$.defineNativeMethods("SVGAElement", $.AElement);
+
+$.defineNativeMethods("SVGAltGlyphElement", $.AltGlyphElement);
+
+$.defineNativeMethods("SVGAnimateElement", $.AnimateElement);
+
+$.defineNativeMethods("SVGAnimateMotionElement", $.AnimateMotionElement);
+
+$.defineNativeMethods("SVGAnimateTransformElement", $.AnimateTransformElement);
+
+$.defineNativeMethods("SVGAnimatedLength", $.AnimatedLength);
+
+$.defineNativeMethods("SVGAnimatedNumberList", $.AnimatedNumberList);
+
+$.defineNativeMethodsNonleaf("SVGAnimationElement", $.AnimationElement);
+
+$.defineNativeMethods("SVGCircleElement", $.CircleElement);
+
+$.defineNativeMethods("SVGClipPathElement", $.ClipPathElement);
+
+$.defineNativeMethods("SVGDefsElement", $.DefsElement);
+
+$.defineNativeMethods("SVGDescElement", $.DescElement);
+
+$.defineNativeMethods("SVGEllipseElement", $.EllipseElement);
+
+$.defineNativeMethods("SVGFEBlendElement", $.FEBlendElement);
+
+$.defineNativeMethods("SVGFEColorMatrixElement", $.FEColorMatrixElement);
+
+$.defineNativeMethods("SVGFEComponentTransferElement", $.FEComponentTransferElement);
+
+$.defineNativeMethods("SVGFECompositeElement", $.FECompositeElement);
+
+$.defineNativeMethods("SVGFEConvolveMatrixElement", $.FEConvolveMatrixElement);
+
+$.defineNativeMethods("SVGFEDiffuseLightingElement", $.FEDiffuseLightingElement);
+
+$.defineNativeMethods("SVGFEDisplacementMapElement", $.FEDisplacementMapElement);
+
+$.defineNativeMethods("SVGFEDistantLightElement", $.FEDistantLightElement);
+
+$.defineNativeMethods("SVGFEFloodElement", $.FEFloodElement);
+
+$.defineNativeMethods("SVGFEFuncAElement", $.FEFuncAElement);
+
+$.defineNativeMethods("SVGFEFuncBElement", $.FEFuncBElement);
+
+$.defineNativeMethods("SVGFEFuncGElement", $.FEFuncGElement);
+
+$.defineNativeMethods("SVGFEFuncRElement", $.FEFuncRElement);
+
+$.defineNativeMethods("SVGFEGaussianBlurElement", $.FEGaussianBlurElement);
+
+$.defineNativeMethods("SVGFEImageElement", $.FEImageElement);
+
+$.defineNativeMethods("SVGFEMergeElement", $.FEMergeElement);
+
+$.defineNativeMethods("SVGFEMergeNodeElement", $.FEMergeNodeElement);
+
+$.defineNativeMethods("SVGFEMorphologyElement", $.FEMorphologyElement);
+
+$.defineNativeMethods("SVGFEOffsetElement", $.FEOffsetElement);
+
+$.defineNativeMethods("SVGFEPointLightElement", $.FEPointLightElement);
+
+$.defineNativeMethods("SVGFESpecularLightingElement", $.FESpecularLightingElement);
+
+$.defineNativeMethods("SVGFESpotLightElement", $.FESpotLightElement);
+
+$.defineNativeMethods("SVGFETileElement", $.FETileElement);
+
+$.defineNativeMethods("SVGFETurbulenceElement", $.FETurbulenceElement);
+
+$.defineNativeMethods("SVGFilterElement", $.FilterElement);
+
+$.defineNativeMethods("SVGForeignObjectElement", $.ForeignObjectElement);
+
+$.defineNativeMethods("SVGGElement", $.GElement);
+
+$.defineNativeMethods("SVGImageElement", $.ImageElement0);
+
+$.defineNativeMethods("SVGLineElement", $.LineElement);
+
+$.defineNativeMethods("SVGLinearGradientElement", $.LinearGradientElement);
+
+$.defineNativeMethods("SVGMarkerElement", $.MarkerElement);
+
+$.defineNativeMethods("SVGMaskElement", $.MaskElement);
+
+$.defineNativeMethods("SVGMetadataElement", $.MetadataElement);
+
+$.defineNativeMethods("SVGPathElement", $.PathElement);
+
+$.defineNativeMethods("SVGPatternElement", $.PatternElement);
+
+$.defineNativeMethods("SVGPolygonElement", $.PolygonElement);
+
+$.defineNativeMethods("SVGPolylineElement", $.PolylineElement);
+
+$.defineNativeMethods("SVGRadialGradientElement", $.RadialGradientElement);
+
+$.defineNativeMethods("SVGRectElement", $.RectElement);
+
+$.defineNativeMethods("SVGScriptElement", $.ScriptElement0);
+
+$.defineNativeMethods("SVGSetElement", $.SetElement);
+
+$.defineNativeMethods("SVGStopElement", $.StopElement);
+
+$.defineNativeMethods("SVGStyleElement", $.StyleElement0);
+
+$.defineNativeMethodsNonleaf("SVGStyledElement", $.StyledElement);
+
+$.defineNativeMethods("SVGDocument", $.SvgDocument);
+
+$.defineNativeMethodsNonleaf("SVGElement", $.SvgElement);
+
+$.defineNativeMethods("SVGException", $.SvgException);
+
+$.defineNativeMethods("SVGSVGElement", $.SvgSvgElement);
+
+$.defineNativeMethods("SVGSwitchElement", $.SwitchElement);
+
+$.defineNativeMethods("SVGSymbolElement", $.SymbolElement);
+
+$.defineNativeMethods("SVGTSpanElement", $.TSpanElement);
+
+$.defineNativeMethodsNonleaf("SVGTextContentElement", $.TextContentElement);
+
+$.defineNativeMethods("SVGTextElement", $.TextElement);
+
+$.defineNativeMethods("SVGTextPathElement", $.TextPathElement);
+
+$.defineNativeMethodsNonleaf("SVGTextPositioningElement", $.TextPositioningElement);
+
+$.defineNativeMethods("SVGTitleElement", $.TitleElement0);
+
+$.defineNativeMethods("SVGUseElement", $.UseElement);
+
+$.defineNativeMethods("SVGViewElement", $.ViewElement);
+
+$.defineNativeMethods("SVGZoomEvent", $.ZoomEvent);
+
+$.defineNativeMethodsNonleaf("SVGGradientElement", $._GradientElement);
+
+$.defineNativeMethodsNonleaf("SVGComponentTransferFunctionElement", $._SVGComponentTransferFunctionElement);
+
+$.defineNativeMethods("AudioProcessingEvent", $.AudioProcessingEvent);
+
+$.defineNativeMethods("OfflineAudioCompletionEvent", $.OfflineAudioCompletionEvent);
+
+$.defineNativeMethods("WebGLContextEvent", $.ContextEvent);
+
+$.defineNativeMethods("SQLError", $.SqlError);
+
+$.defineNativeMethods("SQLException", $.SqlException);
+
+
+var $ = null;
+Isolate = Isolate.$finishIsolateConstructor(Isolate);
+var $ = new Isolate();
+$.main.call$0 = $.main;
+// BEGIN invoke [main].
+if (typeof document !== "undefined" && document.readyState !== "complete") {
+ document.addEventListener("readystatechange", function () {
+ if (document.readyState == "complete") {
+ if (typeof dartMainRunner === "function") {
+ dartMainRunner(function() { $.startRootIsolate($.main); });
+ } else {
+ $.startRootIsolate($.main);
+ }
+ }
+ }, false);
+} else {
+ if (typeof dartMainRunner === "function") {
+ dartMainRunner(function() { $.startRootIsolate($.main); });
+ } else {
+ $.startRootIsolate($.main);
+ }
+}
+// END invoke [main].
+function init() {
+ Isolate.$isolateProperties = {};
+ function generateAccessor(field, prototype) {
+ var len = field.length;
+ var code = field.charCodeAt(len - 1);
+ 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;
+ prototype["get$" + accessorName] = new Function(args, body);
+ }
+ if (setterCode) {
+ var args = setterCode & 2 ? "receiver, value" : "value";
+ var receiver = setterCode & 1 ? "this" : "receiver";
+ var body = receiver + "." + field + " = value";
+ prototype["set$" + accessorName] = new Function(args, body);
+ }
+ }
+ return field;
+ }
+ Isolate.$isolateProperties.$generateAccessor = generateAccessor;
+ function defineClass(cls, fields, prototype) {
+ var constructor;
+ if (typeof fields == "function") {
+ constructor = fields;
+ } else {
+ var str = "function " + cls + "(";
+ var body = "";
+ for (var i = 0; i < fields.length; i++) {
+ if (i != 0)
+ str += ", ";
+ var field = fields[i];
+ field = generateAccessor(field, prototype);
+ str += field;
+ body += "this." + field + " = " + field + ";\n";
+ }
+ str += ") {" + body + "}\nreturn " + cls;
+ constructor = new Function(str)();
+ }
+ constructor.prototype = prototype;
+ constructor.builtin$cls = cls;
+ return constructor;
+ }
+ var supportsProto = false;
+ var tmp = defineClass("c", ["f?"], {}).prototype;
+ if (tmp.__proto__) {
+ tmp.__proto__ = {};
+ if (typeof tmp.get$f != "undefined")
+ supportsProto = true;
+ }
+ Isolate.$finishClasses = function(collectedClasses, isolateProperties, existingIsolateProperties) {
+ var pendingClasses = {};
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ for (var cls in collectedClasses) {
+ if (hasOwnProperty.call(collectedClasses, cls)) {
+ var desc = collectedClasses[cls];
+ var fields = desc[""], supr;
+ if (typeof fields == "string") {
+ var s = fields.split(";");
+ supr = s[0];
+ fields = s[1] == "" ? [] : s[1].split(",");
+ } else {
+ supr = desc.super;
+ }
+ isolateProperties[cls] = defineClass(cls, fields, desc);
+ if (supr)
+ pendingClasses[cls] = supr;
+ }
+ }
+ 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 = isolateProperties[cls];
+ var superConstructor = isolateProperties[superclass];
+ if (!superConstructor)
+ superConstructor = existingIsolateProperties[superclass];
+ var prototype = constructor.prototype;
+ if (supportsProto) {
+ prototype.__proto__ = superConstructor.prototype;
+ prototype.constructor = constructor;
+ } else {
+ function tmp() {
+ }
+ tmp.prototype = superConstructor.prototype;
+ var newPrototype = new tmp();
+ constructor.prototype = newPrototype;
+ newPrototype.constructor = constructor;
+ for (var member in prototype) {
+ if (!member)
+ continue;
+ if (hasOwnProperty.call(prototype, member)) {
+ newPrototype[member] = prototype[member];
+ }
+ }
+ }
+ }
+ for (var cls in pendingClasses)
+ finishClass(cls);
+ };
+ Isolate.$lazy = function(prototype, staticName, fieldName, getterName, lazyValue) {
+ var getter = new Function("{ return $." + fieldName + ";}");
+ 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)
+ $.throwCyclicInit(staticName);
+ }
+ return result;
+ } finally {
+ $[getterName] = getter;
+ }
+ };
+ };
+ Isolate.$finishIsolateConstructor = function(oldIsolate) {
+ var isolateProperties = oldIsolate.$isolateProperties;
+ isolateProperties.$currentScript = typeof document == "object" ? document.currentScript || document.scripts[document.scripts.length - 1] : null;
+ var isolatePrototype = oldIsolate.prototype;
+ var str = "{\n";
+ str += "var properties = Isolate.$isolateProperties;\n";
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ for (var staticName in isolateProperties) {
+ if (hasOwnProperty.call(isolateProperties, staticName)) {
+ str += "this." + staticName + "= properties." + staticName + ";\n";
+ }
+ }
+ str += "}\n";
+ var newIsolate = new Function(str);
+ newIsolate.prototype = isolatePrototype;
+ isolatePrototype.constructor = newIsolate;
+ newIsolate.$isolateProperties = isolateProperties;
+ newIsolate.$finishClasses = oldIsolate.$finishClasses;
+ return newIsolate;
+ };
+}
+//@ sourceMappingURL=vmstats.dart.js.map
« no previous file with comments | « runtime/bin/vmstats/README ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698