Make dwds more conformant to vm_service protocol (#1370)

* Make dwds conform to vm service protocol

- Throw SentiinelException if the isolate id is unrecognized
- Throw RPCError if getStack is called when not paused
- Fix race conditions in chrome_proxy_tests

Helps: https://github.com/dart-lang/webdev/issues/1369
Closes: https://github.com/dart-lang/webdev/issues/721

* Update version and changelog

* Build

* Addressed CR comments
diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md
index 0176ef1..4bcb7b1 100644
--- a/dwds/CHANGELOG.md
+++ b/dwds/CHANGELOG.md
@@ -1,5 +1,12 @@
-## 11.1.2
+## 11.2.0-dev
 
+- Throw `SentinelException` instead of `RPCError` on vm service
+  API on unrecognized isolate.
+- Throw `RPCError` in `getStack` if the application is not paused.
+- Recognize `dart:ui` library when debugging flutter apps.
+- Fix hang on hot restart when the application has a breakpoint.
+
+## 11.1.2
 - Return empty library from `ChromeProxyService.getObject` for
   libraries present in medatata but not loaded at runtime.
 - Log failures to load kernel during expression evaluation.
diff --git a/dwds/lib/src/debugging/debugger.dart b/dwds/lib/src/debugging/debugger.dart
index 208f02e..b230d61 100644
--- a/dwds/lib/src/debugging/debugger.dart
+++ b/dwds/lib/src/debugging/debugger.dart
@@ -9,7 +9,6 @@
 
 import 'package:logging/logging.dart';
 import 'package:meta/meta.dart';
-import 'package:vm_service/vm_service.dart' as vm_service;
 import 'package:vm_service/vm_service.dart';
 import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart'
     hide StackTrace;
@@ -148,7 +147,11 @@
   /// The returned stack will contain up to [limit] frames if provided.
   Future<Stack> getStack(String isolateId, {int limit}) async {
     checkIsolate('getStack', isolateId);
-    if (stackComputer == null) return null;
+
+    if (stackComputer == null) {
+      throw RPCError('getStack', RPCError.kInternalError,
+          'Cannot compute stack when application is not paused');
+    }
 
     var frames = await stackComputer.calculateFrames(limit: limit);
     return Stack(
@@ -324,8 +327,7 @@
     // Filter out variables that do not come from dart code, such as native
     // JavaScript objects
     return boundVariables
-        .where((bv) =>
-            bv != null && !isNativeJsObject(bv.value as vm_service.InstanceRef))
+        .where((bv) => bv != null && !isNativeJsObject(bv.value as InstanceRef))
         .toList();
   }
 
@@ -631,7 +633,7 @@
   }
 }
 
-bool isNativeJsObject(vm_service.InstanceRef instanceRef) =>
+bool isNativeJsObject(InstanceRef instanceRef) =>
     // New type representation of JS objects reifies them to JavaScriptObject.
     (instanceRef?.classRef?.name == 'JavaScriptObject' &&
         instanceRef?.classRef?.library?.uri == 'dart:_interceptors') ||
diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 3c8df73..7abcf64 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -1,4 +1,4 @@
-// Generated by dart2js (fast startup emitter, strong), the Dart to JavaScript compiler version: 2.13.4.
+// Generated by dart2js (NullSafetyMode.unsound, no-legacy-javascript), the Dart to JavaScript compiler version: 2.14.0-363.0.dev.
 // The code supports the following hooks:
 // dartPrint(message):
 //    if this function is defined it is called instead of the Dart [print]
@@ -9,11 +9,12 @@
 //    directly. Instead, a closure that will invoke [main], and its arguments
 //    [args] is passed to [dartMainRunner].
 //
-// dartDeferredLibraryLoader(uri, successCallback, errorCallback):
+// dartDeferredLibraryLoader(uri, successCallback, errorCallback, loadId):
 //    if this function is defined, it will be called when a deferred library
 //    is loaded. It should load and eval the javascript of `uri`, and call
 //    successCallback. If it fails to do so, it should call errorCallback with
-//    an error.
+//    an error. The loadId argument is the deferred import that resulted in
+//    this uri being loaded.
 //
 // dartCallInstrumentation(id, qualifiedName):
 //    if this function is defined, it will be called at each entry of a
@@ -136,7 +137,7 @@
       if (holder[name] === uninitializedSentinel) {
         var value = initializer();
         if (holder[name] !== uninitializedSentinel)
-          H.throwLateInitializationError(name);
+          H.throwLateFieldADI(name);
         holder[name] = value;
       }
       holder[getterName] = function() {
@@ -162,45 +163,37 @@
       convertToFastObject(arrayOfObjects[i]);
   }
   var functionCounter = 0;
-  function tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) {
-    return isIntercepted ? new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new c(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null) : new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null);
+  function instanceTearOffGetter(isIntercepted, parameters) {
+    var name = parameters.fs[0];
+    if (isIntercepted)
+      return new Function("parameters, createTearOffClass, cache", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (cache === null) cache = createTearOffClass(parameters);" + "return new cache(receiver, this);" + "}")(parameters, H.closureFromTearOff, null);
+    else
+      return new Function("parameters, createTearOffClass, cache", "return function tearOff_" + name + functionCounter++ + "() {" + "if (cache === null) cache = createTearOffClass(parameters);" + "return new cache(this, null);" + "}")(parameters, H.closureFromTearOff, null);
   }
-  function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) {
+  function staticTearOffGetter(parameters) {
     var cache = null;
-    return isStatic ? function() {
+    return function() {
       if (cache === null)
-        cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype;
+        cache = H.closureFromTearOff(parameters).prototype;
       return cache;
-    } : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted);
+    };
   }
   var typesOffset = 0;
-  function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
-    var funs = [];
-    for (var i = 0; i < funsOrNames.length; i++) {
-      var fun = funsOrNames[i];
-      if (typeof fun == "string")
-        fun = container[fun];
-      fun.$callName = callNames[i];
-      funs.push(fun);
-    }
-    var fun = funs[0];
-    fun.$requiredArgCount = requiredParameterCount;
-    fun.$defaultValues = optionalParameterDefaultValues;
-    var reflectionInfo = funType;
-    if (typeof reflectionInfo == "number")
-      reflectionInfo += typesOffset;
-    var name = funsOrNames[0];
-    fun.$stubName = name;
-    var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted);
-    container[getterName] = getterFunction;
-    if (isStatic)
-      fun.$tearOff = getterFunction;
+  function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) {
+    if (typeof funType == "number")
+      funType += typesOffset;
+    return {co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess};
   }
-  function installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
-    return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
+  function installStaticTearOff(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
+    var parameters = tearOffParameters(holder, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, false);
+    var getterFunction = staticTearOffGetter(parameters);
+    holder[getterName] = getterFunction;
   }
-  function installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
-    return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex);
+  function installInstanceTearOff(prototype, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) {
+    isIntercepted = !!isIntercepted;
+    var parameters = tearOffParameters(prototype, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, !!needsDirectAccess);
+    var getterFunction = instanceTearOffGetter(isIntercepted, parameters);
+    prototype[getterName] = getterFunction;
   }
   function setOrUpdateInterceptorsByTag(newTags) {
     var tags = init.interceptorsByTag;
@@ -231,7 +224,7 @@
   var hunkHelpers = function() {
     var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
         return function(container, getterName, name, funType) {
-          return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
+          return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex, false);
         };
       },
       mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
@@ -245,35 +238,299 @@
     typesOffset = init.types.length;
     hunk(hunkHelpers, init, holders, $);
   }
-  function getGlobalFromName(name) {
-    for (var i = 0; i < holders.length; i++) {
-      if (holders[i] == C)
-        continue;
-      if (holders[i][name])
-        return holders[i][name];
+  var A = {
+    hashObjects(objects) {
+      return A._finish(J.fold$1$2$ax(objects, 0, new A.hashObjects_closure(), type$.int));
+    },
+    _combine(hash, value) {
+      if (typeof hash !== "number")
+        return hash.$add();
+      if (typeof value !== "number")
+        return H.iae(value);
+      hash = hash + value & 536870911;
+      hash = hash + ((hash & 524287) << 10) & 536870911;
+      return hash ^ hash >>> 6;
+    },
+    _finish(hash) {
+      if (typeof hash !== "number")
+        return H.iae(hash);
+      hash = hash + ((hash & 67108863) << 3) & 536870911;
+      hash ^= hash >>> 11;
+      return hash + ((hash & 16383) << 15) & 536870911;
+    },
+    hashObjects_closure: function hashObjects_closure() {
+    },
+    BuiltMap_BuiltMap($K, $V) {
+      var t1 = new A._BuiltMap(null, P.LinkedHashMap_LinkedHashMap$_empty($K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("_BuiltMap<1,2>"));
+      t1._BuiltMap$copyAndCheckTypes$2(C.Map_empty.get$keys(C.Map_empty), new A.BuiltMap_BuiltMap_closure(C.Map_empty), $K, $V);
+      return t1;
+    },
+    MapBuilder_MapBuilder($K, $V) {
+      var t1 = new A.MapBuilder(null, $, null, $K._eval$1("@<0>")._bind$1($V)._eval$1("MapBuilder<1,2>"));
+      t1.replace$1(0, C.Map_empty);
+      return t1;
+    },
+    BuiltMap: function BuiltMap() {
+    },
+    BuiltMap_BuiltMap_closure: function BuiltMap_BuiltMap_closure(t0) {
+      this.map = t0;
+    },
+    BuiltMap_hashCode_closure: function BuiltMap_hashCode_closure(t0) {
+      this.$this = t0;
+    },
+    _BuiltMap: function _BuiltMap(t0, t1, t2) {
+      var _ = this;
+      _._mapFactory = t0;
+      _._map$_map = t1;
+      _._map$_keys = _._map$_hashCode = null;
+      _.$ti = t2;
+    },
+    MapBuilder: function MapBuilder(t0, t1, t2, t3) {
+      var _ = this;
+      _._mapFactory = t0;
+      _.__MapBuilder__map = t1;
+      _._mapOwner = t2;
+      _.$ti = t3;
+    },
+    MapBuilder_replace_closure: function MapBuilder_replace_closure(t0, t1) {
+      this.$this = t0;
+      this.replacement = t1;
+    },
+    JsonObject_JsonObject(value) {
+      if (typeof value == "number")
+        return new A.NumJsonObject(value);
+      else if (typeof value == "string")
+        return new A.StringJsonObject(value);
+      else if (H._isBool(value))
+        return new A.BoolJsonObject(value);
+      else if (type$.List_nullable_Object._is(value))
+        return new A.ListJsonObject(new P.UnmodifiableListView(value, type$.UnmodifiableListView_nullable_Object));
+      else if (type$.Map_of_String_and_nullable_Object._is(value))
+        return new A.MapJsonObject(new P.UnmodifiableMapView(value, type$.UnmodifiableMapView_of_String_and_nullable_Object));
+      else if (type$.Map_dynamic_dynamic._is(value))
+        return new A.MapJsonObject(new P.UnmodifiableMapView(J.cast$2$0$ax(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object));
+      else
+        throw H.wrapException(P.ArgumentError$value(value, "value", "Must be bool, List<Object?>, Map<String?, Object?>, num or String"));
+    },
+    JsonObject: function JsonObject() {
+    },
+    BoolJsonObject: function BoolJsonObject(t0) {
+      this.value = t0;
+    },
+    ListJsonObject: function ListJsonObject(t0) {
+      this.value = t0;
+    },
+    MapJsonObject: function MapJsonObject(t0) {
+      this.value = t0;
+    },
+    NumJsonObject: function NumJsonObject(t0) {
+      this.value = t0;
+    },
+    StringJsonObject: function StringJsonObject(t0) {
+      this.value = t0;
+    },
+    RunRequest: function RunRequest() {
+    },
+    _$RunRequestSerializer: function _$RunRequestSerializer() {
+    },
+    _$RunRequest: function _$RunRequest() {
+    },
+    HtmlWebSocketChannel$connect(url, protocols) {
+      var t2, t3, localToForeignController, foreignToLocalController, t4, t5, _null = null,
+        t1 = W.WebSocket_WebSocket(url.toString$0(0), protocols);
+      C.WebSocket_methods.set$binaryType(t1, "arraybuffer");
+      t2 = new B.StreamChannelController(type$.StreamChannelController_dynamic);
+      t3 = type$.dynamic;
+      localToForeignController = P.StreamController_StreamController(_null, _null, true, t3);
+      foreignToLocalController = P.StreamController_StreamController(_null, _null, true, t3);
+      t4 = H._instanceType(foreignToLocalController);
+      t5 = H._instanceType(localToForeignController);
+      t2.set$__StreamChannelController__local(K.GuaranteeChannel$(new P._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new P._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3));
+      t3 = K.GuaranteeChannel$(new P._ControllerStream(localToForeignController, t5._eval$1("_ControllerStream<1>")), new P._StreamSinkWrapper(foreignToLocalController, t4._eval$1("_StreamSinkWrapper<1>")), false, t3);
+      if (t2.__StreamChannelController__foreign === $)
+        t2.set$__StreamChannelController__foreign(t3);
+      else
+        H.throwExpression(H.LateError$fieldAI("_foreign"));
+      t2 = new A.HtmlWebSocketChannel(t1, t2);
+      t2.HtmlWebSocketChannel$1(t1);
+      return t2;
+    },
+    HtmlWebSocketChannel: function HtmlWebSocketChannel(t0, t1) {
+      var _ = this;
+      _._html$_webSocket = t0;
+      _._localCloseReason = _._localCloseCode = null;
+      _._html$_controller = t1;
+      _.__HtmlWebSocketChannel_sink = $;
+    },
+    HtmlWebSocketChannel_closure: function HtmlWebSocketChannel_closure(t0) {
+      this.$this = t0;
+    },
+    HtmlWebSocketChannel_closure0: function HtmlWebSocketChannel_closure0(t0) {
+      this.$this = t0;
+    },
+    HtmlWebSocketChannel_closure1: function HtmlWebSocketChannel_closure1(t0) {
+      this.$this = t0;
+    },
+    HtmlWebSocketChannel_closure2: function HtmlWebSocketChannel_closure2(t0) {
+      this.$this = t0;
+    },
+    HtmlWebSocketChannel__listen_closure: function HtmlWebSocketChannel__listen_closure(t0) {
+      this.$this = t0;
+    },
+    _HtmlWebSocketSink: function _HtmlWebSocketSink(t0, t1) {
+      this._html$_channel = t0;
+      this._sink = t1;
     }
-  }
-  var C = {},
+  },
+  B = {IntSerializer: function IntSerializer(t0) {
+      this.types = t0;
+    }, StreamChannelController: function StreamChannelController(t0) {
+      this.__StreamChannelController__foreign = this.__StreamChannelController__local = $;
+      this.$ti = t0;
+    }},
+  C = {},
+  D = {
+    BuiltList_BuiltList$from(iterable, $E) {
+      var t1;
+      if (iterable instanceof D._BuiltList) {
+        t1 = H.createRuntimeType($E);
+        t1 = H.createRuntimeType(iterable.$ti._precomputed1) === t1;
+      } else
+        t1 = false;
+      if (t1)
+        return $E._eval$1("BuiltList<0>")._as(iterable);
+      else {
+        t1 = new D._BuiltList(P.List_List$from(iterable, false, $E), $E._eval$1("_BuiltList<0>"));
+        t1._list$_maybeCheckForNull$0();
+        return t1;
+      }
+    },
+    ListBuilder_ListBuilder(iterable, $E) {
+      var t1 = new D.ListBuilder($E._eval$1("ListBuilder<0>"));
+      t1.replace$1(0, iterable);
+      return t1;
+    },
+    BuiltList: function BuiltList() {
+    },
+    _BuiltList: function _BuiltList(t0, t1) {
+      this._list = t0;
+      this._list$_hashCode = null;
+      this.$ti = t1;
+    },
+    ListBuilder: function ListBuilder(t0) {
+      this.__ListBuilder__list = $;
+      this._listOwner = null;
+      this.$ti = t0;
+    },
+    DoubleSerializer: function DoubleSerializer(t0) {
+      this.types = t0;
+    },
+    RegisterEvent: function RegisterEvent() {
+    },
+    _$RegisterEventSerializer: function _$RegisterEventSerializer() {
+    },
+    _$RegisterEvent: function _$RegisterEvent(t0, t1) {
+      this.eventData = t0;
+      this.timestamp = t1;
+    },
+    RegisterEventBuilder: function RegisterEventBuilder() {
+      this._register_event$_timestamp = this._register_event$_eventData = this._register_event$_$v = null;
+    },
+    main() {
+      return P.runZonedGuarded(new D.main_closure(), new D.main_closure0(), type$.legacy_Future_void);
+    },
+    main_closure: function main_closure() {
+    },
+    main__closure: function main__closure(t0) {
+      this.manager = t0;
+    },
+    main__closure0: function main__closure0(t0) {
+      this.client = t0;
+    },
+    main___closure1: function main___closure1(t0, t1) {
+      this.kind = t0;
+      this.eventData = t1;
+    },
+    main__closure1: function main__closure1(t0) {
+      this.client = t0;
+    },
+    main___closure0: function main___closure0(t0) {
+      this.eventData = t0;
+    },
+    main__closure2: function main__closure2(t0) {
+      this.client = t0;
+    },
+    main___closure: function main___closure() {
+    },
+    main__closure3: function main__closure3(t0) {
+      this.manager = t0;
+    },
+    main__closure4: function main__closure4() {
+    },
+    main__closure5: function main__closure5() {
+    },
+    main__closure6: function main__closure6() {
+    },
+    main_closure0: function main_closure0() {
+    }
+  },
+  E = {ConnectRequest: function ConnectRequest() {
+    }, _$ConnectRequestSerializer: function _$ConnectRequestSerializer() {
+    }, _$ConnectRequest: function _$ConnectRequest(t0, t1, t2) {
+      this.appId = t0;
+      this.instanceId = t1;
+      this.entrypointPath = t2;
+    }, ConnectRequestBuilder: function ConnectRequestBuilder() {
+      var _ = this;
+      _._entrypointPath = _._instanceId = _._appId = _._$v = null;
+    }, WebSocketChannelException: function WebSocketChannelException(t0) {
+      this.message = t0;
+    }},
+  F = {
+    Logger_Logger($name) {
+      return $.Logger__loggers.putIfAbsent$2(0, $name, new F.Logger_Logger_closure($name));
+    },
+    Logger: function Logger(t0, t1, t2) {
+      var _ = this;
+      _.name = t0;
+      _.parent = t1;
+      _._level = null;
+      _._children = t2;
+    },
+    Logger_Logger_closure: function Logger_Logger_closure(t0) {
+      this.name = t0;
+    }
+  },
+  G = {DebugEvent: function DebugEvent() {
+    }, _$DebugEventSerializer: function _$DebugEventSerializer() {
+    }, _$DebugEvent: function _$DebugEvent(t0, t1, t2) {
+      this.kind = t0;
+      this.eventData = t1;
+      this.timestamp = t2;
+    }, DebugEventBuilder: function DebugEventBuilder() {
+      var _ = this;
+      _._timestamp = _._eventData = _._debug_event$_kind = _._debug_event$_$v = null;
+    }},
   H = {JS_CONST: function JS_CONST() {
     },
-    CastIterable_CastIterable: function(source, $S, $T) {
+    CastIterable_CastIterable(source, $S, $T) {
       if ($S._eval$1("EfficientLengthIterable<0>")._is(source))
         return new H._EfficientLengthCastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("_EfficientLengthCastIterable<1,2>"));
       return new H.CastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("CastIterable<1,2>"));
     },
-    LateError$fieldADI: function(fieldName) {
-      return new H.LateError("Field '" + fieldName + "' has been assigned during initialization.");
+    LateError$fieldADI(fieldName) {
+      return new H.LateError("Field '" + H.S(fieldName) + "' has been assigned during initialization.");
     },
-    LateError$fieldNI: function(fieldName) {
+    LateError$fieldNI(fieldName) {
       return new H.LateError("Field '" + fieldName + "' has not been initialized.");
     },
-    LateError$fieldAI: function(fieldName) {
+    LateError$fieldAI(fieldName) {
       return new H.LateError("Field '" + fieldName + "' has already been initialized.");
     },
-    ReachabilityError$: function(_message) {
+    ReachabilityError$(_message) {
       return new H.ReachabilityError(_message);
     },
-    hexDigitValue: function(char) {
+    hexDigitValue(char) {
       var letter,
         digit = char ^ 48;
       if (digit <= 9)
@@ -283,12 +540,12 @@
         return letter - 87;
       return -1;
     },
-    checkNotNullable: function(value, $name, $T) {
+    checkNotNullable(value, $name, $T) {
       if (value == null)
         throw H.wrapException(new H.NotNullableError($name, $T._eval$1("NotNullableError<0>")));
       return value;
     },
-    SubListIterable$: function(_iterable, _start, _endOrLength, $E) {
+    SubListIterable$(_iterable, _start, _endOrLength, $E) {
       P.RangeError_checkNotNegative(_start, "start");
       if (_endOrLength != null) {
         P.RangeError_checkNotNegative(_endOrLength, "end");
@@ -297,12 +554,12 @@
       }
       return new H.SubListIterable(_iterable, _start, _endOrLength, $E._eval$1("SubListIterable<0>"));
     },
-    MappedIterable_MappedIterable: function(iterable, $function, $S, $T) {
+    MappedIterable_MappedIterable(iterable, $function, $S, $T) {
       if (type$.EfficientLengthIterable_dynamic._is(iterable))
         return new H.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
       return new H.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
     },
-    SkipIterable_SkipIterable: function(iterable, count, $E) {
+    SkipIterable_SkipIterable(iterable, count, $E) {
       if (type$.EfficientLengthIterable_dynamic._is(iterable)) {
         P.RangeError_checkNotNegative(count, "count");
         return new H.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>"));
@@ -310,25 +567,25 @@
       P.RangeError_checkNotNegative(count, "count");
       return new H.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>"));
     },
-    IterableElementError_noElement: function() {
+    IterableElementError_noElement() {
       return new P.StateError("No element");
     },
-    IterableElementError_tooMany: function() {
+    IterableElementError_tooMany() {
       return new P.StateError("Too many elements");
     },
-    IterableElementError_tooFew: function() {
+    IterableElementError_tooFew() {
       return new P.StateError("Too few elements");
     },
-    Sort_sort: function(a, compare, $E) {
+    Sort_sort(a, compare, $E) {
       H.Sort__doSort(a, 0, J.get$length$asx(a) - 1, compare, $E);
     },
-    Sort__doSort: function(a, left, right, compare, $E) {
+    Sort__doSort(a, left, right, compare, $E) {
       if (right - left <= 32)
         H.Sort__insertionSort(a, left, right, compare, $E);
       else
         H.Sort__dualPivotQuicksort(a, left, right, compare, $E);
     },
-    Sort__insertionSort: function(a, left, right, compare, $E) {
+    Sort__insertionSort(a, left, right, compare, $E) {
       var i, t1, el, j, t2, j0;
       for (i = left + 1, t1 = J.getInterceptor$asx(a); i <= right; ++i) {
         el = t1.$index(a, i);
@@ -350,7 +607,7 @@
         t1.$indexSet(a, j, el);
       }
     },
-    Sort__dualPivotQuicksort: function(a, left, right, compare, $E) {
+    Sort__dualPivotQuicksort(a, left, right, compare, $E) {
       var t0, less, great, k, ak, comp, great0, less0, pivots_are_equal, comp_pivot1, comp_pivot2,
         sixth = C.JSInt_methods._tdivFast$1(right - left + 1, 6),
         index1 = left + sixth,
@@ -628,7 +885,7 @@
     nullFuture_closure: function nullFuture_closure() {
     },
     NotNullableError: function NotNullableError(t0, t1) {
-      this.__internal$_name = t0;
+      this._name = t0;
       this.$ti = t1;
     },
     EfficientLengthIterable: function EfficientLengthIterable() {
@@ -714,20 +971,20 @@
       this.$ti = t1;
     },
     Symbol: function Symbol(t0) {
-      this.__internal$_name = t0;
+      this._name = t0;
     },
     __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() {
     },
-    ConstantMap__throwUnmodifiable: function() {
+    ConstantMap__throwUnmodifiable() {
       throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable Map"));
     },
-    unminifyOrTag: function(rawClassName) {
-      var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName);
+    unminifyOrTag(rawClassName) {
+      var preserved = init.mangledGlobalNames[rawClassName];
       if (preserved != null)
         return preserved;
       return rawClassName;
     },
-    isJsIndexable: function(object, record) {
+    isJsIndexable(object, record) {
       var result;
       if (record != null) {
         result = record.x;
@@ -736,7 +993,7 @@
       }
       return type$.JavaScriptIndexingBehavior_dynamic._is(object);
     },
-    S: function(value) {
+    S(value) {
       var res;
       if (typeof value == "string")
         return value;
@@ -754,7 +1011,7 @@
         throw H.wrapException(H.argumentErrorValue(value));
       return res;
     },
-    Primitives_objectHashCode: function(object) {
+    Primitives_objectHashCode(object) {
       var hash = object.$identityHash;
       if (hash == null) {
         hash = Math.random() * 0x3fffffff | 0;
@@ -762,7 +1019,7 @@
       }
       return hash;
     },
-    Primitives_parseInt: function(source, radix) {
+    Primitives_parseInt(source, radix) {
       var match, decimalMatch, maxCharCode, digitsPart, t1, i, _null = null;
       if (typeof source != "string")
         H.throwExpression(H.argumentErrorValue(source));
@@ -792,10 +1049,10 @@
       }
       return parseInt(source, radix);
     },
-    Primitives_objectTypeName: function(object) {
+    Primitives_objectTypeName(object) {
       return H.Primitives__objectTypeNameNewRti(object);
     },
-    Primitives__objectTypeNameNewRti: function(object) {
+    Primitives__objectTypeNameNewRti(object) {
       var dispatchName, t1, $constructor, constructorName;
       if (object instanceof P.Object)
         return H._rtiToString(H.instanceType(object), null);
@@ -817,7 +1074,7 @@
       }
       return H._rtiToString(H.instanceType(object), null);
     },
-    Primitives__fromCharCodeApply: function(array) {
+    Primitives__fromCharCodeApply(array) {
       var result, i, i0, chunkEnd,
         end = array.length;
       if (end <= 500)
@@ -829,9 +1086,9 @@
       }
       return result;
     },
-    Primitives_stringFromCodePoints: function(codePoints) {
+    Primitives_stringFromCodePoints(codePoints) {
       var t1, _i, i,
-        a = H.setRuntimeTypeInfo([], type$.JSArray_int);
+        a = H._setArrayType([], type$.JSArray_int);
       for (t1 = codePoints.length, _i = 0; _i < codePoints.length; codePoints.length === t1 || (0, H.throwConcurrentModificationError)(codePoints), ++_i) {
         i = codePoints[_i];
         if (!H._isInt(i))
@@ -846,7 +1103,7 @@
       }
       return H.Primitives__fromCharCodeApply(a);
     },
-    Primitives_stringFromCharCodes: function(charCodes) {
+    Primitives_stringFromCharCodes(charCodes) {
       var t1, _i, i;
       for (t1 = charCodes.length, _i = 0; _i < t1; ++_i) {
         i = charCodes[_i];
@@ -859,7 +1116,7 @@
       }
       return H.Primitives__fromCharCodeApply(charCodes);
     },
-    Primitives_stringFromNativeUint8List: function(charCodes, start, end) {
+    Primitives_stringFromNativeUint8List(charCodes, start, end) {
       var i, result, i0, chunkEnd;
       if (end <= 500 && start === 0 && end === charCodes.length)
         return String.fromCharCode.apply(null, charCodes);
@@ -870,7 +1127,7 @@
       }
       return result;
     },
-    Primitives_stringFromCharCode: function(charCode) {
+    Primitives_stringFromCharCode(charCode) {
       var bits;
       if (0 <= charCode) {
         if (charCode <= 65535)
@@ -882,33 +1139,33 @@
       }
       throw H.wrapException(P.RangeError$range(charCode, 0, 1114111, null, null));
     },
-    Primitives_lazyAsJsDate: function(receiver) {
+    Primitives_lazyAsJsDate(receiver) {
       if (receiver.date === void 0)
         receiver.date = new Date(receiver._value);
       return receiver.date;
     },
-    Primitives_getYear: function(receiver) {
+    Primitives_getYear(receiver) {
       return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0 : H.Primitives_lazyAsJsDate(receiver).getFullYear() + 0;
     },
-    Primitives_getMonth: function(receiver) {
+    Primitives_getMonth(receiver) {
       return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1 : H.Primitives_lazyAsJsDate(receiver).getMonth() + 1;
     },
-    Primitives_getDay: function(receiver) {
+    Primitives_getDay(receiver) {
       return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0 : H.Primitives_lazyAsJsDate(receiver).getDate() + 0;
     },
-    Primitives_getHours: function(receiver) {
+    Primitives_getHours(receiver) {
       return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0 : H.Primitives_lazyAsJsDate(receiver).getHours() + 0;
     },
-    Primitives_getMinutes: function(receiver) {
+    Primitives_getMinutes(receiver) {
       return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0 : H.Primitives_lazyAsJsDate(receiver).getMinutes() + 0;
     },
-    Primitives_getSeconds: function(receiver) {
+    Primitives_getSeconds(receiver) {
       return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0 : H.Primitives_lazyAsJsDate(receiver).getSeconds() + 0;
     },
-    Primitives_getMilliseconds: function(receiver) {
+    Primitives_getMilliseconds(receiver) {
       return receiver.isUtc ? H.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : H.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0;
     },
-    Primitives_functionNoSuchMethod: function($function, positionalArguments, namedArguments) {
+    Primitives_functionNoSuchMethod($function, positionalArguments, namedArguments) {
       var $arguments, namedArgumentList, t1 = {};
       t1.argumentCount = 0;
       $arguments = [];
@@ -921,43 +1178,42 @@
       "" + t1.argumentCount;
       return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, 0, $arguments, namedArgumentList, 0));
     },
-    Primitives_applyFunction: function($function, positionalArguments, namedArguments) {
-      var t1, $arguments, argumentCount, jsStub;
-      if (positionalArguments instanceof Array)
+    Primitives_applyFunction($function, positionalArguments, namedArguments) {
+      var t1, argumentCount, jsStub;
+      if (Array.isArray(positionalArguments))
         t1 = namedArguments == null || namedArguments.get$isEmpty(namedArguments);
       else
         t1 = false;
       if (t1) {
-        $arguments = positionalArguments;
-        argumentCount = $arguments.length;
+        argumentCount = positionalArguments.length;
         if (argumentCount === 0) {
           if (!!$function.call$0)
             return $function.call$0();
         } else if (argumentCount === 1) {
           if (!!$function.call$1)
-            return $function.call$1($arguments[0]);
+            return $function.call$1(positionalArguments[0]);
         } else if (argumentCount === 2) {
           if (!!$function.call$2)
-            return $function.call$2($arguments[0], $arguments[1]);
+            return $function.call$2(positionalArguments[0], positionalArguments[1]);
         } else if (argumentCount === 3) {
           if (!!$function.call$3)
-            return $function.call$3($arguments[0], $arguments[1], $arguments[2]);
+            return $function.call$3(positionalArguments[0], positionalArguments[1], positionalArguments[2]);
         } else if (argumentCount === 4) {
           if (!!$function.call$4)
-            return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]);
+            return $function.call$4(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3]);
         } else if (argumentCount === 5)
           if (!!$function.call$5)
-            return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]);
+            return $function.call$5(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3], positionalArguments[4]);
         jsStub = $function["call" + "$" + argumentCount];
         if (jsStub != null)
-          return jsStub.apply($function, $arguments);
+          return jsStub.apply($function, positionalArguments);
       }
-      return H.Primitives__genericApplyFunction2($function, positionalArguments, namedArguments);
+      return H.Primitives__generalApplyFunction($function, positionalArguments, namedArguments);
     },
-    Primitives__genericApplyFunction2: function($function, positionalArguments, namedArguments) {
-      var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, keys, _i, defaultValue, used, key;
+    Primitives__generalApplyFunction($function, positionalArguments, namedArguments) {
+      var $arguments, argumentCount, requiredParameterCount, defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, maxArguments, missingDefaults, keys, _i, defaultValue, used, key;
       if (positionalArguments != null)
-        $arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, true, type$.dynamic);
+        $arguments = Array.isArray(positionalArguments) ? positionalArguments : P.List_List$of(positionalArguments, true, type$.dynamic);
       else
         $arguments = [];
       argumentCount = $arguments.length;
@@ -978,16 +1234,24 @@
           return jsFunction.apply($function, $arguments);
         return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
       }
-      if (defaultValues instanceof Array) {
+      if (Array.isArray(defaultValues)) {
         if (namedArguments != null && namedArguments.get$isNotEmpty(namedArguments))
           return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
-        if (argumentCount > requiredParameterCount + defaultValues.length)
+        maxArguments = requiredParameterCount + defaultValues.length;
+        if (argumentCount > maxArguments)
           return H.Primitives_functionNoSuchMethod($function, $arguments, null);
-        C.JSArray_methods.addAll$1($arguments, defaultValues.slice(argumentCount - requiredParameterCount));
+        if (argumentCount < maxArguments) {
+          missingDefaults = defaultValues.slice(argumentCount - requiredParameterCount);
+          if ($arguments === positionalArguments)
+            $arguments = P.List_List$of($arguments, true, type$.dynamic);
+          C.JSArray_methods.addAll$1($arguments, missingDefaults);
+        }
         return jsFunction.apply($function, $arguments);
       } else {
         if (argumentCount > requiredParameterCount)
           return H.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
+        if ($arguments === positionalArguments)
+          $arguments = P.List_List$of($arguments, true, type$.dynamic);
         keys = Object.keys(defaultValues);
         if (namedArguments == null)
           for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
@@ -1015,15 +1279,15 @@
         return jsFunction.apply($function, $arguments);
       }
     },
-    iae: function(argument) {
+    iae(argument) {
       throw H.wrapException(H.argumentErrorValue(argument));
     },
-    ioore: function(receiver, index) {
+    ioore(receiver, index) {
       if (receiver == null)
         J.get$length$asx(receiver);
       throw H.wrapException(H.diagnoseIndexError(receiver, index));
     },
-    diagnoseIndexError: function(indexable, index) {
+    diagnoseIndexError(indexable, index) {
       var $length, t1, _s5_ = "index";
       if (!H._isInt(index))
         return new P.ArgumentError(true, index, _s5_, null);
@@ -1038,7 +1302,7 @@
         return P.IndexError$(index, indexable, _s5_, null, $length);
       return P.RangeError$value(index, _s5_);
     },
-    diagnoseRangeError: function(start, end, $length) {
+    diagnoseRangeError(start, end, $length) {
       if (start > $length)
         return P.RangeError$range(start, 0, $length, "start", null);
       if (end != null)
@@ -1046,15 +1310,15 @@
           return P.RangeError$range(end, start, $length, "end", null);
       return new P.ArgumentError(true, end, "end", null);
     },
-    argumentErrorValue: function(object) {
+    argumentErrorValue(object) {
       return new P.ArgumentError(true, object, null, null);
     },
-    checkNum: function(value) {
+    checkNum(value) {
       if (typeof value != "number")
         throw H.wrapException(H.argumentErrorValue(value));
       return value;
     },
-    wrapException: function(ex) {
+    wrapException(ex) {
       var wrapper, t1;
       if (ex == null)
         ex = new P.NullThrownError();
@@ -1068,21 +1332,21 @@
         wrapper.toString = t1;
       return wrapper;
     },
-    toStringWrapper: function() {
+    toStringWrapper() {
       return J.toString$0$(this.dartException);
     },
-    throwExpression: function(ex) {
+    throwExpression(ex) {
       throw H.wrapException(ex);
     },
-    throwConcurrentModificationError: function(collection) {
+    throwConcurrentModificationError(collection) {
       throw H.wrapException(P.ConcurrentModificationError$(collection));
     },
-    TypeErrorDecoder_extractPattern: function(message) {
+    TypeErrorDecoder_extractPattern(message) {
       var match, $arguments, argumentsExpr, expr, method, receiver;
       message = H.quoteStringForRegExp(message.replace(String({}), "$receiver$"));
       match = message.match(/\\\$[a-zA-Z]+\\\$/g);
       if (match == null)
-        match = H.setRuntimeTypeInfo([], type$.JSArray_String);
+        match = H._setArrayType([], type$.JSArray_String);
       $arguments = match.indexOf("\\$arguments\\$");
       argumentsExpr = match.indexOf("\\$argumentsExpr\\$");
       expr = match.indexOf("\\$expr\\$");
@@ -1090,7 +1354,7 @@
       receiver = match.indexOf("\\$receiver\\$");
       return new H.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver);
     },
-    TypeErrorDecoder_provokeCallErrorOn: function(expression) {
+    TypeErrorDecoder_provokeCallErrorOn(expression) {
       return function($expr$) {
         var $argumentsExpr$ = "$arguments$";
         try {
@@ -1100,7 +1364,7 @@
         }
       }(expression);
     },
-    TypeErrorDecoder_provokePropertyErrorOn: function(expression) {
+    TypeErrorDecoder_provokePropertyErrorOn(expression) {
       return function($expr$) {
         try {
           $expr$.$method$;
@@ -1109,12 +1373,12 @@
         }
       }(expression);
     },
-    JsNoSuchMethodError$: function(_message, match) {
+    JsNoSuchMethodError$(_message, match) {
       var t1 = match == null,
         t2 = t1 ? null : match.method;
       return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver);
     },
-    unwrapException: function(ex) {
+    unwrapException(ex) {
       if (ex == null)
         return new H.NullThrownFromJavaScriptException(ex);
       if (ex instanceof H.ExceptionAndStackTrace)
@@ -1125,13 +1389,13 @@
         return H.saveStackTrace(ex, ex.dartException);
       return H._unwrapNonDartException(ex);
     },
-    saveStackTrace: function(ex, error) {
+    saveStackTrace(ex, error) {
       if (type$.Error._is(error))
         if (error.$thrownJsError == null)
           error.$thrownJsError = ex;
       return error;
     },
-    _unwrapNonDartException: function(ex) {
+    _unwrapNonDartException(ex) {
       var message, number, ieErrorCode, t1, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, _null = null;
       if (!("message" in ex))
         return ex;
@@ -1224,7 +1488,7 @@
           return new P.StackOverflowError();
       return ex;
     },
-    getTraceFromException: function(exception) {
+    getTraceFromException(exception) {
       var trace;
       if (exception instanceof H.ExceptionAndStackTrace)
         return exception.stackTrace;
@@ -1235,13 +1499,13 @@
         return trace;
       return exception.$cachedTrace = new H._StackTrace(exception);
     },
-    objectHashCode: function(object) {
+    objectHashCode(object) {
       if (object == null || typeof object != "object")
         return J.get$hashCode$(object);
       else
         return H.Primitives_objectHashCode(object);
     },
-    fillLiteralMap: function(keyValuePairs, result) {
+    fillLiteralMap(keyValuePairs, result) {
       var index, index0, index1,
         $length = keyValuePairs.length;
       for (index = 0; index < $length; index = index1) {
@@ -1251,7 +1515,7 @@
       }
       return result;
     },
-    invokeClosure: function(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
+    invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
       type$.Function._as(closure);
       switch (H._asIntS(numberOfArguments)) {
         case 0:
@@ -1267,7 +1531,7 @@
       }
       throw H.wrapException(P.Exception_Exception("Unsupported number of arguments for wrapped closure"));
     },
-    convertDartClosureToJS: function(closure, arity) {
+    convertDartClosureToJS(closure, arity) {
       var $function;
       if (closure == null)
         return null;
@@ -1282,130 +1546,140 @@
       closure.$identity = $function;
       return $function;
     },
-    Closure_fromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) {
-      var $constructor, t1, trampoline, applyTrampoline, i, stub, stubCallName,
-        $function = functions[0],
-        callName = $function.$callName,
-        $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(null, null, null, "").constructor.prototype);
+    Closure_fromTearOff(parameters) {
+      var $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName,
+        container = parameters.co,
+        isStatic = parameters.iS,
+        isIntercepted = parameters.iI,
+        needsDirectAccess = parameters.nDA,
+        applyTrampolineIndex = parameters.aI,
+        funsOrNames = parameters.fs,
+        callNames = parameters.cs,
+        $name = funsOrNames[0],
+        callName = callNames[0],
+        $function = container[$name],
+        t1 = parameters.fT;
+      t1.toString;
+      H.boolConversionCheck(isStatic);
+      $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(null, null).constructor.prototype);
       $prototype.$initialize = $prototype.constructor;
       if (isStatic)
         $constructor = function static_tear_off() {
           this.$initialize();
         };
       else {
-        t1 = $.Closure_functionCounter;
-        if (typeof t1 !== "number")
-          return t1.$add();
-        $.Closure_functionCounter = t1 + 1;
-        t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")");
-        $constructor = t1;
+        t2 = $.Closure_functionCounter;
+        if (typeof t2 !== "number")
+          return t2.$add();
+        $.Closure_functionCounter = t2 + 1;
+        t2 = new Function("a,b" + t2, "this.$initialize(a,b" + t2 + ")");
+        $constructor = t2;
       }
       $prototype.constructor = $constructor;
       $constructor.prototype = $prototype;
-      if (!isStatic) {
-        trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted);
-        trampoline.$reflectionInfo = reflectionInfo;
-      } else {
-        $prototype.$static_name = propertyName;
+      $prototype.$_name = $name;
+      $prototype.$_target = $function;
+      t2 = !isStatic;
+      if (t2)
+        trampoline = H.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess);
+      else {
+        $prototype.$static_name = $name;
         trampoline = $function;
       }
-      $prototype.$signature = H.Closure__computeSignatureFunctionNewRti(reflectionInfo, isStatic, isIntercepted);
+      $prototype.$signature = H.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted);
       $prototype[callName] = trampoline;
-      for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) {
-        stub = functions[i];
-        stubCallName = stub.$callName;
+      for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) {
+        stub = funsOrNames[i];
+        if (typeof stub == "string") {
+          stub0 = container[stub];
+          stubName = stub;
+          stub = stub0;
+        } else
+          stubName = "";
+        stubCallName = callNames[i];
         if (stubCallName != null) {
-          stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted);
+          if (t2)
+            stub = H.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess);
           $prototype[stubCallName] = stub;
         }
-        if (i === applyTrampolineIndex) {
-          stub.$reflectionInfo = reflectionInfo;
+        if (i === applyTrampolineIndex)
           applyTrampoline = stub;
-        }
       }
       $prototype["call*"] = applyTrampoline;
-      $prototype.$requiredArgCount = $function.$requiredArgCount;
-      $prototype.$defaultValues = $function.$defaultValues;
+      $prototype.$requiredArgCount = parameters.rC;
+      $prototype.$defaultValues = parameters.dV;
       return $constructor;
     },
-    Closure__computeSignatureFunctionNewRti: function(functionType, isStatic, isIntercepted) {
-      var typeEvalMethod;
+    Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) {
       if (typeof functionType == "number")
-        return function(getType, t) {
-          return function() {
-            return getType(t);
-          };
-        }(H.getTypeFromTypesTable, functionType);
+        return functionType;
       if (typeof functionType == "string") {
-        if (isStatic)
+        if (H.boolConversionCheck(isStatic))
           throw H.wrapException("Cannot compute signature for static tearoff.");
-        typeEvalMethod = isIntercepted ? H.BoundClosure_evalRecipeIntercepted : H.BoundClosure_evalRecipe;
         return function(recipe, evalOnReceiver) {
           return function() {
             return evalOnReceiver(this, recipe);
           };
-        }(functionType, typeEvalMethod);
+        }(functionType, H.BoundClosure_evalRecipe);
       }
       throw H.wrapException("Error in functionType of tearoff");
     },
-    Closure_cspForwardCall: function(arity, isSuperCall, stubName, $function) {
-      var getSelf = H.BoundClosure_selfOf;
-      switch (isSuperCall ? -1 : arity) {
+    Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) {
+      var getReceiver = H.BoundClosure_receiverOf;
+      switch (H.boolConversionCheck(needsDirectAccess) ? -1 : arity) {
         case 0:
-          return function(n, S) {
+          return function(entry, receiverOf) {
             return function() {
-              return S(this)[n]();
+              return receiverOf(this)[entry]();
             };
-          }(stubName, getSelf);
+          }(stubName, getReceiver);
         case 1:
-          return function(n, S) {
+          return function(entry, receiverOf) {
             return function(a) {
-              return S(this)[n](a);
+              return receiverOf(this)[entry](a);
             };
-          }(stubName, getSelf);
+          }(stubName, getReceiver);
         case 2:
-          return function(n, S) {
+          return function(entry, receiverOf) {
             return function(a, b) {
-              return S(this)[n](a, b);
+              return receiverOf(this)[entry](a, b);
             };
-          }(stubName, getSelf);
+          }(stubName, getReceiver);
         case 3:
-          return function(n, S) {
+          return function(entry, receiverOf) {
             return function(a, b, c) {
-              return S(this)[n](a, b, c);
+              return receiverOf(this)[entry](a, b, c);
             };
-          }(stubName, getSelf);
+          }(stubName, getReceiver);
         case 4:
-          return function(n, S) {
+          return function(entry, receiverOf) {
             return function(a, b, c, d) {
-              return S(this)[n](a, b, c, d);
+              return receiverOf(this)[entry](a, b, c, d);
             };
-          }(stubName, getSelf);
+          }(stubName, getReceiver);
         case 5:
-          return function(n, S) {
+          return function(entry, receiverOf) {
             return function(a, b, c, d, e) {
-              return S(this)[n](a, b, c, d, e);
+              return receiverOf(this)[entry](a, b, c, d, e);
             };
-          }(stubName, getSelf);
+          }(stubName, getReceiver);
         default:
-          return function(f, s) {
+          return function(f, receiverOf) {
             return function() {
-              return f.apply(s(this), arguments);
+              return f.apply(receiverOf(this), arguments);
             };
-          }($function, getSelf);
+          }($function, getReceiver);
       }
     },
-    Closure_forwardCallTo: function(receiver, $function, isIntercepted) {
-      var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments;
-      if (isIntercepted)
-        return H.Closure_forwardInterceptedCallTo(receiver, $function);
-      stubName = $function.$stubName;
+    Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) {
+      var arity, t1, selfName, t2, $arguments,
+        _s8_ = "receiver";
+      if (H.boolConversionCheck(isIntercepted))
+        return H.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess);
       arity = $function.length;
-      lookedUpFunction = receiver[stubName];
-      t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
-      t2 = !t1 || arity >= 27;
-      if (t2)
-        return H.Closure_cspForwardCall(arity, !t1, stubName, $function);
+      t1 = H.boolConversionCheck(needsDirectAccess) || arity >= 27;
+      if (t1)
+        return H.Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function);
       if (arity === 0) {
         t1 = $.Closure_functionCounter;
         if (typeof t1 !== "number")
@@ -1413,8 +1687,8 @@
         $.Closure_functionCounter = t1 + 1;
         selfName = "self" + t1;
         t1 = "return function(){var " + selfName + " = this.";
-        t2 = $.BoundClosure_selfFieldNameCache;
-        return new Function(t1 + (t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + ";return " + selfName + "." + H.S(stubName) + "();}")();
+        t2 = $.BoundClosure__receiverFieldNameCache;
+        return new Function(t1 + (t2 == null ? $.BoundClosure__receiverFieldNameCache = H.BoundClosure__computeFieldNamed(_s8_) : t2) + ";return " + selfName + "." + H.S(stubName) + "();}")();
       }
       $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(",");
       t1 = $.Closure_functionCounter;
@@ -1423,78 +1697,75 @@
       $.Closure_functionCounter = t1 + 1;
       $arguments += t1;
       t1 = "return function(" + $arguments + "){return this.";
-      t2 = $.BoundClosure_selfFieldNameCache;
-      return new Function(t1 + (t2 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t2) + "." + H.S(stubName) + "(" + $arguments + ");}")();
+      t2 = $.BoundClosure__receiverFieldNameCache;
+      return new Function(t1 + (t2 == null ? $.BoundClosure__receiverFieldNameCache = H.BoundClosure__computeFieldNamed(_s8_) : t2) + "." + H.S(stubName) + "(" + $arguments + ");}")();
     },
-    Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $function) {
-      var getSelf = H.BoundClosure_selfOf,
-        getReceiver = H.BoundClosure_receiverOf;
-      switch (isSuperCall ? -1 : arity) {
+    Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) {
+      var getReceiver = H.BoundClosure_receiverOf,
+        getInterceptor = H.BoundClosure_interceptorOf;
+      switch (H.boolConversionCheck(needsDirectAccess) ? -1 : arity) {
         case 0:
           throw H.wrapException(new H.RuntimeError("Intercepted function with no arguments."));
         case 1:
-          return function(n, s, r) {
+          return function(entry, interceptorOf, receiverOf) {
             return function() {
-              return s(this)[n](r(this));
+              return interceptorOf(this)[entry](receiverOf(this));
             };
-          }($name, getSelf, getReceiver);
+          }(stubName, getInterceptor, getReceiver);
         case 2:
-          return function(n, s, r) {
+          return function(entry, interceptorOf, receiverOf) {
             return function(a) {
-              return s(this)[n](r(this), a);
+              return interceptorOf(this)[entry](receiverOf(this), a);
             };
-          }($name, getSelf, getReceiver);
+          }(stubName, getInterceptor, getReceiver);
         case 3:
-          return function(n, s, r) {
+          return function(entry, interceptorOf, receiverOf) {
             return function(a, b) {
-              return s(this)[n](r(this), a, b);
+              return interceptorOf(this)[entry](receiverOf(this), a, b);
             };
-          }($name, getSelf, getReceiver);
+          }(stubName, getInterceptor, getReceiver);
         case 4:
-          return function(n, s, r) {
+          return function(entry, interceptorOf, receiverOf) {
             return function(a, b, c) {
-              return s(this)[n](r(this), a, b, c);
+              return interceptorOf(this)[entry](receiverOf(this), a, b, c);
             };
-          }($name, getSelf, getReceiver);
+          }(stubName, getInterceptor, getReceiver);
         case 5:
-          return function(n, s, r) {
+          return function(entry, interceptorOf, receiverOf) {
             return function(a, b, c, d) {
-              return s(this)[n](r(this), a, b, c, d);
+              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d);
             };
-          }($name, getSelf, getReceiver);
+          }(stubName, getInterceptor, getReceiver);
         case 6:
-          return function(n, s, r) {
+          return function(entry, interceptorOf, receiverOf) {
             return function(a, b, c, d, e) {
-              return s(this)[n](r(this), a, b, c, d, e);
+              return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e);
             };
-          }($name, getSelf, getReceiver);
+          }(stubName, getInterceptor, getReceiver);
         default:
-          return function(f, s, r, a) {
+          return function(f, interceptorOf, receiverOf) {
             return function() {
-              a = [r(this)];
+              var a = [receiverOf(this)];
               Array.prototype.push.apply(a, arguments);
-              return f.apply(s(this), a);
+              return f.apply(interceptorOf(this), a);
             };
-          }($function, getSelf, getReceiver);
+          }($function, getInterceptor, getReceiver);
       }
     },
-    Closure_forwardInterceptedCallTo: function(receiver, $function) {
-      var receiverField, stubName, arity, lookedUpFunction, t1, t2, $arguments,
-        selfField = $.BoundClosure_selfFieldNameCache;
-      if (selfField == null)
-        selfField = $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self");
-      receiverField = $.BoundClosure_receiverFieldNameCache;
+    Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) {
+      var receiverField, arity, t1, t2, $arguments,
+        interceptorField = $.BoundClosure__interceptorFieldNameCache;
+      if (interceptorField == null)
+        interceptorField = $.BoundClosure__interceptorFieldNameCache = H.BoundClosure__computeFieldNamed("interceptor");
+      receiverField = $.BoundClosure__receiverFieldNameCache;
       if (receiverField == null)
-        receiverField = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver");
-      stubName = $function.$stubName;
+        receiverField = $.BoundClosure__receiverFieldNameCache = H.BoundClosure__computeFieldNamed("receiver");
       arity = $function.length;
-      lookedUpFunction = receiver[stubName];
-      t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction;
-      t2 = !t1 || arity >= 28;
-      if (t2)
-        return H.Closure_cspForwardInterceptedCall(arity, !t1, stubName, $function);
+      t1 = H.boolConversionCheck(needsDirectAccess) || arity >= 28;
+      if (t1)
+        return H.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function);
       if (arity === 1) {
-        t1 = "return function(){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ");";
+        t1 = "return function(){return this." + interceptorField + "." + H.S(stubName) + "(this." + receiverField + ");";
         t2 = $.Closure_functionCounter;
         if (typeof t2 !== "number")
           return t2.$add();
@@ -1502,60 +1773,54 @@
         return new Function(t1 + t2 + "}")();
       }
       $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(",");
-      t1 = "return function(" + $arguments + "){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ", " + $arguments + ");";
+      t1 = "return function(" + $arguments + "){return this." + interceptorField + "." + H.S(stubName) + "(this." + receiverField + ", " + $arguments + ");";
       t2 = $.Closure_functionCounter;
       if (typeof t2 !== "number")
         return t2.$add();
       $.Closure_functionCounter = t2 + 1;
       return new Function(t1 + t2 + "}")();
     },
-    closureFromTearOff: function(receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) {
-      return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name);
+    closureFromTearOff(parameters) {
+      return H.Closure_fromTearOff(parameters);
     },
-    BoundClosure_evalRecipe: function(closure, recipe) {
-      return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._self), recipe);
-    },
-    BoundClosure_evalRecipeIntercepted: function(closure, recipe) {
+    BoundClosure_evalRecipe(closure, recipe) {
       return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._receiver), recipe);
     },
-    BoundClosure_selfOf: function(closure) {
-      return closure._self;
-    },
-    BoundClosure_receiverOf: function(closure) {
+    BoundClosure_receiverOf(closure) {
       return closure._receiver;
     },
-    BoundClosure_computeFieldNamed: function(fieldName) {
+    BoundClosure_interceptorOf(closure) {
+      return closure._interceptor;
+    },
+    BoundClosure__computeFieldNamed(fieldName) {
       var t1, i, $name,
-        template = new H.BoundClosure("self", "target", "receiver", "name"),
+        template = new H.BoundClosure("receiver", "interceptor"),
         names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.nullable_Object);
       for (t1 = names.length, i = 0; i < t1; ++i) {
         $name = names[i];
         if (template[$name] === fieldName)
           return $name;
       }
-      throw H.wrapException(P.ArgumentError$("Field name " + fieldName + " not found."));
+      throw H.wrapException(P.ArgumentError$("Field name " + fieldName + " not found.", null));
     },
-    boolConversionCheck: function(value) {
+    boolConversionCheck(value) {
       if (value == null)
         H.assertThrow("boolean expression must not be null");
       return value;
     },
-    assertThrow: function(message) {
+    assertThrow(message) {
       throw H.wrapException(new H._AssertionError(message));
     },
-    throwCyclicInit: function(staticName) {
+    throwCyclicInit(staticName) {
       throw H.wrapException(new P.CyclicInitializationError(staticName));
     },
-    getIsolateAffinityTag: function($name) {
+    getIsolateAffinityTag($name) {
       return init.getIsolateTag($name);
     },
-    throwLateInitializationError: function($name) {
-      return H.throwExpression(new H.LateError($name));
-    },
-    defineProperty: function(obj, property, value) {
+    defineProperty(obj, property, value) {
       Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
     },
-    lookupAndCacheInterceptor: function(obj) {
+    lookupAndCacheInterceptor(obj) {
       var interceptor, interceptorClass, altTag, mark, t1,
         tag = H._asStringS($.getTagFunction.call$1(obj)),
         record = $.dispatchRecordsForInstanceTags[tag];
@@ -1612,28 +1877,28 @@
       } else
         return H.patchInteriorProto(obj, interceptor);
     },
-    patchInteriorProto: function(obj, interceptor) {
+    patchInteriorProto(obj, interceptor) {
       var proto = Object.getPrototypeOf(obj);
       Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true});
       return interceptor;
     },
-    makeLeafDispatchRecord: function(interceptor) {
+    makeLeafDispatchRecord(interceptor) {
       return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
     },
-    makeDefaultDispatchRecord: function(tag, interceptorClass, proto) {
+    makeDefaultDispatchRecord(tag, interceptorClass, proto) {
       var interceptor = interceptorClass.prototype;
       if (init.leafTags[tag] === true)
         return H.makeLeafDispatchRecord(interceptor);
       else
         return J.makeDispatchRecord(interceptor, proto, null, null);
     },
-    initNativeDispatch: function() {
+    initNativeDispatch() {
       if (true === $.initNativeDispatchFlag)
         return;
       $.initNativeDispatchFlag = true;
       H.initNativeDispatchContinue();
     },
-    initNativeDispatchContinue: function() {
+    initNativeDispatchContinue() {
       var map, tags, fun, i, tag, proto, record, interceptorClass;
       $.dispatchRecordsForInstanceTags = Object.create(null);
       $.interceptorsForUncacheableTags = Object.create(null);
@@ -1668,7 +1933,7 @@
         }
       }
     },
-    initHooks: function() {
+    initHooks() {
       var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag,
         hooks = C.C_JS_CONST0();
       hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks)))))));
@@ -1690,10 +1955,10 @@
       $.alternateTagFunction = new H.initHooks_closure0(getUnknownTag);
       $.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag);
     },
-    applyHooksTransformer: function(transformer, hooks) {
+    applyHooksTransformer(transformer, hooks) {
       return transformer(hooks) || hooks;
     },
-    JSSyntaxRegExp_makeNative: function(source, multiLine, caseSensitive, unicode, dotAll, global) {
+    JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, global) {
       var m = multiLine ? "m" : "",
         i = caseSensitive ? "" : "i",
         u = unicode ? "u" : "",
@@ -1710,7 +1975,7 @@
         return regexp;
       throw H.wrapException(P.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null));
     },
-    stringContainsUnchecked: function(receiver, other, startIndex) {
+    stringContainsUnchecked(receiver, other, startIndex) {
       var t1, t2;
       if (typeof other == "string")
         return receiver.indexOf(other, startIndex) >= 0;
@@ -1723,12 +1988,12 @@
         return !t1.get$isEmpty(t1);
       }
     },
-    quoteStringForRegExp: function(string) {
+    quoteStringForRegExp(string) {
       if (/[[\]{}()*+?.\\^$|]/.test(string))
         return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");
       return string;
     },
-    stringReplaceRangeUnchecked: function(receiver, start, end, replacement) {
+    stringReplaceRangeUnchecked(receiver, start, end, replacement) {
       var prefix = receiver.substring(0, start),
         suffix = receiver.substring(end);
       return prefix + replacement + suffix;
@@ -1802,16 +2067,17 @@
     },
     Closure: function Closure() {
     },
+    Closure0Args: function Closure0Args() {
+    },
+    Closure2Args: function Closure2Args() {
+    },
     TearOffClosure: function TearOffClosure() {
     },
     StaticClosure: function StaticClosure() {
     },
-    BoundClosure: function BoundClosure(t0, t1, t2, t3) {
-      var _ = this;
-      _._self = t0;
-      _._target = t1;
-      _._receiver = t2;
-      _._name = t3;
+    BoundClosure: function BoundClosure(t0, t1) {
+      this._receiver = t0;
+      this._interceptor = t1;
     },
     RuntimeError: function RuntimeError(t0) {
       this.message = t0;
@@ -1894,25 +2160,36 @@
       _.__js_helper$_index = t2;
       _.__js_helper$_current = null;
     },
-    _checkViewArguments: function(buffer, offsetInBytes, $length) {
-      if (!H._isInt(offsetInBytes))
-        throw H.wrapException(P.ArgumentError$("Invalid view offsetInBytes " + H.S(offsetInBytes)));
+    throwLateFieldADI(fieldName) {
+      return H.throwExpression(H.LateError$fieldADI(fieldName));
     },
-    _ensureNativeList: function(list) {
+    _Cell$named(_name) {
+      var t1 = new H._Cell(_name);
+      return t1.__late_helper$_value = t1;
+    },
+    _Cell: function _Cell(t0) {
+      this.__late_helper$_name = t0;
+      this.__late_helper$_value = null;
+    },
+    _checkViewArguments(buffer, offsetInBytes, $length) {
+      if (!H._isInt(offsetInBytes))
+        throw H.wrapException(P.ArgumentError$("Invalid view offsetInBytes " + H.S(offsetInBytes), null));
+    },
+    _ensureNativeList(list) {
       return list;
     },
-    NativeInt8List__create1: function(arg) {
+    NativeInt8List__create1(arg) {
       return new Int8Array(arg);
     },
-    NativeUint8List_NativeUint8List$view: function(buffer, offsetInBytes, $length) {
+    NativeUint8List_NativeUint8List$view(buffer, offsetInBytes, $length) {
       H._checkViewArguments(buffer, offsetInBytes, $length);
       return $length == null ? new Uint8Array(buffer, offsetInBytes) : new Uint8Array(buffer, offsetInBytes, $length);
     },
-    _checkValidIndex: function(index, list, $length) {
+    _checkValidIndex(index, list, $length) {
       if (index >>> 0 !== index || index >= $length)
         throw H.wrapException(H.diagnoseIndexError(list, index));
     },
-    _checkValidRange: function(start, end, $length) {
+    _checkValidRange(start, end, $length) {
       var t1;
       if (!(start >>> 0 !== start))
         if (end == null)
@@ -1965,27 +2242,27 @@
     },
     _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() {
     },
-    Rti__getQuestionFromStar: function(universe, rti) {
+    Rti__getQuestionFromStar(universe, rti) {
       var question = rti._precomputed1;
       return question == null ? rti._precomputed1 = H._Universe__lookupQuestionRti(universe, rti._primary, true) : question;
     },
-    Rti__getFutureFromFutureOr: function(universe, rti) {
+    Rti__getFutureFromFutureOr(universe, rti) {
       var future = rti._precomputed1;
       return future == null ? rti._precomputed1 = H._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future;
     },
-    Rti__isUnionOfFunctionType: function(rti) {
+    Rti__isUnionOfFunctionType(rti) {
       var kind = rti._kind;
       if (kind === 6 || kind === 7 || kind === 8)
         return H.Rti__isUnionOfFunctionType(rti._primary);
       return kind === 11 || kind === 12;
     },
-    Rti__getCanonicalRecipe: function(rti) {
+    Rti__getCanonicalRecipe(rti) {
       return rti._canonicalRecipe;
     },
-    findType: function(recipe) {
+    findType(recipe) {
       return H._Universe_eval(init.typeUniverse, recipe, false);
     },
-    _substitute: function(universe, rti, typeArguments, depth) {
+    _substitute(universe, rti, typeArguments, depth) {
       var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
         kind = rti._kind;
       switch (kind) {
@@ -2056,23 +2333,23 @@
           throw H.wrapException(P.AssertionError$("Attempted to substitute unexpected RTI kind " + kind));
       }
     },
-    _substituteArray: function(universe, rtiArray, typeArguments, depth) {
+    _substituteArray(universe, rtiArray, typeArguments, depth) {
       var changed, i, rti, substitutedRti,
         $length = rtiArray.length,
-        result = [];
+        result = H._Utils_newArrayOrEmpty($length);
       for (changed = false, i = 0; i < $length; ++i) {
         rti = rtiArray[i];
         substitutedRti = H._substitute(universe, rti, typeArguments, depth);
         if (substitutedRti !== rti)
           changed = true;
-        result.push(substitutedRti);
+        result[i] = substitutedRti;
       }
       return changed ? result : rtiArray;
     },
-    _substituteNamed: function(universe, namedArray, typeArguments, depth) {
+    _substituteNamed(universe, namedArray, typeArguments, depth) {
       var changed, i, t1, t2, rti, substitutedRti,
         $length = namedArray.length,
-        result = [];
+        result = H._Utils_newArrayOrEmpty($length);
       for (changed = false, i = 0; i < $length; i += 3) {
         t1 = namedArray[i];
         t2 = namedArray[i + 1];
@@ -2080,13 +2357,11 @@
         substitutedRti = H._substitute(universe, rti, typeArguments, depth);
         if (substitutedRti !== rti)
           changed = true;
-        result.push(t1);
-        result.push(t2);
-        result.push(substitutedRti);
+        result.splice(i, 3, t1, t2, substitutedRti);
       }
       return changed ? result : namedArray;
     },
-    _substituteFunctionParameters: function(universe, functionParameters, typeArguments, depth) {
+    _substituteFunctionParameters(universe, functionParameters, typeArguments, depth) {
       var result,
         requiredPositional = functionParameters._requiredPositional,
         substitutedRequiredPositional = H._substituteArray(universe, requiredPositional, typeArguments, depth),
@@ -2102,11 +2377,11 @@
       result._named = substitutedNamed;
       return result;
     },
-    setRuntimeTypeInfo: function(target, rti) {
+    _setArrayType(target, rti) {
       target[init.arrayRti] = rti;
       return target;
     },
-    closureFunctionType: function(closure) {
+    closureFunctionType(closure) {
       var signature = closure.$signature;
       if (signature != null) {
         if (typeof signature == "number")
@@ -2115,7 +2390,7 @@
       }
       return null;
     },
-    instanceOrFunctionType: function(object, testRti) {
+    instanceOrFunctionType(object, testRti) {
       var rti;
       if (H.Rti__isUnionOfFunctionType(testRti))
         if (object instanceof H.Closure) {
@@ -2125,7 +2400,7 @@
         }
       return H.instanceType(object);
     },
-    instanceType: function(object) {
+    instanceType(object) {
       var rti;
       if (object instanceof P.Object) {
         rti = object.$ti;
@@ -2135,7 +2410,7 @@
         return H._arrayInstanceType(object);
       return H._instanceTypeFromConstructor(J.getInterceptor$(object));
     },
-    _arrayInstanceType: function(object) {
+    _arrayInstanceType(object) {
       var rti = object[init.arrayRti],
         defaultRti = type$.JSArray_dynamic;
       if (rti == null)
@@ -2144,28 +2419,27 @@
         return defaultRti;
       return rti;
     },
-    _instanceType: function(object) {
+    _instanceType(object) {
       var rti = object.$ti;
       return rti != null ? rti : H._instanceTypeFromConstructor(object);
     },
-    _instanceTypeFromConstructor: function(instance) {
+    _instanceTypeFromConstructor(instance) {
       var $constructor = instance.constructor,
         probe = $constructor.$ccache;
       if (probe != null)
         return probe;
       return H._instanceTypeFromConstructorMiss(instance, $constructor);
     },
-    _instanceTypeFromConstructorMiss: function(instance, $constructor) {
+    _instanceTypeFromConstructorMiss(instance, $constructor) {
       var effectiveConstructor = instance instanceof H.Closure ? instance.__proto__.__proto__.constructor : $constructor,
         rti = H._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name);
       $constructor.$ccache = rti;
       return rti;
     },
-    getTypeFromTypesTable: function(index) {
-      var table, type, rti;
-      H._asIntS(index);
-      table = init.types;
-      type = table[index];
+    getTypeFromTypesTable(index) {
+      var rti,
+        table = init.types,
+        type = table[index];
       if (typeof type == "string") {
         rti = H._Universe_eval(init.typeUniverse, type, false);
         table[index] = rti;
@@ -2173,11 +2447,11 @@
       }
       return type;
     },
-    getRuntimeType: function(object) {
+    getRuntimeType(object) {
       var rti = object instanceof H.Closure ? H.closureFunctionType(object) : null;
       return H.createRuntimeType(rti == null ? H.instanceType(object) : rti);
     },
-    createRuntimeType: function(rti) {
+    createRuntimeType(rti) {
       var recipe, starErasedRecipe, starErasedRti,
         type = rti._cachedRuntimeType;
       if (type != null)
@@ -2190,11 +2464,11 @@
       type = starErasedRti._cachedRuntimeType;
       return rti._cachedRuntimeType = type == null ? starErasedRti._cachedRuntimeType = new H._Type(starErasedRti) : type;
     },
-    typeLiteral: function(recipe) {
+    typeLiteral(recipe) {
       return H.createRuntimeType(H._Universe_eval(init.typeUniverse, recipe, false));
     },
-    _installSpecializedIsTest: function(object) {
-      var unstarred, isFn, testRti = this,
+    _installSpecializedIsTest(object) {
+      var unstarred, isFn, $name, testRti = this,
         t1 = type$.Object;
       if (testRti === t1)
         return H._finishIsFn(testRti, object, H._isObject);
@@ -2220,20 +2494,22 @@
       if (isFn != null)
         return H._finishIsFn(testRti, object, isFn);
       if (unstarred._kind === 9) {
-        t1 = unstarred._primary;
+        $name = unstarred._primary;
         if (unstarred._rest.every(H.isTopType)) {
-          testRti._specializedTestResource = "$is" + t1;
+          testRti._specializedTestResource = "$is" + $name;
+          if ($name === "List")
+            return H._finishIsFn(testRti, object, H._isListTestViaProperty);
           return H._finishIsFn(testRti, object, H._isTestViaProperty);
         }
       } else if (t1 === 7)
         return H._finishIsFn(testRti, object, H._generalNullableIsTestImplementation);
       return H._finishIsFn(testRti, object, H._generalIsTestImplementation);
     },
-    _finishIsFn: function(testRti, object, isFn) {
+    _finishIsFn(testRti, object, isFn) {
       testRti._is = isFn;
       return testRti._is(object);
     },
-    _installSpecializedAsCheck: function(object) {
+    _installSpecializedAsCheck(object) {
       var t1, asFn, testRti = this;
       if (!H.isStrongTopType(testRti))
         if (!(testRti === type$.legacy_Object))
@@ -2251,7 +2527,7 @@
       testRti._as = asFn;
       return testRti._as(object);
     },
-    _nullIs: function(testRti) {
+    _nullIs(testRti) {
       var t1,
         kind = testRti._kind;
       if (!H.isStrongTopType(testRti))
@@ -2269,18 +2545,18 @@
         t1 = true;
       return t1;
     },
-    _generalIsTestImplementation: function(object) {
+    _generalIsTestImplementation(object) {
       var testRti = this;
       if (object == null)
         return H._nullIs(testRti);
       return H._isSubtype(init.typeUniverse, H.instanceOrFunctionType(object, testRti), null, testRti, null);
     },
-    _generalNullableIsTestImplementation: function(object) {
+    _generalNullableIsTestImplementation(object) {
       if (object == null)
         return true;
       return this._primary._is(object);
     },
-    _isTestViaProperty: function(object) {
+    _isTestViaProperty(object) {
       var tag, testRti = this;
       if (object == null)
         return H._nullIs(testRti);
@@ -2289,7 +2565,20 @@
         return !!object[tag];
       return !!J.getInterceptor$(object)[tag];
     },
-    _generalAsCheckImplementation: function(object) {
+    _isListTestViaProperty(object) {
+      var tag, testRti = this;
+      if (object == null)
+        return H._nullIs(testRti);
+      if (typeof object != "object")
+        return false;
+      if (Array.isArray(object))
+        return true;
+      tag = testRti._specializedTestResource;
+      if (object instanceof P.Object)
+        return !!object[tag];
+      return !!J.getInterceptor$(object)[tag];
+    },
+    _generalAsCheckImplementation(object) {
       var testRti = this;
       if (object == null)
         return object;
@@ -2297,7 +2586,7 @@
         return object;
       H._failedAsCheck(object, testRti);
     },
-    _generalNullableAsCheckImplementation: function(object) {
+    _generalNullableAsCheckImplementation(object) {
       var testRti = this;
       if (object == null)
         return object;
@@ -2305,49 +2594,49 @@
         return object;
       H._failedAsCheck(object, testRti);
     },
-    _failedAsCheck: function(object, testRti) {
+    _failedAsCheck(object, testRti) {
       throw H.wrapException(H._TypeError$fromMessage(H._Error_compose(object, H.instanceOrFunctionType(object, testRti), H._rtiToString(testRti, null))));
     },
-    checkTypeBound: function(type, bound, variable, methodName) {
+    checkTypeBound(type, bound, variable, methodName) {
       var _null = null;
       if (H._isSubtype(init.typeUniverse, type, _null, bound, _null))
         return type;
       throw H.wrapException(H._TypeError$fromMessage("The type argument '" + H.S(H._rtiToString(type, _null)) + "' is not a subtype of the type variable bound '" + H.S(H._rtiToString(bound, _null)) + "' of type variable '" + H.S(variable) + "' in '" + H.S(methodName) + "'."));
     },
-    _Error_compose: function(object, objectRti, checkedTypeDescription) {
+    _Error_compose(object, objectRti, checkedTypeDescription) {
       var objectDescription = P.Error_safeToString(object),
         objectTypeDescription = H._rtiToString(objectRti == null ? H.instanceType(object) : objectRti, null);
       return objectDescription + ": type '" + H.S(objectTypeDescription) + "' is not a subtype of type '" + H.S(checkedTypeDescription) + "'";
     },
-    _TypeError$fromMessage: function(message) {
+    _TypeError$fromMessage(message) {
       return new H._TypeError("TypeError: " + message);
     },
-    _TypeError__TypeError$forType: function(object, type) {
+    _TypeError__TypeError$forType(object, type) {
       return new H._TypeError("TypeError: " + H._Error_compose(object, null, type));
     },
-    _isObject: function(object) {
+    _isObject(object) {
       return object != null;
     },
-    _asObject: function(object) {
+    _asObject(object) {
       return object;
     },
-    _isTop: function(object) {
+    _isTop(object) {
       return true;
     },
-    _asTop: function(object) {
+    _asTop(object) {
       return object;
     },
-    _isBool: function(object) {
+    _isBool(object) {
       return true === object || false === object;
     },
-    _asBool: function(object) {
+    _asBool(object) {
       if (true === object)
         return true;
       if (false === object)
         return false;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "bool"));
     },
-    _asBoolS: function(object) {
+    _asBoolS(object) {
       if (true === object)
         return true;
       if (false === object)
@@ -2356,7 +2645,7 @@
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "bool"));
     },
-    _asBoolQ: function(object) {
+    _asBoolQ(object) {
       if (true === object)
         return true;
       if (false === object)
@@ -2365,103 +2654,103 @@
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "bool?"));
     },
-    _asDouble: function(object) {
+    _asDouble(object) {
       if (typeof object == "number")
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "double"));
     },
-    _asDoubleS: function(object) {
+    _asDoubleS(object) {
       if (typeof object == "number")
         return object;
       if (object == null)
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "double"));
     },
-    _asDoubleQ: function(object) {
+    _asDoubleQ(object) {
       if (typeof object == "number")
         return object;
       if (object == null)
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "double?"));
     },
-    _isInt: function(object) {
+    _isInt(object) {
       return typeof object == "number" && Math.floor(object) === object;
     },
-    _asInt: function(object) {
+    _asInt(object) {
       if (typeof object == "number" && Math.floor(object) === object)
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "int"));
     },
-    _asIntS: function(object) {
+    _asIntS(object) {
       if (typeof object == "number" && Math.floor(object) === object)
         return object;
       if (object == null)
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "int"));
     },
-    _asIntQ: function(object) {
+    _asIntQ(object) {
       if (typeof object == "number" && Math.floor(object) === object)
         return object;
       if (object == null)
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "int?"));
     },
-    _isNum: function(object) {
+    _isNum(object) {
       return typeof object == "number";
     },
-    _asNum: function(object) {
+    _asNum(object) {
       if (typeof object == "number")
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "num"));
     },
-    _asNumS: function(object) {
+    _asNumS(object) {
       if (typeof object == "number")
         return object;
       if (object == null)
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "num"));
     },
-    _asNumQ: function(object) {
+    _asNumQ(object) {
       if (typeof object == "number")
         return object;
       if (object == null)
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "num?"));
     },
-    _isString: function(object) {
+    _isString(object) {
       return typeof object == "string";
     },
-    _asString: function(object) {
+    _asString(object) {
       if (typeof object == "string")
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "String"));
     },
-    _asStringS: function(object) {
+    _asStringS(object) {
       if (typeof object == "string")
         return object;
       if (object == null)
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "String"));
     },
-    _asStringQ: function(object) {
+    _asStringQ(object) {
       if (typeof object == "string")
         return object;
       if (object == null)
         return object;
       throw H.wrapException(H._TypeError__TypeError$forType(object, "String?"));
     },
-    _rtiArrayToString: function(array, genericContext) {
+    _rtiArrayToString(array, genericContext) {
       var s, sep, i;
       for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ")
         s += C.JSString_methods.$add(sep, H._rtiToString(array[i], genericContext));
       return s;
     },
-    _functionRtiToString: function(functionType, genericContext, bounds) {
+    _functionRtiToString(functionType, genericContext, bounds) {
       var boundsLength, outerContextLength, offset, i, t1, t2, t3, typeParametersText, typeSep, t4, t5, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ";
       if (bounds != null) {
         boundsLength = bounds.length;
         if (genericContext == null) {
-          genericContext = H.setRuntimeTypeInfo([], type$.JSArray_String);
+          genericContext = H._setArrayType([], type$.JSArray_String);
           outerContextLength = null;
         } else
           outerContextLength = genericContext.length;
@@ -2525,7 +2814,7 @@
       }
       return typeParametersText + "(" + argumentsText + ") => " + H.S(returnTypeText);
     },
-    _rtiToString: function(rti, genericContext) {
+    _rtiToString(rti, genericContext) {
       var s, questionArgument, argumentKind, $name, $arguments, t1, t2,
         kind = rti._kind;
       if (kind === 5)
@@ -2553,7 +2842,7 @@
       if (kind === 9) {
         $name = H._unminifyOrTag(rti._primary);
         $arguments = rti._rest;
-        return $arguments.length !== 0 ? $name + ("<" + H._rtiArrayToString($arguments, genericContext) + ">") : $name;
+        return $arguments.length > 0 ? $name + ("<" + H._rtiArrayToString($arguments, genericContext) + ">") : $name;
       }
       if (kind === 11)
         return H._functionRtiToString(rti, genericContext, null);
@@ -2570,19 +2859,19 @@
       }
       return "?";
     },
-    _unminifyOrTag: function(rawClassName) {
-      var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName);
+    _unminifyOrTag(rawClassName) {
+      var preserved = init.mangledGlobalNames[rawClassName];
       if (preserved != null)
         return preserved;
       return rawClassName;
     },
-    _Universe_findRule: function(universe, targetType) {
+    _Universe_findRule(universe, targetType) {
       var rule = universe.tR[targetType];
       for (; typeof rule == "string";)
         rule = universe.tR[rule];
       return rule;
     },
-    _Universe_findErasedType: function(universe, cls) {
+    _Universe_findErasedType(universe, cls) {
       var $length, erased, $arguments, i, $interface,
         metadata = universe.eT,
         probe = metadata[cls];
@@ -2591,22 +2880,22 @@
       else if (typeof probe == "number") {
         $length = probe;
         erased = H._Universe__lookupTerminalRti(universe, 5, "#");
-        $arguments = [];
+        $arguments = H._Utils_newArrayOrEmpty($length);
         for (i = 0; i < $length; ++i)
-          $arguments.push(erased);
+          $arguments[i] = erased;
         $interface = H._Universe__lookupInterfaceRti(universe, cls, $arguments);
         metadata[cls] = $interface;
         return $interface;
       } else
         return probe;
     },
-    _Universe_addRules: function(universe, rules) {
+    _Universe_addRules(universe, rules) {
       return H._Utils_objectAssign(universe.tR, rules);
     },
-    _Universe_addErasedTypes: function(universe, types) {
+    _Universe_addErasedTypes(universe, types) {
       return H._Utils_objectAssign(universe.eT, types);
     },
-    _Universe_eval: function(universe, recipe, normalize) {
+    _Universe_eval(universe, recipe, normalize) {
       var rti,
         cache = universe.eC,
         probe = cache.get(recipe);
@@ -2616,7 +2905,7 @@
       cache.set(recipe, rti);
       return rti;
     },
-    _Universe_evalInEnvironment: function(universe, environment, recipe) {
+    _Universe_evalInEnvironment(universe, environment, recipe) {
       var probe, rti,
         cache = environment._evalCache;
       if (cache == null)
@@ -2628,7 +2917,7 @@
       cache.set(recipe, rti);
       return rti;
     },
-    _Universe_bind: function(universe, environment, argumentsRti) {
+    _Universe_bind(universe, environment, argumentsRti) {
       var argumentsRecipe, probe, rti,
         cache = environment._bindCache;
       if (cache == null)
@@ -2641,12 +2930,12 @@
       cache.set(argumentsRecipe, rti);
       return rti;
     },
-    _Universe__installTypeTests: function(universe, rti) {
+    _Universe__installTypeTests(universe, rti) {
       rti._as = H._installSpecializedAsCheck;
       rti._is = H._installSpecializedIsTest;
       return rti;
     },
-    _Universe__lookupTerminalRti: function(universe, kind, key) {
+    _Universe__lookupTerminalRti(universe, kind, key) {
       var rti, t1,
         probe = universe.eC.get(key);
       if (probe != null)
@@ -2658,7 +2947,7 @@
       universe.eC.set(key, t1);
       return t1;
     },
-    _Universe__lookupStarRti: function(universe, baseType, normalize) {
+    _Universe__lookupStarRti(universe, baseType, normalize) {
       var t1,
         key = baseType._canonicalRecipe + "*",
         probe = universe.eC.get(key);
@@ -2668,7 +2957,7 @@
       universe.eC.set(key, t1);
       return t1;
     },
-    _Universe__createStarRti: function(universe, baseType, key, normalize) {
+    _Universe__createStarRti(universe, baseType, key, normalize) {
       var baseKind, t1, rti;
       if (normalize) {
         baseKind = baseType._kind;
@@ -2685,7 +2974,7 @@
       rti._canonicalRecipe = key;
       return H._Universe__installTypeTests(universe, rti);
     },
-    _Universe__lookupQuestionRti: function(universe, baseType, normalize) {
+    _Universe__lookupQuestionRti(universe, baseType, normalize) {
       var t1,
         key = baseType._canonicalRecipe + "?",
         probe = universe.eC.get(key);
@@ -2695,7 +2984,7 @@
       universe.eC.set(key, t1);
       return t1;
     },
-    _Universe__createQuestionRti: function(universe, baseType, key, normalize) {
+    _Universe__createQuestionRti(universe, baseType, key, normalize) {
       var baseKind, t1, starArgument, rti;
       if (normalize) {
         baseKind = baseType._kind;
@@ -2727,7 +3016,7 @@
       rti._canonicalRecipe = key;
       return H._Universe__installTypeTests(universe, rti);
     },
-    _Universe__lookupFutureOrRti: function(universe, baseType, normalize) {
+    _Universe__lookupFutureOrRti(universe, baseType, normalize) {
       var t1,
         key = baseType._canonicalRecipe + "/",
         probe = universe.eC.get(key);
@@ -2737,7 +3026,7 @@
       universe.eC.set(key, t1);
       return t1;
     },
-    _Universe__createFutureOrRti: function(universe, baseType, key, normalize) {
+    _Universe__createFutureOrRti(universe, baseType, key, normalize) {
       var t1, t2, rti;
       if (normalize) {
         t1 = baseType._kind;
@@ -2761,7 +3050,7 @@
       rti._canonicalRecipe = key;
       return H._Universe__installTypeTests(universe, rti);
     },
-    _Universe__lookupGenericFunctionParameterRti: function(universe, index) {
+    _Universe__lookupGenericFunctionParameterRti(universe, index) {
       var rti, t1,
         key = "" + index + "^",
         probe = universe.eC.get(key);
@@ -2775,14 +3064,14 @@
       universe.eC.set(key, t1);
       return t1;
     },
-    _Universe__canonicalRecipeJoin: function($arguments) {
+    _Universe__canonicalRecipeJoin($arguments) {
       var s, sep, i,
         $length = $arguments.length;
       for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",")
         s += sep + $arguments[i]._canonicalRecipe;
       return s;
     },
-    _Universe__canonicalRecipeJoinNamed: function($arguments) {
+    _Universe__canonicalRecipeJoinNamed($arguments) {
       var s, sep, i, t1, nameSep, s0,
         $length = $arguments.length;
       for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") {
@@ -2793,10 +3082,10 @@
       }
       return s;
     },
-    _Universe__lookupInterfaceRti: function(universe, $name, $arguments) {
+    _Universe__lookupInterfaceRti(universe, $name, $arguments) {
       var probe, rti, t1,
         s = $name;
-      if ($arguments.length !== 0)
+      if ($arguments.length > 0)
         s += "<" + H._Universe__canonicalRecipeJoin($arguments) + ">";
       probe = universe.eC.get(s);
       if (probe != null)
@@ -2812,7 +3101,7 @@
       universe.eC.set(s, t1);
       return t1;
     },
-    _Universe__lookupBindingRti: function(universe, base, $arguments) {
+    _Universe__lookupBindingRti(universe, base, $arguments) {
       var newBase, newArguments, key, probe, rti, t1;
       if (base._kind === 10) {
         newBase = base._primary;
@@ -2834,7 +3123,7 @@
       universe.eC.set(key, t1);
       return t1;
     },
-    _Universe__lookupFunctionRti: function(universe, returnType, parameters) {
+    _Universe__lookupFunctionRti(universe, returnType, parameters) {
       var sep, t1, key, probe, rti,
         s = returnType._canonicalRecipe,
         requiredPositional = parameters._requiredPositional,
@@ -2867,7 +3156,7 @@
       universe.eC.set(key, t1);
       return t1;
     },
-    _Universe__lookupGenericFunctionRti: function(universe, baseFunctionType, bounds, normalize) {
+    _Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) {
       var t1,
         key = baseFunctionType._canonicalRecipe + ("<" + H._Universe__canonicalRecipeJoin(bounds) + ">"),
         probe = universe.eC.get(key);
@@ -2877,11 +3166,11 @@
       universe.eC.set(key, t1);
       return t1;
     },
-    _Universe__createGenericFunctionRti: function(universe, baseFunctionType, bounds, key, normalize) {
+    _Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) {
       var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti;
       if (normalize) {
         $length = bounds.length;
-        typeArguments = new Array($length);
+        typeArguments = H._Utils_newArrayOrEmpty($length);
         for (count = 0, i = 0; i < $length; ++i) {
           bound = bounds[i];
           if (bound._kind === 1) {
@@ -2902,10 +3191,10 @@
       rti._canonicalRecipe = key;
       return H._Universe__installTypeTests(universe, rti);
     },
-    _Parser_create: function(universe, environment, recipe, normalize) {
+    _Parser_create(universe, environment, recipe, normalize) {
       return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize};
     },
-    _Parser_parse: function(parser) {
+    _Parser_parse(parser) {
       var t1, i, ch, universe, array, head, base, u, parameters, optionalPositional, named, item,
         source = parser.r,
         stack = parser.s;
@@ -3044,7 +3333,7 @@
       item = stack.pop();
       return H._Parser_toType(parser.u, parser.e, item);
     },
-    _Parser_handleDigit: function(i, digit, source, stack) {
+    _Parser_handleDigit(i, digit, source, stack) {
       var t1, ch,
         value = digit - 48;
       for (t1 = source.length; i < t1; ++i) {
@@ -3056,7 +3345,7 @@
       stack.push(value);
       return i;
     },
-    _Parser_handleIdentifier: function(parser, start, source, stack, hasPeriod) {
+    _Parser_handleIdentifier(parser, start, source, stack, hasPeriod) {
       var t1, ch, t2, string, environment, recipe,
         i = start + 1;
       for (t1 = source.length; i < t1; ++i) {
@@ -3088,7 +3377,7 @@
         stack.push(string);
       return i;
     },
-    _Parser_handleExtendedOperations: function(parser, stack) {
+    _Parser_handleExtendedOperations(parser, stack) {
       var $top = stack.pop();
       if (0 === $top) {
         stack.push(H._Universe__lookupTerminalRti(parser.u, 1, "0&"));
@@ -3100,7 +3389,7 @@
       }
       throw H.wrapException(P.AssertionError$("Unexpected extended operation " + H.S($top)));
     },
-    _Parser_toType: function(universe, environment, item) {
+    _Parser_toType(universe, environment, item) {
       if (typeof item == "string")
         return H._Universe__lookupInterfaceRti(universe, item, universe.sEA);
       else if (typeof item == "number")
@@ -3108,19 +3397,19 @@
       else
         return item;
     },
-    _Parser_toTypes: function(universe, environment, items) {
+    _Parser_toTypes(universe, environment, items) {
       var i,
         $length = items.length;
       for (i = 0; i < $length; ++i)
         items[i] = H._Parser_toType(universe, environment, items[i]);
     },
-    _Parser_toTypesNamed: function(universe, environment, items) {
+    _Parser_toTypesNamed(universe, environment, items) {
       var i,
         $length = items.length;
       for (i = 2; i < $length; i += 3)
         items[i] = H._Parser_toType(universe, environment, items[i]);
     },
-    _Parser_indexToType: function(universe, environment, index) {
+    _Parser_indexToType(universe, environment, index) {
       var typeArguments, len,
         kind = environment._kind;
       if (kind === 10) {
@@ -3142,7 +3431,7 @@
         return typeArguments[index - 1];
       throw H.wrapException(P.AssertionError$("Bad index " + index + " for " + environment.toString$0(0)));
     },
-    _isSubtype: function(universe, s, sEnv, t, tEnv) {
+    _isSubtype(universe, s, sEnv, t, tEnv) {
       var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound;
       if (s === t)
         return true;
@@ -3234,7 +3523,7 @@
       }
       return false;
     },
-    _isFunctionSubtype: function(universe, s, sEnv, t, tEnv) {
+    _isFunctionSubtype(universe, s, sEnv, t, tEnv) {
       var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName;
       if (!H._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))
         return false;
@@ -3291,38 +3580,43 @@
       }
       return true;
     },
-    _isInterfaceSubtype: function(universe, s, sEnv, t, tEnv) {
-      var sArgs, tArgs, $length, i, t1, t2, rule, supertypeArgs,
+    _isInterfaceSubtype(universe, s, sEnv, t, tEnv) {
+      var rule, recipes, $length, supertypeArgs, i, t1, t2,
         sName = s._primary,
         tName = t._primary;
-      if (sName === tName) {
-        sArgs = s._rest;
-        tArgs = t._rest;
-        $length = sArgs.length;
-        for (i = 0; i < $length; ++i) {
-          t1 = sArgs[i];
-          t2 = tArgs[i];
-          if (!H._isSubtype(universe, t1, sEnv, t2, tEnv))
-            return false;
-        }
-        return true;
-      }
-      if (t === type$.Object)
-        return true;
-      rule = H._Universe_findRule(universe, sName);
-      if (rule == null)
-        return false;
-      supertypeArgs = rule[tName];
-      if (supertypeArgs == null)
-        return false;
-      $length = supertypeArgs.length;
-      tArgs = t._rest;
-      for (i = 0; i < $length; ++i)
-        if (!H._isSubtype(universe, H._Universe_evalInEnvironment(universe, s, supertypeArgs[i]), sEnv, tArgs[i], tEnv))
+      for (; sName !== tName;) {
+        rule = universe.tR[sName];
+        if (rule == null)
           return false;
+        if (typeof rule == "string") {
+          sName = rule;
+          continue;
+        }
+        recipes = rule[tName];
+        if (recipes == null)
+          return false;
+        $length = recipes.length;
+        supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA;
+        for (i = 0; i < $length; ++i)
+          supertypeArgs[i] = H._Universe_evalInEnvironment(universe, s, recipes[i]);
+        return H._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv);
+      }
+      t1 = s._rest;
+      t2 = t._rest;
+      return H._areArgumentsSubtypes(universe, t1, null, sEnv, t2, tEnv);
+    },
+    _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) {
+      var i, t1, t2,
+        $length = sArgs.length;
+      for (i = 0; i < $length; ++i) {
+        t1 = sArgs[i];
+        t2 = tArgs[i];
+        if (!H._isSubtype(universe, t1, sEnv, t2, tEnv))
+          return false;
+      }
       return true;
     },
-    isNullable: function(t) {
+    isNullable(t) {
       var t1,
         kind = t._kind;
       if (!(t === type$.Null || t === type$.JSNull))
@@ -3340,7 +3634,7 @@
         t1 = true;
       return t1;
     },
-    isTopType: function(t) {
+    isTopType(t) {
       var t1;
       if (!H.isStrongTopType(t))
         if (!(t === type$.legacy_Object))
@@ -3351,11 +3645,11 @@
         t1 = true;
       return t1;
     },
-    isStrongTopType: function(t) {
+    isStrongTopType(t) {
       var kind = t._kind;
       return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object;
     },
-    _Utils_objectAssign: function(o, other) {
+    _Utils_objectAssign(o, other) {
       var i, key,
         keys = Object.keys(other),
         $length = keys.length;
@@ -3364,6 +3658,9 @@
         o[key] = other[key];
       }
     },
+    _Utils_newArrayOrEmpty($length) {
+      return $length > 0 ? new Array($length) : init.typeUniverse.sEA;
+    },
     Rti: function Rti(t0, t1) {
       var _ = this;
       _._as = t0;
@@ -3383,13 +3680,10 @@
     _TypeError: function _TypeError(t0) {
       this.__rti$_message = t0;
     },
-    isBrowserObject: function(o) {
+    isBrowserObject(o) {
       return type$.Blob._is(o) || type$.Event._is(o) || type$.KeyRange._is(o) || type$.ImageData._is(o) || type$.Node._is(o) || type$.Window._is(o) || type$.WorkerGlobalScope._is(o);
     },
-    unmangleGlobalNameIfPreservedAnyways: function($name) {
-      return init.mangledGlobalNames[$name];
-    },
-    printString: function(string) {
+    printString(string) {
       if (typeof dartPrint == "function") {
         dartPrint(string);
         return;
@@ -3408,10 +3702,10 @@
     }
   },
   J = {
-    makeDispatchRecord: function(interceptor, proto, extension, indexability) {
+    makeDispatchRecord(interceptor, proto, extension, indexability) {
       return {i: interceptor, p: proto, e: extension, x: indexability};
     },
-    getNativeInterceptor: function(object) {
+    getNativeInterceptor(object) {
       var proto, objectProto, $constructor, interceptor, t1,
         record = object[init.dispatchPropertyName];
       if (record == null)
@@ -3461,38 +3755,38 @@
       }
       return C.UnknownJavaScriptObject_methods;
     },
-    JSArray_JSArray$fixed: function($length, $E) {
+    JSArray_JSArray$fixed($length, $E) {
       if (!H._isInt($length))
         throw H.wrapException(P.ArgumentError$value($length, "length", "is not an integer"));
       if ($length < 0 || $length > 4294967295)
         throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "length", null));
       return J.JSArray_JSArray$markFixed(new Array($length), $E);
     },
-    JSArray_JSArray$growable: function($length, $E) {
+    JSArray_JSArray$growable($length, $E) {
       if (!H._isInt($length) || $length < 0)
-        throw H.wrapException(P.ArgumentError$("Length must be a non-negative integer: " + H.S($length)));
-      return H.setRuntimeTypeInfo(new Array($length), $E._eval$1("JSArray<0>"));
+        throw H.wrapException(P.ArgumentError$("Length must be a non-negative integer: " + H.S($length), null));
+      return H._setArrayType(new Array($length), $E._eval$1("JSArray<0>"));
     },
-    JSArray_JSArray$allocateGrowable: function($length, $E) {
-      return H.setRuntimeTypeInfo(new Array($length), $E._eval$1("JSArray<0>"));
+    JSArray_JSArray$allocateGrowable($length, $E) {
+      return H._setArrayType(new Array($length), $E._eval$1("JSArray<0>"));
     },
-    JSArray_JSArray$markFixed: function(allocation, $E) {
-      return J.JSArray_markFixedList(H.setRuntimeTypeInfo(allocation, $E._eval$1("JSArray<0>")), $E);
+    JSArray_JSArray$markFixed(allocation, $E) {
+      return J.JSArray_markFixedList(H._setArrayType(allocation, $E._eval$1("JSArray<0>")), $E);
     },
-    JSArray_markFixedList: function(list, $T) {
+    JSArray_markFixedList(list, $T) {
       list.fixed$length = Array;
       return list;
     },
-    JSArray_markUnmodifiableList: function(list) {
+    JSArray_markUnmodifiableList(list) {
       list.fixed$length = Array;
       list.immutable$list = Array;
       return list;
     },
-    JSArray__compareAny: function(a, b) {
+    JSArray__compareAny(a, b) {
       var t1 = type$.Comparable_dynamic;
       return J.compareTo$1$ns(t1._as(a), t1._as(b));
     },
-    getInterceptor$: function(receiver) {
+    getInterceptor$(receiver) {
       if (typeof receiver == "number") {
         if (Math.floor(receiver) == receiver)
           return J.JSInt.prototype;
@@ -3515,7 +3809,7 @@
         return receiver;
       return J.getNativeInterceptor(receiver);
     },
-    getInterceptor$ansx: function(receiver) {
+    getInterceptor$ansx(receiver) {
       if (typeof receiver == "number")
         return J.JSNumber.prototype;
       if (typeof receiver == "string")
@@ -3533,7 +3827,7 @@
         return receiver;
       return J.getNativeInterceptor(receiver);
     },
-    getInterceptor$asx: function(receiver) {
+    getInterceptor$asx(receiver) {
       if (typeof receiver == "string")
         return J.JSString.prototype;
       if (receiver == null)
@@ -3549,7 +3843,7 @@
         return receiver;
       return J.getNativeInterceptor(receiver);
     },
-    getInterceptor$ax: function(receiver) {
+    getInterceptor$ax(receiver) {
       if (receiver == null)
         return receiver;
       if (receiver.constructor == Array)
@@ -3563,7 +3857,7 @@
         return receiver;
       return J.getNativeInterceptor(receiver);
     },
-    getInterceptor$n: function(receiver) {
+    getInterceptor$n(receiver) {
       if (typeof receiver == "number")
         return J.JSNumber.prototype;
       if (receiver == null)
@@ -3572,7 +3866,7 @@
         return J.UnknownJavaScriptObject.prototype;
       return receiver;
     },
-    getInterceptor$ns: function(receiver) {
+    getInterceptor$ns(receiver) {
       if (typeof receiver == "number")
         return J.JSNumber.prototype;
       if (typeof receiver == "string")
@@ -3583,7 +3877,7 @@
         return J.UnknownJavaScriptObject.prototype;
       return receiver;
     },
-    getInterceptor$s: function(receiver) {
+    getInterceptor$s(receiver) {
       if (typeof receiver == "string")
         return J.JSString.prototype;
       if (receiver == null)
@@ -3592,7 +3886,7 @@
         return J.UnknownJavaScriptObject.prototype;
       return receiver;
     },
-    getInterceptor$x: function(receiver) {
+    getInterceptor$x(receiver) {
       if (receiver == null)
         return receiver;
       if (typeof receiver != "object") {
@@ -3604,203 +3898,206 @@
         return receiver;
       return J.getNativeInterceptor(receiver);
     },
-    getInterceptor$z: function(receiver) {
+    getInterceptor$z(receiver) {
       if (receiver == null)
         return receiver;
       if (!(receiver instanceof P.Object))
         return J.UnknownJavaScriptObject.prototype;
       return receiver;
     },
-    set$_innerHtml$x: function(receiver, value) {
+    set$_innerHtml$x(receiver, value) {
       return J.getInterceptor$x(receiver).set$_innerHtml(receiver, value);
     },
-    set$length$asx: function(receiver, value) {
+    set$length$asx(receiver, value) {
       return J.getInterceptor$asx(receiver).set$length(receiver, value);
     },
-    get$attributes$x: function(receiver) {
+    get$attributes$x(receiver) {
       return J.getInterceptor$x(receiver).get$attributes(receiver);
     },
-    get$digestsPath$x: function(receiver) {
+    get$digestsPath$x(receiver) {
       return J.getInterceptor$x(receiver).get$digestsPath(receiver);
     },
-    get$first$ax: function(receiver) {
+    get$first$ax(receiver) {
       return J.getInterceptor$ax(receiver).get$first(receiver);
     },
-    get$hashCode$: function(receiver) {
+    get$hashCode$(receiver) {
       return J.getInterceptor$(receiver).get$hashCode(receiver);
     },
-    get$isEmpty$asx: function(receiver) {
+    get$isEmpty$asx(receiver) {
       return J.getInterceptor$asx(receiver).get$isEmpty(receiver);
     },
-    get$isNotEmpty$asx: function(receiver) {
+    get$isNotEmpty$asx(receiver) {
       return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver);
     },
-    get$iterator$ax: function(receiver) {
+    get$iterator$ax(receiver) {
       return J.getInterceptor$ax(receiver).get$iterator(receiver);
     },
-    get$keys$x: function(receiver) {
+    get$keys$x(receiver) {
       return J.getInterceptor$x(receiver).get$keys(receiver);
     },
-    get$length$asx: function(receiver) {
+    get$length$asx(receiver) {
       return J.getInterceptor$asx(receiver).get$length(receiver);
     },
-    get$message$x: function(receiver) {
+    get$message$x(receiver) {
       return J.getInterceptor$x(receiver).get$message(receiver);
     },
-    get$moduleParentsGraph$x: function(receiver) {
+    get$moduleParentsGraph$x(receiver) {
       return J.getInterceptor$x(receiver).get$moduleParentsGraph(receiver);
     },
-    get$runtimeType$: function(receiver) {
+    get$parent$z(receiver) {
+      return J.getInterceptor$z(receiver).get$parent(receiver);
+    },
+    get$runtimeType$(receiver) {
       return J.getInterceptor$(receiver).get$runtimeType(receiver);
     },
-    $add$ansx: function(receiver, a0) {
+    $add$ansx(receiver, a0) {
       if (typeof receiver == "number" && typeof a0 == "number")
         return receiver + a0;
       return J.getInterceptor$ansx(receiver).$add(receiver, a0);
     },
-    $eq$: function(receiver, a0) {
+    $eq$(receiver, a0) {
       if (receiver == null)
         return a0 == null;
       if (typeof receiver != "object")
         return a0 != null && receiver === a0;
       return J.getInterceptor$(receiver).$eq(receiver, a0);
     },
-    $get$1$x: function(receiver, a0) {
+    $get$1$x(receiver, a0) {
       return J.getInterceptor$x(receiver).$get$1(receiver, a0);
     },
-    $index$asx: function(receiver, a0) {
+    $index$asx(receiver, a0) {
       if (typeof a0 === "number")
         if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName]))
           if (a0 >>> 0 === a0 && a0 < receiver.length)
             return receiver[a0];
       return J.getInterceptor$asx(receiver).$index(receiver, a0);
     },
-    $indexSet$ax: function(receiver, a0, a1) {
+    $indexSet$ax(receiver, a0, a1) {
       return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
     },
-    $sub$n: function(receiver, a0) {
+    $sub$n(receiver, a0) {
       if (typeof receiver == "number" && typeof a0 == "number")
         return receiver - a0;
       return J.getInterceptor$n(receiver).$sub(receiver, a0);
     },
-    _clearChildren$0$x: function(receiver) {
+    _clearChildren$0$x(receiver) {
       return J.getInterceptor$x(receiver)._clearChildren$0(receiver);
     },
-    _codeUnitAt$1$s: function(receiver, a0) {
+    _codeUnitAt$1$s(receiver, a0) {
       return J.getInterceptor$s(receiver)._codeUnitAt$1(receiver, a0);
     },
-    _initCustomEvent$4$x: function(receiver, a0, a1, a2, a3) {
+    _initCustomEvent$4$x(receiver, a0, a1, a2, a3) {
       return J.getInterceptor$x(receiver)._initCustomEvent$4(receiver, a0, a1, a2, a3);
     },
-    _removeEventListener$3$x: function(receiver, a0, a1, a2) {
+    _removeEventListener$3$x(receiver, a0, a1, a2) {
       return J.getInterceptor$x(receiver)._removeEventListener$3(receiver, a0, a1, a2);
     },
-    add$1$ax: function(receiver, a0) {
+    add$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).add$1(receiver, a0);
     },
-    addEventListener$3$x: function(receiver, a0, a1, a2) {
+    addEventListener$3$x(receiver, a0, a1, a2) {
       return J.getInterceptor$x(receiver).addEventListener$3(receiver, a0, a1, a2);
     },
-    allMatches$1$s: function(receiver, a0) {
+    allMatches$1$s(receiver, a0) {
       return J.getInterceptor$s(receiver).allMatches$1(receiver, a0);
     },
-    cast$1$0$ax: function(receiver, $T1) {
+    cast$1$0$ax(receiver, $T1) {
       return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1);
     },
-    cast$2$0$ax: function(receiver, $T1, $T2) {
+    cast$2$0$ax(receiver, $T1, $T2) {
       return J.getInterceptor$ax(receiver).cast$2$0(receiver, $T1, $T2);
     },
-    codeUnitAt$1$s: function(receiver, a0) {
+    codeUnitAt$1$s(receiver, a0) {
       return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0);
     },
-    compareTo$1$ns: function(receiver, a0) {
+    compareTo$1$ns(receiver, a0) {
       return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0);
     },
-    complete$1$z: function(receiver, a0) {
+    complete$1$z(receiver, a0) {
       return J.getInterceptor$z(receiver).complete$1(receiver, a0);
     },
-    contains$1$asx: function(receiver, a0) {
+    contains$1$asx(receiver, a0) {
       return J.getInterceptor$asx(receiver).contains$1(receiver, a0);
     },
-    containsKey$1$x: function(receiver, a0) {
+    containsKey$1$x(receiver, a0) {
       return J.getInterceptor$x(receiver).containsKey$1(receiver, a0);
     },
-    elementAt$1$ax: function(receiver, a0) {
+    elementAt$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
     },
-    fold$1$2$ax: function(receiver, a0, a1, $T1) {
+    fold$1$2$ax(receiver, a0, a1, $T1) {
       return J.getInterceptor$ax(receiver).fold$1$2(receiver, a0, a1, $T1);
     },
-    forEach$1$ax: function(receiver, a0) {
+    forEach$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
     },
-    forceLoadModule$3$x: function(receiver, a0, a1, a2) {
+    forceLoadModule$3$x(receiver, a0, a1, a2) {
       return J.getInterceptor$x(receiver).forceLoadModule$3(receiver, a0, a1, a2);
     },
-    getRange$2$ax: function(receiver, a0, a1) {
+    getRange$2$ax(receiver, a0, a1) {
       return J.getInterceptor$ax(receiver).getRange$2(receiver, a0, a1);
     },
-    indexOf$1$s: function(receiver, a0) {
+    indexOf$1$s(receiver, a0) {
       return J.getInterceptor$s(receiver).indexOf$1(receiver, a0);
     },
-    keys$0$x: function(receiver) {
+    keys$0$x(receiver) {
       return J.getInterceptor$x(receiver).keys$0(receiver);
     },
-    map$1$ax: function(receiver, a0) {
+    map$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).map$1(receiver, a0);
     },
-    map$1$1$ax: function(receiver, a0, $T1) {
+    map$1$1$ax(receiver, a0, $T1) {
       return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1);
     },
-    map$2$1$ax: function(receiver, a0, $T1, $T2) {
+    map$2$1$ax(receiver, a0, $T1, $T2) {
       return J.getInterceptor$ax(receiver).map$2$1(receiver, a0, $T1, $T2);
     },
-    matchAsPrefix$2$s: function(receiver, a0, a1) {
+    matchAsPrefix$2$s(receiver, a0, a1) {
       return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1);
     },
-    noSuchMethod$1$: function(receiver, a0) {
+    noSuchMethod$1$(receiver, a0) {
       return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0);
     },
-    remove$0$x: function(receiver) {
+    remove$0$x(receiver) {
       return J.getInterceptor$x(receiver).remove$0(receiver);
     },
-    remove$1$x: function(receiver, a0) {
+    remove$1$x(receiver, a0) {
       return J.getInterceptor$x(receiver).remove$1(receiver, a0);
     },
-    replaceRange$3$asx: function(receiver, a0, a1, a2) {
-      return J.getInterceptor$asx(receiver).replaceRange$3(receiver, a0, a1, a2);
+    replaceRange$3$s(receiver, a0, a1, a2) {
+      return J.getInterceptor$s(receiver).replaceRange$3(receiver, a0, a1, a2);
     },
-    skip$1$ax: function(receiver, a0) {
+    skip$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).skip$1(receiver, a0);
     },
-    sort$1$ax: function(receiver, a0) {
+    sort$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).sort$1(receiver, a0);
     },
-    startsWith$2$s: function(receiver, a0, a1) {
+    startsWith$2$s(receiver, a0, a1) {
       return J.getInterceptor$s(receiver).startsWith$2(receiver, a0, a1);
     },
-    sublist$2$ax: function(receiver, a0, a1) {
+    sublist$2$ax(receiver, a0, a1) {
       return J.getInterceptor$ax(receiver).sublist$2(receiver, a0, a1);
     },
-    substring$2$s: function(receiver, a0, a1) {
+    substring$2$s(receiver, a0, a1) {
       return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1);
     },
-    then$1$1$x: function(receiver, a0, $T1) {
+    then$1$1$x(receiver, a0, $T1) {
       return J.getInterceptor$x(receiver).then$1$1(receiver, a0, $T1);
     },
-    then$2$x: function(receiver, a0, a1) {
+    then$2$x(receiver, a0, a1) {
       return J.getInterceptor$x(receiver).then$2(receiver, a0, a1);
     },
-    toList$0$ax: function(receiver) {
+    toList$0$ax(receiver) {
       return J.getInterceptor$ax(receiver).toList$0(receiver);
     },
-    toList$1$growable$ax: function(receiver, a0) {
+    toList$1$growable$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).toList$1$growable(receiver, a0);
     },
-    toLowerCase$0$s: function(receiver) {
+    toLowerCase$0$s(receiver) {
       return J.getInterceptor$s(receiver).toLowerCase$0(receiver);
     },
-    toString$0$: function(receiver) {
+    toString$0$(receiver) {
       return J.getInterceptor$(receiver).toString$0(receiver);
     },
     Interceptor: function Interceptor() {
@@ -3840,8 +4137,251 @@
     JSString: function JSString() {
     }
   },
+  K = {BuiltListSerializer: function BuiltListSerializer(t0) {
+      this.types = t0;
+    }, BuiltListSerializer_serialize_closure: function BuiltListSerializer_serialize_closure(t0, t1) {
+      this.serializers = t0;
+      this.elementType = t1;
+    }, BuiltListSerializer_deserialize_closure: function BuiltListSerializer_deserialize_closure(t0, t1) {
+      this.serializers = t0;
+      this.elementType = t1;
+    }, BuiltMapSerializer: function BuiltMapSerializer(t0) {
+      this.types = t0;
+    }, DurationSerializer: function DurationSerializer(t0) {
+      this.types = t0;
+    }, NumSerializer: function NumSerializer(t0) {
+      this.types = t0;
+    }, RegExpSerializer: function RegExpSerializer(t0) {
+      this.types = t0;
+    }, _$serializers_closure: function _$serializers_closure() {
+    },
+    GuaranteeChannel$(innerStream, innerSink, allowSinkErrors, $T) {
+      var t2, t1 = {};
+      t1.innerStream = innerStream;
+      t2 = new K.GuaranteeChannel($T._eval$1("GuaranteeChannel<0>"));
+      t2.GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, t1, $T);
+      return t2;
+    },
+    GuaranteeChannel: function GuaranteeChannel(t0) {
+      var _ = this;
+      _.__GuaranteeChannel__streamController = _.__GuaranteeChannel__sink = $;
+      _._guarantee_channel$_subscription = null;
+      _._disconnected = false;
+      _.$ti = t0;
+    },
+    GuaranteeChannel_closure: function GuaranteeChannel_closure(t0, t1) {
+      this._box_0 = t0;
+      this.$this = t1;
+    },
+    GuaranteeChannel__closure: function GuaranteeChannel__closure(t0) {
+      this.$this = t0;
+    },
+    _GuaranteeSink: function _GuaranteeSink(t0, t1, t2, t3, t4) {
+      var _ = this;
+      _._inner = t0;
+      _._guarantee_channel$_channel = t1;
+      _._doneCompleter = t2;
+      _._closed = _._disconnected = false;
+      _._addStreamCompleter = _._addStreamSubscription = null;
+      _._allowErrors = t3;
+      _.$ti = t4;
+    },
+    _GuaranteeSink__addError_closure: function _GuaranteeSink__addError_closure() {
+    },
+    Uuid: function Uuid() {
+    }
+  },
+  L = {
+    stronglyConnectedComponents(nodes, edges, $T) {
+      var node, _null = null, _box_0 = {},
+        result = H._setArrayType([], $T._eval$1("JSArray<List<0>>")),
+        t1 = type$.int,
+        lowLinks = P.HashMap_HashMap(_null, _null, _null, $T, t1),
+        indexes = P.HashMap_HashMap(_null, _null, _null, $T, t1),
+        onStack = P.HashSet_HashSet(_null, _null, $T),
+        _i = _box_0.index = 0,
+        strongConnect = new L.stronglyConnectedComponents_strongConnect(_box_0, indexes, lowLinks, P.ListQueue$($T), onStack, edges, L.strongly_connected_components___defaultEquals$closure(), result, $T);
+      for (t1 = nodes.length; _i < nodes.length; nodes.length === t1 || (0, H.throwConcurrentModificationError)(nodes), ++_i) {
+        node = nodes[_i];
+        if (!indexes.containsKey$1(0, node))
+          strongConnect.call$1(node);
+      }
+      return result;
+    },
+    _defaultEquals0(a, b) {
+      return J.$eq$(a, b);
+    },
+    stronglyConnectedComponents_strongConnect: function stronglyConnectedComponents_strongConnect(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
+      var _ = this;
+      _._box_0 = t0;
+      _.indexes = t1;
+      _.lowLinks = t2;
+      _.lastVisited = t3;
+      _.onStack = t4;
+      _.edges = t5;
+      _.nonNullEquals = t6;
+      _.result = t7;
+      _.T = t8;
+    },
+    LogRecord: function LogRecord(t0, t1, t2) {
+      this.level = t0;
+      this.message = t1;
+      this.loggerName = t2;
+    }
+  },
+  M = {
+    SetMultimapBuilder_SetMultimapBuilder($K, $V) {
+      var t1 = new M.SetMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("SetMultimapBuilder<1,2>"));
+      t1.replace$1(0, C.Map_empty);
+      return t1;
+    },
+    BuiltSetMultimap: function BuiltSetMultimap() {
+    },
+    BuiltSetMultimap_hashCode_closure: function BuiltSetMultimap_hashCode_closure(t0) {
+      this.$this = t0;
+    },
+    _BuiltSetMultimap: function _BuiltSetMultimap(t0, t1, t2) {
+      var _ = this;
+      _._set_multimap$_map = t0;
+      _._emptySet = t1;
+      _._set_multimap$_keys = _._set_multimap$_hashCode = null;
+      _.$ti = t2;
+    },
+    SetMultimapBuilder: function SetMultimapBuilder(t0) {
+      var _ = this;
+      _.__SetMultimapBuilder__builtMap = $;
+      _._builtMapOwner = null;
+      _.__SetMultimapBuilder__builderMap = $;
+      _.$ti = t0;
+    },
+    SetMultimapBuilder_replace_closure: function SetMultimapBuilder_replace_closure(t0) {
+      this.multimap = t0;
+    },
+    StringSerializer: function StringSerializer(t0) {
+      this.types = t0;
+    },
+    DevToolsRequest: function DevToolsRequest() {
+    },
+    DevToolsResponse: function DevToolsResponse() {
+    },
+    _$DevToolsRequestSerializer: function _$DevToolsRequestSerializer() {
+    },
+    _$DevToolsResponseSerializer: function _$DevToolsResponseSerializer() {
+    },
+    _$DevToolsRequest: function _$DevToolsRequest(t0, t1, t2, t3) {
+      var _ = this;
+      _.appId = t0;
+      _.instanceId = t1;
+      _.contextId = t2;
+      _.tabUrl = t3;
+    },
+    DevToolsRequestBuilder: function DevToolsRequestBuilder() {
+      var _ = this;
+      _._tabUrl = _._contextId = _._devtools_request$_instanceId = _._devtools_request$_appId = _._devtools_request$_$v = null;
+    },
+    _$DevToolsResponse: function _$DevToolsResponse(t0, t1, t2) {
+      this.success = t0;
+      this.promptExtension = t1;
+      this.error = t2;
+    },
+    DevToolsResponseBuilder: function DevToolsResponseBuilder() {
+      var _ = this;
+      _._error = _._promptExtension = _._success = _._devtools_request$_$v = null;
+    },
+    IsolateExit: function IsolateExit() {
+    },
+    IsolateStart: function IsolateStart() {
+    },
+    _$IsolateExitSerializer: function _$IsolateExitSerializer() {
+    },
+    _$IsolateStartSerializer: function _$IsolateStartSerializer() {
+    },
+    _$IsolateExit: function _$IsolateExit() {
+    },
+    IsolateExitBuilder: function IsolateExitBuilder() {
+      this._isolate_events$_$v = null;
+    },
+    _$IsolateStart: function _$IsolateStart() {
+    },
+    IsolateStartBuilder: function IsolateStartBuilder() {
+      this._isolate_events$_$v = null;
+    },
+    SseClient$(serverUrl) {
+      var _null = null,
+        t1 = type$.String;
+      t1 = new M.SseClient(P.StreamController_StreamController(_null, _null, false, t1), P.StreamController_StreamController(_null, _null, false, t1), F.Logger_Logger("SseClient"), new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic));
+      t1.SseClient$1(serverUrl);
+      return t1;
+    },
+    SseClient: function SseClient(t0, t1, t2, t3) {
+      var _ = this;
+      _._incomingController = t0;
+      _._outgoingController = t1;
+      _._logger = t2;
+      _._onConnected = t3;
+      _._lastMessageId = -1;
+      _.__SseClient__serverUrl = _.__SseClient__eventSource = $;
+      _._errorTimer = null;
+    },
+    SseClient_closure: function SseClient_closure(t0) {
+      this.$this = t0;
+    },
+    SseClient_closure0: function SseClient_closure0(t0) {
+      this.$this = t0;
+    },
+    SseClient_closure1: function SseClient_closure1(t0) {
+      this.$this = t0;
+    },
+    SseClient__closure: function SseClient__closure(t0, t1) {
+      this.$this = t0;
+      this.error = t1;
+    },
+    SseClient__onOutgoingMessage_closure: function SseClient__onOutgoingMessage_closure(t0, t1, t2) {
+      this._box_0 = t0;
+      this.$this = t1;
+      this.message = t2;
+    }
+  },
+  N = {WebSocketChannel: function WebSocketChannel(t0) {
+      this._webSocket = t0;
+    }, WebSocketSink: function WebSocketSink(t0, t1) {
+      this._webSocket = t0;
+      this._sink = t1;
+    }},
+  O = {DelegatingStreamSink: function DelegatingStreamSink() {
+    }, BigIntSerializer: function BigIntSerializer(t0) {
+      this.types = t0;
+    }, BuiltSetSerializer: function BuiltSetSerializer(t0) {
+      this.types = t0;
+    }, BuiltSetSerializer_serialize_closure: function BuiltSetSerializer_serialize_closure(t0, t1) {
+      this.serializers = t0;
+      this.elementType = t1;
+    }, BuiltSetSerializer_deserialize_closure: function BuiltSetSerializer_deserialize_closure(t0, t1) {
+      this.serializers = t0;
+      this.elementType = t1;
+    }, JsonObjectSerializer: function JsonObjectSerializer(t0) {
+      this.types = t0;
+    }, UriSerializer: function UriSerializer(t0) {
+      this.types = t0;
+    }, Pool: function Pool(t0, t1, t2, t3, t4) {
+      var _ = this;
+      _._requestedResources = t0;
+      _._onReleaseCallbacks = t1;
+      _._onReleaseCompleters = t2;
+      _._maxAllocatedResources = t3;
+      _._allocatedResources = 0;
+      _._timer = null;
+      _._closeMemo = t4;
+    }, Pool__runOnRelease_closure: function Pool__runOnRelease_closure(t0) {
+      this.$this = t0;
+    }, Pool__runOnRelease_closure0: function Pool__runOnRelease_closure0(t0) {
+      this.$this = t0;
+    }, PoolResource: function PoolResource(t0) {
+      this._pool = t0;
+      this._released = false;
+    }},
   P = {
-    _AsyncRun__initializeScheduleImmediate: function() {
+    _AsyncRun__initializeScheduleImmediate() {
       var div, span, t1 = {};
       if (self.scheduleImmediate != null)
         return P.async__AsyncRun__scheduleImmediateJsOverride$closure();
@@ -3855,47 +4395,47 @@
         return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure();
       return P.async__AsyncRun__scheduleImmediateWithTimer$closure();
     },
-    _AsyncRun__scheduleImmediateJsOverride: function(callback) {
+    _AsyncRun__scheduleImmediateJsOverride(callback) {
       self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0));
     },
-    _AsyncRun__scheduleImmediateWithSetImmediate: function(callback) {
+    _AsyncRun__scheduleImmediateWithSetImmediate(callback) {
       self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0));
     },
-    _AsyncRun__scheduleImmediateWithTimer: function(callback) {
+    _AsyncRun__scheduleImmediateWithTimer(callback) {
       P.Timer__createTimer(C.Duration_0, type$.void_Function._as(callback));
     },
-    Timer__createTimer: function(duration, callback) {
+    Timer__createTimer(duration, callback) {
       var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
       return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
     },
-    _TimerImpl$: function(milliseconds, callback) {
+    _TimerImpl$(milliseconds, callback) {
       var t1 = new P._TimerImpl(true);
       t1._TimerImpl$2(milliseconds, callback);
       return t1;
     },
-    _TimerImpl$periodic: function(milliseconds, callback) {
+    _TimerImpl$periodic(milliseconds, callback) {
       var t1 = new P._TimerImpl(false);
       t1._TimerImpl$periodic$2(milliseconds, callback);
       return t1;
     },
-    _makeAsyncAwaitCompleter: function($T) {
+    _makeAsyncAwaitCompleter($T) {
       return new P._AsyncAwaitCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>"));
     },
-    _asyncStartSync: function(bodyFunction, completer) {
+    _asyncStartSync(bodyFunction, completer) {
       bodyFunction.call$2(0, null);
       completer.isSync = true;
       return completer._future;
     },
-    _asyncAwait: function(object, bodyFunction) {
+    _asyncAwait(object, bodyFunction) {
       P._awaitOnObject(object, bodyFunction);
     },
-    _asyncReturn: function(object, completer) {
+    _asyncReturn(object, completer) {
       completer.complete$1(0, object);
     },
-    _asyncRethrow: function(object, completer) {
+    _asyncRethrow(object, completer) {
       completer.completeError$2(H.unwrapException(object), H.getTraceFromException(object));
     },
-    _awaitOnObject: function(object, bodyFunction) {
+    _awaitOnObject(object, bodyFunction) {
       var t1, future,
         thenCallback = new P._awaitOnObject_closure(bodyFunction),
         errorCallback = new P._awaitOnObject_closure0(bodyFunction);
@@ -3907,13 +4447,13 @@
           object.then$1$2$onError(0, thenCallback, errorCallback, t1);
         else {
           future = new P._Future($.Zone__current, type$._Future_dynamic);
-          future._state = 4;
+          future._state = 8;
           future._resultOrListeners = object;
           future._thenAwait$1$2(thenCallback, errorCallback, t1);
         }
       }
     },
-    _wrapJsFunctionForAsync: function($function) {
+    _wrapJsFunctionForAsync($function) {
       var $protected = function(fn, ERROR) {
         return function(errorCode, result) {
           while (true)
@@ -3928,11 +4468,11 @@
       }($function, 1);
       return $.Zone__current.registerBinaryCallback$3$1(new P._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic);
     },
-    AsyncError$: function(error, stackTrace) {
+    AsyncError$(error, stackTrace) {
       var t1 = H.checkNotNullable(error, "error", type$.Object);
       return new P.AsyncError(t1, stackTrace == null ? P.AsyncError_defaultStackTrace(error) : stackTrace);
     },
-    AsyncError_defaultStackTrace: function(error) {
+    AsyncError_defaultStackTrace(error) {
       var stackTrace;
       if (type$.Error._is(error)) {
         stackTrace = error.get$stackTrace();
@@ -3941,12 +4481,12 @@
       }
       return C._StringStackTrace_3uE;
     },
-    Future_Future$microtask: function(computation, $T) {
+    Future_Future$microtask(computation, $T) {
       var result = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
       P.scheduleMicrotask(new P.Future_Future$microtask_closure(result, computation));
       return result;
     },
-    Future_Future$sync: function(computation, $T) {
+    Future_Future$sync(computation, $T) {
       var result, error, stackTrace, future, replacement, t1, t2, exception;
       try {
         result = computation.call$0();
@@ -3955,7 +4495,7 @@
         else {
           t1 = $T._as(result);
           t2 = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
-          t2._state = 4;
+          t2._state = 8;
           t2._resultOrListeners = t1;
           return t2;
         }
@@ -3972,15 +4512,15 @@
         return future;
       }
     },
-    Future_Future$value: function(value, $T) {
+    Future_Future$value(value, $T) {
       var t1 = new P._Future($.Zone__current, $T._eval$1("_Future<0>"));
       t1._asyncComplete$1(value);
       return t1;
     },
-    Completer_Completer: function($T) {
+    Completer_Completer($T) {
       return new P._AsyncCompleter(new P._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncCompleter<0>"));
     },
-    _completeWithErrorCallback: function(result, error, stackTrace) {
+    _completeWithErrorCallback(result, error, stackTrace) {
       var replacement = $.Zone__current.errorCallback$2(error, stackTrace);
       if (replacement != null) {
         error = replacement.error;
@@ -3989,30 +4529,31 @@
         stackTrace = P.AsyncError_defaultStackTrace(error);
       result._completeError$2(error, stackTrace);
     },
-    _Future__chainCoreFuture: function(source, target) {
+    _Future__chainCoreFuture(source, target) {
       var t1, t2, listeners;
-      for (t1 = type$._Future_dynamic; t2 = source._state, t2 === 2;)
+      for (t1 = type$._Future_dynamic; t2 = source._state, (t2 & 4) !== 0;)
         source = t1._as(source._resultOrListeners);
-      if (t2 >= 4) {
+      if ((t2 & 24) !== 0) {
         listeners = target._removeListeners$0();
-        target._state = source._state;
-        target._resultOrListeners = source._resultOrListeners;
+        target._cloneResult$1(source);
         P._Future__propagateToListeners(target, listeners);
       } else {
         listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners);
-        target._state = 2;
+        target._state = target._state & 1 | 4;
         target._resultOrListeners = source;
         source._prependListeners$1(listeners);
       }
     },
-    _Future__propagateToListeners: function(source, listeners) {
-      var t2, t3, t4, _box_0, hasError, asyncError, nextListener, nextListener0, t5, sourceResult, t6, t7, zone, oldZone, result, current, _box_1 = {},
+    _Future__propagateToListeners(source, listeners) {
+      var t2, t3, t4, _box_0, t5, t6, hasError, asyncError, nextListener, nextListener0, sourceResult, t7, zone, oldZone, result, current, _box_1 = {},
         t1 = _box_1.source = source;
       for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) {
         _box_0 = {};
-        hasError = t1._state === 8;
+        t5 = t1._state;
+        t6 = (t5 & 16) === 0;
+        hasError = !t6;
         if (listeners == null) {
-          if (hasError) {
+          if (hasError && (t5 & 1) === 0) {
             asyncError = t2._as(t1._resultOrListeners);
             t1._zone.handleUncaughtError$2(asyncError.error, asyncError.stackTrace);
           }
@@ -4030,7 +4571,6 @@
         sourceResult = t5._resultOrListeners;
         _box_0.listenerHasError = hasError;
         _box_0.listenerValueOrError = sourceResult;
-        t6 = !hasError;
         if (t6) {
           t7 = t1.state;
           t7 = (t7 & 1) !== 0 || (t7 & 15) === 8;
@@ -4040,6 +4580,7 @@
           zone = t1.result._zone;
           if (hasError) {
             t1 = t5._zone;
+            t1.toString;
             t1 = !(t1 === zone || t1.get$errorZone() === zone.get$errorZone());
           } else
             t1 = false;
@@ -4050,7 +4591,7 @@
             return;
           }
           oldZone = $.Zone__current;
-          if (oldZone !== zone)
+          if (oldZone != zone)
             $.Zone__current = zone;
           else
             oldZone = null;
@@ -4074,11 +4615,11 @@
             t4._as(t1);
             result = _box_0.listener.result;
             if (t1 instanceof P._Future)
-              if (t1._state >= 4) {
+              if ((t1._state & 24) !== 0) {
                 current = t3._as(result._resultOrListeners);
                 result._resultOrListeners = null;
                 listeners = result._reverseListeners$1(current);
-                result._state = t1._state;
+                result._state = t1._state & 30 | result._state & 1;
                 result._resultOrListeners = t1._resultOrListeners;
                 _box_1.source = t1;
                 continue;
@@ -4097,25 +4638,25 @@
         t5 = _box_0.listenerValueOrError;
         if (!t1) {
           result.$ti._precomputed1._as(t5);
-          result._state = 4;
+          result._state = 8;
           result._resultOrListeners = t5;
         } else {
           t2._as(t5);
-          result._state = 8;
+          result._state = result._state & 1 | 16;
           result._resultOrListeners = t5;
         }
         _box_1.source = result;
         t1 = result;
       }
     },
-    _registerErrorHandler: function(errorHandler, zone) {
+    _registerErrorHandler(errorHandler, zone) {
       if (type$.dynamic_Function_Object_StackTrace._is(errorHandler))
         return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace);
       if (type$.dynamic_Function_Object._is(errorHandler))
         return zone.registerUnaryCallback$2$1(errorHandler, type$.dynamic, type$.Object);
-      throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a valid result"));
+      throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", string$.Error_));
     },
-    _microtaskLoop: function() {
+    _microtaskLoop() {
       var entry, next;
       for (entry = $._nextCallback; entry != null; entry = $._nextCallback) {
         $._lastPriorityCallback = null;
@@ -4126,7 +4667,7 @@
         entry.callback.call$0();
       }
     },
-    _startMicrotaskLoop: function() {
+    _startMicrotaskLoop() {
       $._isInCallbackLoop = true;
       try {
         P._microtaskLoop();
@@ -4137,7 +4678,7 @@
           $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure());
       }
     },
-    _scheduleAsyncCallback: function(callback) {
+    _scheduleAsyncCallback(callback) {
       var newEntry = new P._AsyncCallbackEntry(callback),
         lastCallback = $._lastCallback;
       if (lastCallback == null) {
@@ -4147,7 +4688,7 @@
       } else
         $._lastCallback = lastCallback.next = newEntry;
     },
-    _schedulePriorityAsyncCallback: function(callback) {
+    _schedulePriorityAsyncCallback(callback) {
       var entry, lastPriorityCallback, next,
         t1 = $._nextCallback;
       if (t1 == null) {
@@ -4168,7 +4709,7 @@
           $._lastCallback = entry;
       }
     },
-    scheduleMicrotask: function(callback) {
+    scheduleMicrotask(callback) {
       var t1, _null = null,
         currentZone = $.Zone__current;
       if (C.C__RootZone === currentZone) {
@@ -4186,15 +4727,15 @@
       t1 = $.Zone__current;
       t1.scheduleMicrotask$1(t1.bindCallbackGuarded$1(callback));
     },
-    StreamIterator_StreamIterator: function(stream, $T) {
+    StreamIterator_StreamIterator(stream, $T) {
       H.checkNotNullable(stream, "stream", type$.Object);
       return new P._StreamIterator($T._eval$1("_StreamIterator<0>"));
     },
-    StreamController_StreamController: function(onCancel, onListen, sync, $T) {
+    StreamController_StreamController(onCancel, onListen, sync, $T) {
       var _null = null;
       return sync ? new P._SyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_SyncStreamController<0>")) : new P._AsyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_AsyncStreamController<0>"));
     },
-    _runGuarded: function(notificationHandler) {
+    _runGuarded(notificationHandler) {
       var e, s, exception;
       if (notificationHandler == null)
         return;
@@ -4206,55 +4747,58 @@
         $.Zone__current.handleUncaughtError$2(e, s);
       }
     },
-    _BufferingStreamSubscription__registerDataHandler: function(zone, handleData, $T) {
+    _BufferingStreamSubscription__registerDataHandler(zone, handleData, $T) {
       var t1 = handleData == null ? P.async___nullDataHandler$closure() : handleData;
       return zone.registerUnaryCallback$2$1(t1, type$.void, $T);
     },
-    _BufferingStreamSubscription__registerErrorHandler: function(zone, handleError) {
+    _BufferingStreamSubscription__registerErrorHandler(zone, handleError) {
       if (handleError == null)
         handleError = P.async___nullErrorHandler$closure();
       if (type$.void_Function_Object_StackTrace._is(handleError))
         return zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace);
       if (type$.void_Function_Object._is(handleError))
         return zone.registerUnaryCallback$2$1(handleError, type$.dynamic, type$.Object);
-      throw H.wrapException(P.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace."));
+      throw H.wrapException(P.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.", null));
     },
-    _nullDataHandler: function(value) {
+    _nullDataHandler(value) {
     },
-    _nullErrorHandler: function(error, stackTrace) {
+    _nullErrorHandler(error, stackTrace) {
       type$.StackTrace._as(stackTrace);
       $.Zone__current.handleUncaughtError$2(error, stackTrace);
     },
-    _nullDoneHandler: function() {
+    _nullDoneHandler() {
     },
-    _cancelAndValue: function(subscription, future, value) {
+    _cancelAndValue(subscription, future, value) {
       var cancelFuture = subscription.cancel$0(0);
       if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture())
         cancelFuture.whenComplete$1(new P._cancelAndValue_closure(future, value));
       else
         future._complete$1(value);
     },
-    Timer_Timer: function(duration, callback) {
+    Timer_Timer(duration, callback) {
       var t1 = $.Zone__current;
       if (t1 === C.C__RootZone)
         return t1.createTimer$2(duration, callback);
       return t1.createTimer$2(duration, t1.bindCallbackGuarded$1(callback));
     },
-    ZoneSpecification_ZoneSpecification$from: function(other, handleUncaughtError) {
+    ZoneSpecification_ZoneSpecification$from(other, handleUncaughtError) {
       var t1 = handleUncaughtError == null ? other.handleUncaughtError : handleUncaughtError;
       return new P._ZoneSpecification(t1, other.run, other.runUnary, other.runBinary, other.registerCallback, other.registerUnaryCallback, other.registerBinaryCallback, other.errorCallback, other.scheduleMicrotask, other.createTimer, other.createPeriodicTimer, other.print, other.fork);
     },
-    _rootHandleUncaughtError: function($self, $parent, zone, error, stackTrace) {
-      P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(error, type$.StackTrace._as(stackTrace)));
+    _rootHandleUncaughtError($self, $parent, zone, error, stackTrace) {
+      P._rootHandleError(error, type$.StackTrace._as(stackTrace));
     },
-    _rootRun: function($self, $parent, zone, f, $R) {
+    _rootHandleError(error, stackTrace) {
+      P._schedulePriorityAsyncCallback(new P._rootHandleError_closure(error, stackTrace));
+    },
+    _rootRun($self, $parent, zone, f, $R) {
       var old, t1;
       type$.nullable_Zone._as($self);
       type$.nullable_ZoneDelegate._as($parent);
       type$.Zone._as(zone);
       $R._eval$1("0()")._as(f);
       t1 = $.Zone__current;
-      if (t1 === zone)
+      if (t1 == zone)
         return f.call$0();
       if (!(zone instanceof P._Zone))
         throw H.wrapException(P.ArgumentError$value(zone, "zone", "Can only run in platform zones"));
@@ -4267,7 +4811,7 @@
         $.Zone__current = old;
       }
     },
-    _rootRunUnary: function($self, $parent, zone, f, arg, $R, $T) {
+    _rootRunUnary($self, $parent, zone, f, arg, $R, $T) {
       var old, t1;
       type$.nullable_Zone._as($self);
       type$.nullable_ZoneDelegate._as($parent);
@@ -4275,7 +4819,7 @@
       $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f);
       $T._as(arg);
       t1 = $.Zone__current;
-      if (t1 === zone)
+      if (t1 == zone)
         return f.call$1(arg);
       if (!(zone instanceof P._Zone))
         throw H.wrapException(P.ArgumentError$value(zone, "zone", "Can only run in platform zones"));
@@ -4288,7 +4832,7 @@
         $.Zone__current = old;
       }
     },
-    _rootRunBinary: function($self, $parent, zone, f, arg1, arg2, $R, T1, T2) {
+    _rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, T1, T2) {
       var old, t1;
       type$.nullable_Zone._as($self);
       type$.nullable_ZoneDelegate._as($parent);
@@ -4297,7 +4841,7 @@
       T1._as(arg1);
       T2._as(arg2);
       t1 = $.Zone__current;
-      if (t1 === zone)
+      if (t1 == zone)
         return f.call$2(arg1, arg2);
       if (!(zone instanceof P._Zone))
         throw H.wrapException(P.ArgumentError$value(zone, "zone", "Can only run in platform zones"));
@@ -4310,20 +4854,20 @@
         $.Zone__current = old;
       }
     },
-    _rootRegisterCallback: function($self, $parent, zone, f, $R) {
+    _rootRegisterCallback($self, $parent, zone, f, $R) {
       return $R._eval$1("0()")._as(f);
     },
-    _rootRegisterUnaryCallback: function($self, $parent, zone, f, $R, $T) {
+    _rootRegisterUnaryCallback($self, $parent, zone, f, $R, $T) {
       return $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f);
     },
-    _rootRegisterBinaryCallback: function($self, $parent, zone, f, $R, T1, T2) {
+    _rootRegisterBinaryCallback($self, $parent, zone, f, $R, T1, T2) {
       return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
     },
-    _rootErrorCallback: function($self, $parent, zone, error, stackTrace) {
+    _rootErrorCallback($self, $parent, zone, error, stackTrace) {
       type$.nullable_StackTrace._as(stackTrace);
       return null;
     },
-    _rootScheduleMicrotask: function($self, $parent, zone, f) {
+    _rootScheduleMicrotask($self, $parent, zone, f) {
       var t1, t2;
       type$.void_Function._as(f);
       if (C.C__RootZone !== zone) {
@@ -4333,25 +4877,27 @@
       }
       P._scheduleAsyncCallback(f);
     },
-    _rootCreateTimer: function($self, $parent, zone, duration, callback) {
+    _rootCreateTimer($self, $parent, zone, duration, callback) {
       type$.Duration._as(duration);
-      callback = zone.bindCallback$1$1(type$.void_Function._as(callback), type$.void);
-      return P.Timer__createTimer(duration, callback);
+      type$.void_Function._as(callback);
+      return P.Timer__createTimer(duration, C.C__RootZone !== zone ? zone.bindCallback$1$1(callback, type$.void) : callback);
     },
-    _rootCreatePeriodicTimer: function($self, $parent, zone, duration, callback) {
+    _rootCreatePeriodicTimer($self, $parent, zone, duration, callback) {
       var milliseconds;
       type$.Duration._as(duration);
-      callback = zone.bindUnaryCallback$2$1(type$.void_Function_Timer._as(callback), type$.void, type$.Timer);
+      type$.void_Function_Timer._as(callback);
+      if (C.C__RootZone !== zone)
+        callback = zone.bindUnaryCallback$2$1(callback, type$.void, type$.Timer);
       milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000);
       return P._TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback);
     },
-    _rootPrint: function($self, $parent, zone, line) {
+    _rootPrint($self, $parent, zone, line) {
       H.printString(H._asStringS(line));
     },
-    _printToZone: function(line) {
+    _printToZone(line) {
       $.Zone__current.print$1(0, line);
     },
-    _rootFork: function($self, $parent, zone, specification, zoneValues) {
+    _rootFork($self, $parent, zone, specification, zoneValues) {
       var valueMap, t1, handleUncaughtError;
       type$.nullable_ZoneSpecification._as(specification);
       type$.nullable_Map_of_nullable_Object_and_nullable_Object._as(zoneValues);
@@ -4365,7 +4911,7 @@
         t1.set$_handleUncaughtError(new P._ZoneFunction(t1, handleUncaughtError, type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace));
       return t1;
     },
-    runZonedGuarded: function(body, onError, $R) {
+    runZonedGuarded(body, onError, $R) {
       var error, stackTrace, parentZone, errorHandler, t1, exception, _null = null, zoneSpecification = null, zoneValues = null;
       H.checkNotNullable(body, "body", $R._eval$1("0()"));
       H.checkNotNullable(onError, "onError", type$.void_Function_Object_StackTrace);
@@ -4761,7 +5307,7 @@
       this.registered = t1;
       this.T = t2;
     },
-    _rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) {
+    _rootHandleError_closure: function _rootHandleError_closure(t0, t1) {
       this.error = t0;
       this.stackTrace = t1;
     },
@@ -4772,6 +5318,13 @@
       this.f = t1;
       this.R = t2;
     },
+    _RootZone_bindUnaryCallback_closure: function _RootZone_bindUnaryCallback_closure(t0, t1, t2, t3) {
+      var _ = this;
+      _.$this = t0;
+      _.f = t1;
+      _.T = t2;
+      _.R = t3;
+    },
     _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) {
       this.$this = t0;
       this.f = t1;
@@ -4785,7 +5338,7 @@
       this.parentZone = t0;
       this.onError = t1;
     },
-    HashMap_HashMap: function(equals, hashCode, isValidKey, $K, $V) {
+    HashMap_HashMap(equals, hashCode, isValidKey, $K, $V) {
       if (isValidKey == null)
         if (hashCode == null) {
           if (equals == null)
@@ -4805,75 +5358,84 @@
       }
       return P._CustomHashMap$(equals, hashCode, isValidKey, $K, $V);
     },
-    _HashMap__getTableEntry: function(table, key) {
+    _HashMap__getTableEntry(table, key) {
       var entry = table[key];
       return entry === table ? null : entry;
     },
-    _HashMap__setTableEntry: function(table, key, value) {
+    _HashMap__setTableEntry(table, key, value) {
       if (value == null)
         table[key] = table;
       else
         table[key] = value;
     },
-    _HashMap__newHashTable: function() {
+    _HashMap__newHashTable() {
       var table = Object.create(null);
       P._HashMap__setTableEntry(table, "<non-identifier-key>", table);
       delete table["<non-identifier-key>"];
       return table;
     },
-    _CustomHashMap$: function(_equals, _hashCode, validKey, $K, $V) {
+    _CustomHashMap$(_equals, _hashCode, validKey, $K, $V) {
       var t1 = validKey != null ? validKey : new P._CustomHashMap_closure($K);
       return new P._CustomHashMap(_equals, _hashCode, t1, $K._eval$1("@<0>")._bind$1($V)._eval$1("_CustomHashMap<1,2>"));
     },
-    LinkedHashMap_LinkedHashMap: function($K, $V) {
-      return new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
+    LinkedHashMap_LinkedHashMap(hashCode, isValidKey, $K, $V) {
+      if (isValidKey == null) {
+        if (hashCode == null)
+          return new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
+      } else if (hashCode == null)
+        hashCode = P.collection___defaultHashCode$closure();
+      return P._LinkedCustomHashMap$(P.collection___defaultEquals$closure(), hashCode, isValidKey, $K, $V);
     },
-    LinkedHashMap_LinkedHashMap$_literal: function(keyValuePairs, $K, $V) {
+    LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) {
       return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"))));
     },
-    LinkedHashMap_LinkedHashMap$_empty: function($K, $V) {
+    LinkedHashMap_LinkedHashMap$_empty($K, $V) {
       return new H.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
     },
-    HashSet_HashSet: function(equals, hashCode, $E) {
+    _LinkedCustomHashMap$(_equals, _hashCode, validKey, $K, $V) {
+      var t1 = validKey != null ? validKey : new P._LinkedCustomHashMap_closure($K);
+      return new P._LinkedCustomHashMap(_equals, _hashCode, t1, $K._eval$1("@<0>")._bind$1($V)._eval$1("_LinkedCustomHashMap<1,2>"));
+    },
+    HashSet_HashSet(equals, hashCode, $E) {
       return new P._HashSet($E._eval$1("_HashSet<0>"));
     },
-    _HashSet__newHashTable: function() {
+    _HashSet__newHashTable() {
       var table = Object.create(null);
       table["<non-identifier-key>"] = table;
       delete table["<non-identifier-key>"];
       return table;
     },
-    LinkedHashSet_LinkedHashSet: function($E) {
+    LinkedHashSet_LinkedHashSet($E) {
       return new P._LinkedHashSet($E._eval$1("_LinkedHashSet<0>"));
     },
-    LinkedHashSet_LinkedHashSet$_empty: function($E) {
+    LinkedHashSet_LinkedHashSet$_empty($E) {
       return new P._LinkedHashSet($E._eval$1("_LinkedHashSet<0>"));
     },
-    _LinkedHashSet__newHashTable: function() {
+    _LinkedHashSet__newHashTable() {
       var table = Object.create(null);
       table["<non-identifier-key>"] = table;
       delete table["<non-identifier-key>"];
       return table;
     },
-    _LinkedHashSetIterator$: function(_set, _modifications, $E) {
+    _LinkedHashSetIterator$(_set, _modifications, $E) {
       var t1 = new P._LinkedHashSetIterator(_set, _modifications, $E._eval$1("_LinkedHashSetIterator<0>"));
       t1._collection$_cell = _set._collection$_first;
       return t1;
     },
-    _defaultEquals: function(a, b) {
+    _defaultEquals(a, b) {
       return J.$eq$(a, b);
     },
-    _defaultHashCode: function(a) {
+    _defaultHashCode(a) {
       return J.get$hashCode$(a);
     },
-    IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightDelimiter) {
+    IterableBase_iterableToShortString(iterable, leftDelimiter, rightDelimiter) {
       var parts, t1;
       if (P._isToStringVisiting(iterable)) {
         if (leftDelimiter === "(" && rightDelimiter === ")")
           return "(...)";
         return leftDelimiter + "..." + rightDelimiter;
       }
-      parts = H.setRuntimeTypeInfo([], type$.JSArray_String);
+      parts = H._setArrayType([], type$.JSArray_String);
       C.JSArray_methods.add$1($._toStringVisiting, iterable);
       try {
         P._iterablePartsToStrings(iterable, parts);
@@ -4885,7 +5447,7 @@
       t1 = P.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
-    IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDelimiter) {
+    IterableBase_iterableToFullString(iterable, leftDelimiter, rightDelimiter) {
       var buffer, t1;
       if (P._isToStringVisiting(iterable))
         return leftDelimiter + "..." + rightDelimiter;
@@ -4903,14 +5465,14 @@
       t1 = buffer._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
-    _isToStringVisiting: function(o) {
+    _isToStringVisiting(o) {
       var t1, i;
       for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)
         if (o === $._toStringVisiting[i])
           return true;
       return false;
     },
-    _iterablePartsToStrings: function(iterable, parts) {
+    _iterablePartsToStrings(iterable, parts) {
       var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision,
         it = J.get$iterator$ax(iterable),
         $length = 0, count = 0;
@@ -4991,23 +5553,23 @@
       C.JSArray_methods.add$1(parts, penultimateString);
       C.JSArray_methods.add$1(parts, ultimateString);
     },
-    LinkedHashMap_LinkedHashMap$from: function(other, $K, $V) {
-      var result = P.LinkedHashMap_LinkedHashMap($K, $V);
+    LinkedHashMap_LinkedHashMap$from(other, $K, $V) {
+      var result = P.LinkedHashMap_LinkedHashMap(null, null, $K, $V);
       J.forEach$1$ax(other, new P.LinkedHashMap_LinkedHashMap$from_closure(result, $K, $V));
       return result;
     },
-    LinkedHashSet_LinkedHashSet$from: function(elements, $E) {
+    LinkedHashSet_LinkedHashSet$from(elements, $E) {
       var t1, _i,
         result = P.LinkedHashSet_LinkedHashSet($E);
       for (t1 = elements.length, _i = 0; _i < elements.length; elements.length === t1 || (0, H.throwConcurrentModificationError)(elements), ++_i)
         result.add$1(0, $E._as(elements[_i]));
       return result;
     },
-    ListMixin__compareAny: function(a, b) {
+    ListMixin__compareAny(a, b) {
       var t1 = type$.Comparable_dynamic;
       return J.compareTo$1$ns(t1._as(a), t1._as(b));
     },
-    MapBase_mapToString: function(m) {
+    MapBase_mapToString(m) {
       var result, t1 = {};
       if (P._isToStringVisiting(m))
         return "{...}";
@@ -5026,13 +5588,13 @@
       t1 = result._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
-    ListQueue$: function($E) {
+    ListQueue$($E) {
       return new P.ListQueue(P.List_List$filled(P.ListQueue__calculateCapacity(null), null, false, $E._eval$1("0?")), $E._eval$1("ListQueue<0>"));
     },
-    ListQueue__calculateCapacity: function(initialCapacity) {
+    ListQueue__calculateCapacity(initialCapacity) {
       return 8;
     },
-    SplayTreeSet$: function(compare, isValidKey, $E) {
+    SplayTreeSet$(compare, isValidKey, $E) {
       var t1 = isValidKey == null ? new P.SplayTreeSet_closure($E) : isValidKey;
       return new P.SplayTreeSet(compare, t1, $E._eval$1("SplayTreeSet<0>"));
     },
@@ -5072,6 +5634,26 @@
       _._collection$_current = null;
       _.$ti = t2;
     },
+    _LinkedIdentityHashMap: function _LinkedIdentityHashMap(t0) {
+      var _ = this;
+      _.__js_helper$_length = 0;
+      _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null;
+      _._modifications = 0;
+      _.$ti = t0;
+    },
+    _LinkedCustomHashMap: function _LinkedCustomHashMap(t0, t1, t2, t3) {
+      var _ = this;
+      _._equals = t0;
+      _._hashCode = t1;
+      _._validKey = t2;
+      _.__js_helper$_length = 0;
+      _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null;
+      _._modifications = 0;
+      _.$ti = t3;
+    },
+    _LinkedCustomHashMap_closure: function _LinkedCustomHashMap_closure(t0) {
+      this.K = t0;
+    },
     _HashSet: function _HashSet(t0) {
       var _ = this;
       _._collection$_length = 0;
@@ -5197,7 +5779,7 @@
     },
     __SetBase_Object_SetMixin: function __SetBase_Object_SetMixin() {
     },
-    _parseJson: function(source, reviver) {
+    _parseJson(source, reviver) {
       var parsed, e, exception, t1;
       if (typeof source != "string")
         throw H.wrapException(H.argumentErrorValue(source));
@@ -5212,7 +5794,7 @@
       t1 = P._convertJsonToDartLazy(parsed);
       return t1;
     },
-    _convertJsonToDartLazy: function(object) {
+    _convertJsonToDartLazy(object) {
       var i;
       if (object == null)
         return null;
@@ -5224,7 +5806,7 @@
         object[i] = P._convertJsonToDartLazy(object[i]);
       return object;
     },
-    Base64Codec__checkPadding: function(source, sourceIndex, sourceEnd, firstPadding, paddingCount, $length) {
+    Base64Codec__checkPadding(source, sourceIndex, sourceEnd, firstPadding, paddingCount, $length) {
       if (C.JSInt_methods.$mod($length, 4) !== 0)
         throw H.wrapException(P.FormatException$("Invalid base64 padding, padded length must be multiple of four, is " + $length, source, sourceEnd));
       if (firstPadding + paddingCount !== $length)
@@ -5232,23 +5814,23 @@
       if (paddingCount > 2)
         throw H.wrapException(P.FormatException$("Invalid base64 padding, more than two '=' characters", source, sourceIndex));
     },
-    JsonUnsupportedObjectError$: function(unsupportedObject, cause, partialResult) {
+    JsonUnsupportedObjectError$(unsupportedObject, cause, partialResult) {
       return new P.JsonUnsupportedObjectError(unsupportedObject, cause);
     },
-    _defaultToEncodable: function(object) {
+    _defaultToEncodable(object) {
       return object.toJson$0();
     },
-    _JsonStringStringifier$: function(_sink, _toEncodable) {
+    _JsonStringStringifier$(_sink, _toEncodable) {
       return new P._JsonStringStringifier(_sink, [], P.convert___defaultToEncodable$closure());
     },
-    _JsonStringStringifier_stringify: function(object, toEncodable, indent) {
+    _JsonStringStringifier_stringify(object, toEncodable, indent) {
       var t1,
         output = new P.StringBuffer("");
       P._JsonStringStringifier_printOn(object, output, toEncodable, indent);
       t1 = output._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
-    _JsonStringStringifier_printOn: function(object, output, toEncodable, indent) {
+    _JsonStringStringifier_printOn(object, output, toEncodable, indent) {
       var stringifier = P._JsonStringStringifier$(output, toEncodable);
       stringifier.writeObject$1(object);
     },
@@ -5305,40 +5887,40 @@
       this._bufferIndex = this._carry = 0;
       this._buffer = t0;
     },
-    _symbolMapToStringMap: function(map) {
+    _symbolMapToStringMap(map) {
       var result = new H.JsLinkedHashMap(type$.JsLinkedHashMap_String_dynamic);
       map.forEach$1(0, new P._symbolMapToStringMap_closure(result));
       return result;
     },
-    identityHashCode: function(object) {
+    identityHashCode(object) {
       return H.objectHashCode(object);
     },
-    Function_apply: function($function, positionalArguments, namedArguments) {
+    Function_apply($function, positionalArguments, namedArguments) {
       return H.Primitives_applyFunction($function, positionalArguments, namedArguments == null ? null : P._symbolMapToStringMap(namedArguments));
     },
-    int_parse: function(source, radix) {
+    int_parse(source, radix) {
       var value = H.Primitives_parseInt(source, radix);
       if (value != null)
         return value;
       throw H.wrapException(P.FormatException$(source, null, null));
     },
-    Error__objectToString: function(object) {
+    Error__objectToString(object) {
       if (object instanceof H.Closure)
         return object.toString$0(0);
       return "Instance of '" + H.S(H.Primitives_objectTypeName(object)) + "'";
     },
-    DateTime$fromMillisecondsSinceEpoch: function(millisecondsSinceEpoch, isUtc) {
+    DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, isUtc) {
       var t1;
       if (Math.abs(millisecondsSinceEpoch) <= 864e13)
         t1 = false;
       else
         t1 = true;
       if (t1)
-        H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + millisecondsSinceEpoch));
+        H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + millisecondsSinceEpoch, null));
       H.checkNotNullable(isUtc, "isUtc", type$.bool);
       return new P.DateTime(millisecondsSinceEpoch, isUtc);
     },
-    List_List$filled: function($length, fill, growable, $E) {
+    List_List$filled($length, fill, growable, $E) {
       var i,
         result = growable ? J.JSArray_JSArray$growable($length, $E) : J.JSArray_JSArray$fixed($length, $E);
       if ($length !== 0 && fill != null)
@@ -5346,32 +5928,32 @@
           result[i] = fill;
       return result;
     },
-    List_List$from: function(elements, growable, $E) {
+    List_List$from(elements, growable, $E) {
       var t1,
-        list = H.setRuntimeTypeInfo([], $E._eval$1("JSArray<0>"));
+        list = H._setArrayType([], $E._eval$1("JSArray<0>"));
       for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
         C.JSArray_methods.add$1(list, $E._as(t1.get$current(t1)));
       if (growable)
         return list;
       return J.JSArray_markFixedList(list, $E);
     },
-    List_List$of: function(elements, growable, $E) {
+    List_List$of(elements, growable, $E) {
       var t1;
       if (growable)
         return P.List_List$_of(elements, $E);
       t1 = J.JSArray_markFixedList(P.List_List$_of(elements, $E), $E);
       return t1;
     },
-    List_List$_of: function(elements, $E) {
+    List_List$_of(elements, $E) {
       var list, t1;
       if (Array.isArray(elements))
-        return H.setRuntimeTypeInfo(elements.slice(0), $E._eval$1("JSArray<0>"));
-      list = H.setRuntimeTypeInfo([], $E._eval$1("JSArray<0>"));
+        return H._setArrayType(elements.slice(0), $E._eval$1("JSArray<0>"));
+      list = H._setArrayType([], $E._eval$1("JSArray<0>"));
       for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
         C.JSArray_methods.add$1(list, t1.get$current(t1));
       return list;
     },
-    String_String$fromCharCodes: function(charCodes, start, end) {
+    String_String$fromCharCodes(charCodes, start, end) {
       var array, len;
       if (Array.isArray(charCodes)) {
         array = charCodes;
@@ -5383,7 +5965,7 @@
         return H.Primitives_stringFromNativeUint8List(charCodes, start, P.RangeError_checkValidRange(start, end, charCodes.length));
       return P.String__stringFromIterable(charCodes, start, end);
     },
-    String__stringFromIterable: function(charCodes, start, end) {
+    String__stringFromIterable(charCodes, start, end) {
       var t1, it, i, list, _null = null;
       if (start < 0)
         throw H.wrapException(P.RangeError$range(start, 0, J.get$length$asx(charCodes), _null, _null));
@@ -5406,13 +5988,13 @@
         }
       return H.Primitives_stringFromCharCodes(list);
     },
-    RegExp_RegExp: function(source, caseSensitive, multiLine) {
+    RegExp_RegExp(source, caseSensitive, multiLine) {
       return new H.JSSyntaxRegExp(source, H.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, false, false, false));
     },
-    identical: function(a, b) {
+    identical(a, b) {
       return a == null ? b == null : a === b;
     },
-    StringBuffer__writeAll: function(string, objects, separator) {
+    StringBuffer__writeAll(string, objects, separator) {
       var iterator = J.get$iterator$ax(objects);
       if (!iterator.moveNext$0())
         return string;
@@ -5427,10 +6009,10 @@
       }
       return string;
     },
-    NoSuchMethodError$: function(receiver, memberName, positionalArguments, namedArguments) {
+    NoSuchMethodError$(receiver, memberName, positionalArguments, namedArguments) {
       return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments);
     },
-    _Uri__uriEncode: function(canonicalTable, text, encoding, spaceToPlus) {
+    _Uri__uriEncode(canonicalTable, text, encoding, spaceToPlus) {
       var t1, bytes, i, t2, byte, t3,
         _s16_ = "0123456789ABCDEF";
       if (encoding === C.C_Utf8Codec) {
@@ -5460,7 +6042,7 @@
       }
       return t2.charCodeAt(0) == 0 ? t2 : t2;
     },
-    StackTrace_current: function() {
+    StackTrace_current() {
       var stackTrace, exception;
       if (H.boolConversionCheck($.$get$_hasErrorStackProperty()))
         return H.getTraceFromException(new Error());
@@ -5472,7 +6054,7 @@
         return stackTrace;
       }
     },
-    _BigIntImpl__parseDecimal: function(source, isNegative) {
+    _BigIntImpl__parseDecimal(source, isNegative) {
       var part, i,
         result = $.$get$_BigIntImpl_zero(),
         t1 = source.length,
@@ -5492,12 +6074,12 @@
         return result.$negate(0);
       return result;
     },
-    _BigIntImpl__codeUnitToRadixValue: function(codeUnit) {
+    _BigIntImpl__codeUnitToRadixValue(codeUnit) {
       if (48 <= codeUnit && codeUnit <= 57)
         return codeUnit - 48;
       return (codeUnit | 32) - 97 + 10;
     },
-    _BigIntImpl__parseHex: function(source, startPos, isNegative) {
+    _BigIntImpl__parseHex(source, startPos, isNegative) {
       var t3, i, chunk, j, i0, digitValue, digitIndex, digitIndex0,
         t1 = source.length,
         sourceLength = t1 - startPos,
@@ -5540,7 +6122,7 @@
       t1 = P._BigIntImpl__normalize(chunkCount, digits);
       return new P._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1);
     },
-    _BigIntImpl__tryParse: function(source, radix) {
+    _BigIntImpl__tryParse(source, radix) {
       var match, t1, t2, isNegative, decimalMatch, hexMatch;
       if (source === "")
         return null;
@@ -5564,7 +6146,7 @@
         return P._BigIntImpl__parseHex(hexMatch, 2, isNegative);
       return null;
     },
-    _BigIntImpl__normalize: function(used, digits) {
+    _BigIntImpl__normalize(used, digits) {
       var t2,
         t1 = digits.length;
       while (true) {
@@ -5583,10 +6165,10 @@
       }
       return used;
     },
-    _BigIntImpl__cloneDigits: function(digits, from, to, $length) {
+    _BigIntImpl__cloneDigits(digits, from, to, $length) {
       var resultDigits, n, t1, i, t2;
       if (!H._isInt($length))
-        H.throwExpression(P.ArgumentError$("Invalid length " + H.S($length)));
+        H.throwExpression(P.ArgumentError$("Invalid length " + H.S($length), null));
       resultDigits = new Uint16Array($length);
       if (typeof to !== "number")
         return to.$sub();
@@ -5604,7 +6186,7 @@
       }
       return resultDigits;
     },
-    _BigIntImpl__BigIntImpl$_fromInt: function(value) {
+    _BigIntImpl__BigIntImpl$_fromInt(value) {
       var digits, t1, i, i0,
         isNegative = value < 0;
       if (isNegative) {
@@ -5641,7 +6223,7 @@
       t1 = P._BigIntImpl__normalize(t1, digits);
       return new P._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1);
     },
-    _BigIntImpl__dlShiftDigits: function(xDigits, xUsed, n, resultDigits) {
+    _BigIntImpl__dlShiftDigits(xDigits, xUsed, n, resultDigits) {
       var i, t1, t2, t3, t4;
       if (xUsed === 0)
         return 0;
@@ -5663,7 +6245,7 @@
       }
       return xUsed + n;
     },
-    _BigIntImpl__lsh: function(xDigits, xUsed, n, resultDigits) {
+    _BigIntImpl__lsh(xDigits, xUsed, n, resultDigits) {
       var i, t1, t2, carry, digit, t3, t4,
         digitShift = C.JSInt_methods._tdivFast$1(n, 16),
         bitShift = C.JSInt_methods.$mod(n, 16),
@@ -5684,7 +6266,7 @@
         return H.ioore(resultDigits, digitShift);
       resultDigits[digitShift] = carry;
     },
-    _BigIntImpl__lShiftDigits: function(xDigits, xUsed, n, resultDigits) {
+    _BigIntImpl__lShiftDigits(xDigits, xUsed, n, resultDigits) {
       var resultUsed, t1, i, t2,
         digitsShift = C.JSInt_methods._tdivFast$1(n, 16);
       if (C.JSInt_methods.$mod(n, 16) === 0)
@@ -5703,7 +6285,7 @@
         resultUsed = t2;
       return resultUsed;
     },
-    _BigIntImpl__rsh: function(xDigits, xUsed, n, resultDigits) {
+    _BigIntImpl__rsh(xDigits, xUsed, n, resultDigits) {
       var carry, last, t2, i, t3, digit,
         digitsShift = C.JSInt_methods._tdivFast$1(n, 16),
         bitShift = C.JSInt_methods.$mod(n, 16),
@@ -5729,7 +6311,7 @@
         return H.ioore(resultDigits, last);
       resultDigits[last] = carry;
     },
-    _BigIntImpl__compareDigits: function(digits, used, otherDigits, otherUsed) {
+    _BigIntImpl__compareDigits(digits, used, otherDigits, otherUsed) {
       var i, t1, t2, t3,
         result = used - otherUsed;
       if (result === 0)
@@ -5745,7 +6327,7 @@
         }
       return result;
     },
-    _BigIntImpl__absAdd: function(digits, used, otherDigits, otherUsed, resultDigits) {
+    _BigIntImpl__absAdd(digits, used, otherDigits, otherUsed, resultDigits) {
       var t1, t2, t3, carry, i, t4;
       for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.length, carry = 0, i = 0; i < otherUsed; ++i) {
         if (i >= t1)
@@ -5772,7 +6354,7 @@
         return H.ioore(resultDigits, used);
       resultDigits[used] = carry;
     },
-    _BigIntImpl__absSub: function(digits, used, otherDigits, otherUsed, resultDigits) {
+    _BigIntImpl__absSub(digits, used, otherDigits, otherUsed, resultDigits) {
       var t1, t2, t3, carry, i, t4;
       for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.length, carry = 0, i = 0; i < otherUsed; ++i) {
         if (i >= t1)
@@ -5796,7 +6378,7 @@
         carry = 0 - (C.JSInt_methods._shrOtherPositive$1(carry, 16) & 1);
       }
     },
-    _BigIntImpl__mulAdd: function(x, multiplicandDigits, i, accumulatorDigits, j, n) {
+    _BigIntImpl__mulAdd(x, multiplicandDigits, i, accumulatorDigits, j, n) {
       var t1, t2, c, i0, t3, combined, j0, l;
       if (x === 0)
         return;
@@ -5821,7 +6403,7 @@
         c = C.JSInt_methods._tdivFast$1(l, 65536);
       }
     },
-    _BigIntImpl__estimateQuotientDigit: function(topDigitDivisor, digits, i) {
+    _BigIntImpl__estimateQuotientDigit(topDigitDivisor, digits, i) {
       var t2, t3, quotientDigit,
         t1 = digits.length;
       if (i < 0 || i >= t1)
@@ -5837,7 +6419,7 @@
         return 65535;
       return quotientDigit;
     },
-    DateTime__fourDigits: function(n) {
+    DateTime__fourDigits(n) {
       var absN = Math.abs(n),
         sign = n < 0 ? "-" : "";
       if (absN >= 1000)
@@ -5848,48 +6430,48 @@
         return sign + "00" + absN;
       return sign + "000" + absN;
     },
-    DateTime__threeDigits: function(n) {
+    DateTime__threeDigits(n) {
       if (n >= 100)
         return "" + n;
       if (n >= 10)
         return "0" + n;
       return "00" + n;
     },
-    DateTime__twoDigits: function(n) {
+    DateTime__twoDigits(n) {
       if (n >= 10)
         return "" + n;
       return "0" + n;
     },
-    Error_safeToString: function(object) {
-      if (typeof object == "number" || H._isBool(object) || null == object)
+    Error_safeToString(object) {
+      if (typeof object == "number" || H._isBool(object) || object == null)
         return J.toString$0$(object);
       if (typeof object == "string")
         return JSON.stringify(object);
       return P.Error__objectToString(object);
     },
-    AssertionError$: function(message) {
+    AssertionError$(message) {
       return new P.AssertionError(message);
     },
-    ArgumentError$: function(message) {
-      return new P.ArgumentError(false, null, null, message);
+    ArgumentError$(message, $name) {
+      return new P.ArgumentError(false, null, $name, message);
     },
-    ArgumentError$value: function(value, $name, message) {
+    ArgumentError$value(value, $name, message) {
       return new P.ArgumentError(true, value, $name, message);
     },
-    ArgumentError$notNull: function($name) {
+    ArgumentError$notNull($name) {
       return new P.ArgumentError(false, null, $name, "Must not be null");
     },
-    RangeError$: function(message) {
+    RangeError$(message) {
       var _null = null;
       return new P.RangeError(_null, _null, false, _null, _null, message);
     },
-    RangeError$value: function(value, $name) {
+    RangeError$value(value, $name) {
       return new P.RangeError(null, null, true, value, $name, "Value not in range");
     },
-    RangeError$range: function(invalidValue, minValue, maxValue, $name, message) {
+    RangeError$range(invalidValue, minValue, maxValue, $name, message) {
       return new P.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value");
     },
-    RangeError_checkValidRange: function(start, end, $length) {
+    RangeError_checkValidRange(start, end, $length) {
       if (0 > start || start > $length)
         throw H.wrapException(P.RangeError$range(start, 0, $length, "start", null));
       if (end != null) {
@@ -5899,44 +6481,44 @@
       }
       return $length;
     },
-    RangeError_checkNotNegative: function(value, $name) {
+    RangeError_checkNotNegative(value, $name) {
       if (value < 0)
         throw H.wrapException(P.RangeError$range(value, 0, null, $name, null));
       return value;
     },
-    IndexError$: function(invalidValue, indexable, $name, message, $length) {
+    IndexError$(invalidValue, indexable, $name, message, $length) {
       var t1 = H._asIntS($length == null ? J.get$length$asx(indexable) : $length);
       return new P.IndexError(t1, true, invalidValue, $name, "Index out of range");
     },
-    UnsupportedError$: function(message) {
+    UnsupportedError$(message) {
       return new P.UnsupportedError(message);
     },
-    UnimplementedError$: function(message) {
+    UnimplementedError$(message) {
       return new P.UnimplementedError(message);
     },
-    StateError$: function(message) {
+    StateError$(message) {
       return new P.StateError(message);
     },
-    ConcurrentModificationError$: function(modifiedObject) {
+    ConcurrentModificationError$(modifiedObject) {
       return new P.ConcurrentModificationError(modifiedObject);
     },
-    Exception_Exception: function(message) {
+    Exception_Exception(message) {
       return new P._Exception(message);
     },
-    FormatException$: function(message, source, offset) {
+    FormatException$(message, source, offset) {
       return new P.FormatException(message, source, offset);
     },
-    Map_castFrom: function(source, $K, $V, K2, V2) {
+    Map_castFrom(source, $K, $V, K2, V2) {
       return new H.CastMap(source, $K._eval$1("@<0>")._bind$1($V)._bind$1(K2)._bind$1(V2)._eval$1("CastMap<1,2,3,4>"));
     },
-    print: function(object) {
+    print(object) {
       var toZone = $.printToZone;
       if (toZone == null)
         H.printString(object);
       else
         toZone.call$1(object);
     },
-    Uri_parse: function(uri) {
+    Uri_parse(uri) {
       var delta, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t1, t2, schemeAuth, queryStart0, pathStart0, userInfoStart, userInfo, host, portNumber, port, path, query, _null = null,
         end = uri.length;
       if (end >= 5) {
@@ -6037,7 +6619,7 @@
                   fragmentStart -= 4;
                   pathStart0 = pathStart - 4;
                   queryStart -= 4;
-                  uri = J.replaceRange$3$asx(uri, portStart, pathStart, "");
+                  uri = J.replaceRange$3$s(uri, portStart, pathStart, "");
                   end -= 3;
                   pathStart = pathStart0;
                 }
@@ -6092,7 +6674,7 @@
       query = queryStart < fragmentStart ? P._Uri__makeQuery(uri, queryStart + 1, fragmentStart, _null) : _null;
       return P._Uri$_internal(scheme, userInfo, host, port, path, query, fragmentStart < end ? P._Uri__makeFragment(uri, fragmentStart + 1, end) : _null);
     },
-    Uri__parseIPv4Address: function(host, start, end) {
+    Uri__parseIPv4Address(host, start, end) {
       var i, partStart, partIndex, char, part, partIndex0,
         _s43_ = "IPv4 address should contain exactly 4 parts",
         _s37_ = "each part must be in the range 0..255",
@@ -6127,13 +6709,13 @@
       result[partIndex] = part;
       return result;
     },
-    Uri_parseIPv6Address: function(host, start, end) {
+    Uri_parseIPv6Address(host, start, end) {
       var parts, i, partStart, wildcardSeen, seenDot, char, atEnd, t1, last, bytes, wildCardLength, index, value, j, t2,
         error = new P.Uri_parseIPv6Address_error(host),
         parseHex = new P.Uri_parseIPv6Address_parseHex(error, host);
       if (host.length < 2)
         error.call$1("address is too short");
-      parts = H.setRuntimeTypeInfo([], type$.JSArray_int);
+      parts = H._setArrayType([], type$.JSArray_int);
       for (i = start, partStart = i, wildcardSeen = false, seenDot = false; i < end; ++i) {
         char = C.JSString_methods.codeUnitAt$1(host, i);
         if (char === 58) {
@@ -6201,17 +6783,17 @@
       }
       return bytes;
     },
-    _Uri$_internal: function(scheme, _userInfo, _host, _port, path, _query, _fragment) {
+    _Uri$_internal(scheme, _userInfo, _host, _port, path, _query, _fragment) {
       return new P._Uri(scheme, _userInfo, _host, _port, path, _query, _fragment);
     },
-    _Uri__defaultPort: function(scheme) {
+    _Uri__defaultPort(scheme) {
       if (scheme === "http")
         return 80;
       if (scheme === "https")
         return 443;
       return 0;
     },
-    _Uri__compareScheme: function(scheme, uri) {
+    _Uri__compareScheme(scheme, uri) {
       var t1, i, schemeChar, uriChar, delta, lowerChar;
       for (t1 = scheme.length, i = 0; i < t1; ++i) {
         schemeChar = C.JSString_methods._codeUnitAt$1(scheme, i);
@@ -6228,15 +6810,15 @@
       }
       return true;
     },
-    _Uri__fail: function(uri, index, message) {
+    _Uri__fail(uri, index, message) {
       throw H.wrapException(P.FormatException$(message, uri, index));
     },
-    _Uri__makePort: function(port, scheme) {
+    _Uri__makePort(port, scheme) {
       if (port != null && port === P._Uri__defaultPort(scheme))
         return null;
       return port;
     },
-    _Uri__makeHost: function(host, start, end, strictIPv6) {
+    _Uri__makeHost(host, start, end, strictIPv6) {
       var t1, t2, index, zoneIDstart, zoneID, i;
       if (host == null)
         return null;
@@ -6272,11 +6854,11 @@
         }
       return P._Uri__normalizeRegName(host, start, end);
     },
-    _Uri__checkZoneID: function(host, start, end) {
+    _Uri__checkZoneID(host, start, end) {
       var index = C.JSString_methods.indexOf$2(host, "%", start);
       return index >= start && index < end ? index : end;
     },
-    _Uri__normalizeZoneID: function(host, start, end, prefix) {
+    _Uri__normalizeZoneID(host, start, end, prefix) {
       var index, sectionStart, isNormalized, char, replacement, t1, t2, tail, sourceLength, slice,
         buffer = prefix !== "" ? new P.StringBuffer(prefix) : null;
       for (index = start, sectionStart = index, isNormalized = true; index < end;) {
@@ -6350,7 +6932,7 @@
       t1 = buffer._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
-    _Uri__normalizeRegName: function(host, start, end) {
+    _Uri__normalizeRegName(host, start, end) {
       var index, sectionStart, buffer, isNormalized, char, replacement, t1, slice, t2, sourceLength, tail;
       for (index = start, sectionStart = index, buffer = null, isNormalized = true; index < end;) {
         char = C.JSString_methods.codeUnitAt$1(host, index);
@@ -6442,7 +7024,7 @@
       t1 = buffer._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
-    _Uri__makeScheme: function(scheme, start, end) {
+    _Uri__makeScheme(scheme, start, end) {
       var i, containsUpperCase, codeUnit, t1,
         _s67_ = string$._null_;
       if (start === end)
@@ -6470,7 +7052,7 @@
       scheme = C.JSString_methods.substring$2(scheme, start, end);
       return P._Uri__canonicalizeScheme(containsUpperCase ? scheme.toLowerCase() : scheme);
     },
-    _Uri__canonicalizeScheme: function(scheme) {
+    _Uri__canonicalizeScheme(scheme) {
       if (scheme === "http")
         return "http";
       if (scheme === "file")
@@ -6481,12 +7063,12 @@
         return "package";
       return scheme;
     },
-    _Uri__makeUserInfo: function(userInfo, start, end) {
+    _Uri__makeUserInfo(userInfo, start, end) {
       if (userInfo == null)
         return "";
       return P._Uri__normalizeOrSubstring(userInfo, start, end, C.List_gRj, false);
     },
-    _Uri__makePath: function(path, start, end, pathSegments, scheme, hasAuthority) {
+    _Uri__makePath(path, start, end, pathSegments, scheme, hasAuthority) {
       var t1, result,
         isFile = scheme === "file",
         ensureLeadingSlash = isFile || hasAuthority;
@@ -6496,7 +7078,7 @@
         t1 = H._arrayInstanceType(pathSegments);
         result = new H.MappedListIterable(pathSegments, t1._eval$1("String(1)")._as(new P._Uri__makePath_closure()), t1._eval$1("MappedListIterable<1,String>")).join$1(0, "/");
       } else if (pathSegments != null)
-        throw H.wrapException(P.ArgumentError$("Both path and pathSegments specified"));
+        throw H.wrapException(P.ArgumentError$("Both path and pathSegments specified", null));
       else
         result = P._Uri__normalizeOrSubstring(path, start, end, C.List_qg4, true);
       if (result.length === 0) {
@@ -6506,23 +7088,23 @@
         result = "/" + result;
       return P._Uri__normalizePath(result, scheme, hasAuthority);
     },
-    _Uri__normalizePath: function(path, scheme, hasAuthority) {
+    _Uri__normalizePath(path, scheme, hasAuthority) {
       var t1 = scheme.length === 0;
       if (t1 && !hasAuthority && !C.JSString_methods.startsWith$1(path, "/"))
         return P._Uri__normalizeRelativePath(path, !t1 || hasAuthority);
       return P._Uri__removeDotSegments(path);
     },
-    _Uri__makeQuery: function(query, start, end, queryParameters) {
+    _Uri__makeQuery(query, start, end, queryParameters) {
       if (query != null)
         return P._Uri__normalizeOrSubstring(query, start, end, C.List_CVk, true);
       return null;
     },
-    _Uri__makeFragment: function(fragment, start, end) {
+    _Uri__makeFragment(fragment, start, end) {
       if (fragment == null)
         return null;
       return P._Uri__normalizeOrSubstring(fragment, start, end, C.List_CVk, true);
     },
-    _Uri__normalizeEscape: function(source, index, lowerCase) {
+    _Uri__normalizeEscape(source, index, lowerCase) {
       var firstDigit, secondDigit, firstDigitValue, secondDigitValue, value,
         t1 = index + 2;
       if (t1 >= source.length)
@@ -6547,7 +7129,7 @@
         return C.JSString_methods.substring$2(source, index, index + 3).toUpperCase();
       return null;
     },
-    _Uri__escapeChar: function(char) {
+    _Uri__escapeChar(char) {
       var codeUnits, flag, encodedBytes, t1, index, byte, t2, t3,
         _s16_ = "0123456789ABCDEF";
       if (char < 128) {
@@ -6590,11 +7172,11 @@
       }
       return P.String_String$fromCharCodes(codeUnits, 0, null);
     },
-    _Uri__normalizeOrSubstring: function(component, start, end, charTable, escapeDelimiters) {
+    _Uri__normalizeOrSubstring(component, start, end, charTable, escapeDelimiters) {
       var t1 = P._Uri__normalize(component, start, end, charTable, escapeDelimiters);
       return t1 == null ? C.JSString_methods.substring$2(component, start, end) : t1;
     },
-    _Uri__normalize: function(component, start, end, charTable, escapeDelimiters) {
+    _Uri__normalize(component, start, end, charTable, escapeDelimiters) {
       var t1, index, sectionStart, buffer, char, t2, replacement, sourceLength, tail, _null = null;
       for (t1 = !escapeDelimiters, index = start, sectionStart = index, buffer = _null; index < end;) {
         char = C.JSString_methods.codeUnitAt$1(component, index);
@@ -6672,16 +7254,16 @@
       t1 = buffer._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
-    _Uri__mayContainDotSegments: function(path) {
+    _Uri__mayContainDotSegments(path) {
       if (C.JSString_methods.startsWith$1(path, "."))
         return true;
       return C.JSString_methods.indexOf$1(path, "/.") !== -1;
     },
-    _Uri__removeDotSegments: function(path) {
+    _Uri__removeDotSegments(path) {
       var output, t1, t2, appendSlash, _i, segment, t3;
       if (!P._Uri__mayContainDotSegments(path))
         return path;
-      output = H.setRuntimeTypeInfo([], type$.JSArray_String);
+      output = H._setArrayType([], type$.JSArray_String);
       for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) {
         segment = t1[_i];
         if (J.$eq$(segment, "..")) {
@@ -6705,11 +7287,11 @@
         C.JSArray_methods.add$1(output, "");
       return C.JSArray_methods.join$1(output, "/");
     },
-    _Uri__normalizeRelativePath: function(path, allowScheme) {
+    _Uri__normalizeRelativePath(path, allowScheme) {
       var output, t1, t2, appendSlash, _i, segment;
       if (!P._Uri__mayContainDotSegments(path))
         return !allowScheme ? P._Uri__escapeScheme(path) : path;
-      output = H.setRuntimeTypeInfo([], type$.JSArray_String);
+      output = H._setArrayType([], type$.JSArray_String);
       for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) {
         segment = t1[_i];
         if (".." === segment)
@@ -6750,7 +7332,7 @@
       }
       return C.JSArray_methods.join$1(output, "/");
     },
-    _Uri__escapeScheme: function(path) {
+    _Uri__escapeScheme(path) {
       var i, char, t2,
         t1 = path.length;
       if (t1 >= 2 && P._Uri__isAlphabeticCharacter(J._codeUnitAt$1$s(path, 0)))
@@ -6770,14 +7352,14 @@
         }
       return path;
     },
-    _Uri__isAlphabeticCharacter: function(codeUnit) {
+    _Uri__isAlphabeticCharacter(codeUnit) {
       var lowerCase = codeUnit | 32;
       return 97 <= lowerCase && lowerCase <= 122;
     },
-    UriData__parse: function(text, start, sourceUri) {
+    UriData__parse(text, start, sourceUri) {
       var t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data,
         _s17_ = "Invalid MIME type",
-        indices = H.setRuntimeTypeInfo([start - 1], type$.JSArray_int);
+        indices = H._setArrayType([start - 1], type$.JSArray_int);
       for (t1 = text.length, i = start, slashIndex = -1, char = null; i < t1; ++i) {
         char = C.JSString_methods._codeUnitAt$1(text, i);
         if (char === 44 || char === 59)
@@ -6823,7 +7405,7 @@
       }
       return new P.UriData(text, indices, sourceUri);
     },
-    _createTables: function() {
+    _createTables() {
       var _i, t2, t3, t4, t5,
         _s77_ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",
         _s1_ = ".", _s1_0 = ":", _s1_1 = "/", _s1_2 = "?", _s1_3 = "#",
@@ -6956,7 +7538,7 @@
       t3.call$3(t2, "+-.", 21);
       return tables;
     },
-    _scan: function(uri, start, end, state, indices) {
+    _scan(uri, start, end, state, indices) {
       var t1, i, table, char, transition,
         tables = $.$get$_scannerTables();
       for (t1 = J.getInterceptor$s(uri), i = start; i < end; ++i) {
@@ -7138,19 +7720,35 @@
       _._fragment = t6;
       _.___Uri_hashCode = _.___Uri_pathSegments = _.___Uri__text = $;
     },
-    convertNativeToDart_Dictionary: function(object) {
-      var dict, keys, t1, _i, t2;
+    _convertNativeToDart_Value(value) {
+      var values, i;
+      if (value == null)
+        return value;
+      if (typeof value == "string" || typeof value == "number" || H._isBool(value))
+        return value;
+      if (P.isJavaScriptSimpleObject(value))
+        return P.convertNativeToDart_Dictionary(value);
+      if (Array.isArray(value)) {
+        values = [];
+        for (i = 0; i < value.length; ++i)
+          values.push(P._convertNativeToDart_Value(value[i]));
+        return values;
+      }
+      return value;
+    },
+    convertNativeToDart_Dictionary(object) {
+      var dict, keys, t1, _i, key;
       if (object == null)
         return null;
       dict = P.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
       keys = Object.getOwnPropertyNames(object);
       for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, H.throwConcurrentModificationError)(keys), ++_i) {
-        t2 = H._asStringS(keys[_i]);
-        dict.$indexSet(0, t2, object[t2]);
+        key = keys[_i];
+        dict.$indexSet(0, key, P._convertNativeToDart_Value(object[key]));
       }
       return dict;
     },
-    _convertDartToNative_Value: function(value) {
+    _convertDartToNative_Value(value) {
       var array;
       if (value == null)
         return value;
@@ -7165,11 +7763,15 @@
       }
       return value;
     },
-    convertDartToNative_Dictionary: function(dict) {
+    convertDartToNative_Dictionary(dict) {
       var object = {};
       J.forEach$1$ax(dict, new P.convertDartToNative_Dictionary_closure(object));
       return object;
     },
+    isJavaScriptSimpleObject(value) {
+      var proto = Object.getPrototypeOf(value);
+      return proto === Object.prototype || proto === null;
+    },
     _StructuredClone: function _StructuredClone() {
     },
     _StructuredClone_walk_closure: function _StructuredClone_walk_closure(t0, t1) {
@@ -7203,7 +7805,7 @@
     },
     KeyRange: function KeyRange() {
     },
-    _callDartFunction: function(callback, captureThis, $self, $arguments) {
+    _callDartFunction(callback, captureThis, $self, $arguments) {
       var arguments0, t1, dartArgs;
       H._asBoolS(captureThis);
       type$.List_dynamic._as($arguments);
@@ -7216,7 +7818,7 @@
       dartArgs = P.List_List$from(J.map$1$1$ax($arguments, P.js___convertToDart$closure(), t1), true, t1);
       return P._convertToJS(P.Function_apply(type$.Function._as(callback), dartArgs, null));
     },
-    _defineProperty: function(o, $name, value) {
+    _defineProperty(o, $name, value) {
       var exception;
       try {
         if (Object.isExtensible(o) && !Object.prototype.hasOwnProperty.call(o, $name)) {
@@ -7228,12 +7830,12 @@
       }
       return false;
     },
-    _getOwnProperty: function(o, $name) {
+    _getOwnProperty(o, $name) {
       if (Object.prototype.hasOwnProperty.call(o, $name))
         return o[$name];
       return null;
     },
-    _convertToJS: function(o) {
+    _convertToJS(o) {
       if (o == null || typeof o == "string" || typeof o == "number" || H._isBool(o))
         return o;
       if (o instanceof P.JsObject)
@@ -7248,7 +7850,7 @@
         return P._getJsProxy(o, "$dart_jsFunction", new P._convertToJS_closure());
       return P._getJsProxy(o, "_$dart_jsObject", new P._convertToJS_closure0($.$get$_dartProxyCtor()));
     },
-    _getJsProxy: function(o, propertyName, createProxy) {
+    _getJsProxy(o, propertyName, createProxy) {
       var jsProxy = P._getOwnProperty(o, propertyName);
       if (jsProxy == null) {
         jsProxy = createProxy.call$1(o);
@@ -7256,7 +7858,7 @@
       }
       return jsProxy;
     },
-    _convertToDart: function(o) {
+    _convertToDart(o) {
       if (o == null || typeof o == "string" || typeof o == "number" || typeof o == "boolean")
         return o;
       else if (o instanceof Object && H.isBrowserObject(o))
@@ -7270,14 +7872,14 @@
       else
         return P._wrapToDart(o);
     },
-    _wrapToDart: function(o) {
+    _wrapToDart(o) {
       if (typeof o == "function")
         return P._getDartProxy(o, $.$get$DART_CLOSURE_PROPERTY_NAME(), new P._wrapToDart_closure());
       if (o instanceof Array)
         return P._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new P._wrapToDart_closure0());
       return P._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new P._wrapToDart_closure1());
     },
-    _getDartProxy: function(o, propertyName, createProxy) {
+    _getDartProxy(o, propertyName, createProxy) {
       var dartProxy = P._getOwnProperty(o, propertyName);
       if (dartProxy == null || !(o instanceof Object)) {
         dartProxy = createProxy.call$1(o);
@@ -7285,7 +7887,7 @@
       }
       return dartProxy;
     },
-    _convertDartFunctionFast: function(f) {
+    _convertDartFunctionFast(f) {
       var ret,
         existing = f.$dart_jsFunction;
       if (existing != null)
@@ -7299,11 +7901,11 @@
       f.$dart_jsFunction = ret;
       return ret;
     },
-    _callDartFunctionFast: function(callback, $arguments) {
+    _callDartFunctionFast(callback, $arguments) {
       type$.List_dynamic._as($arguments);
       return P.Function_apply(type$.Function._as(callback), $arguments, null);
     },
-    allowInterop: function(f, $F) {
+    allowInterop(f, $F) {
       if (typeof f == "function")
         return f;
       else
@@ -7332,7 +7934,7 @@
     },
     _JsArray_JsObject_ListMixin: function _JsArray_JsObject_ListMixin() {
     },
-    promiseToFuture: function(jsPromise, $T) {
+    promiseToFuture(jsPromise, $T) {
       var t1 = new P._Future($.Zone__current, $T._eval$1("_Future<0>")),
         completer = new P._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"));
       jsPromise.then(H.convertDartClosureToJS(new P.promiseToFuture_closure(completer, $T), 1), H.convertDartClosureToJS(new P.promiseToFuture_closure0(completer), 1));
@@ -7348,7 +7950,7 @@
     promiseToFuture_closure0: function promiseToFuture_closure0(t0) {
       this.completer = t0;
     },
-    Random_Random: function(seed) {
+    Random_Random(seed) {
       var t1;
       if (seed == null)
         t1 = C.C__JSRandom;
@@ -7421,8 +8023,445 @@
     _SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin: function _SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin() {
     }
   },
+  Q = {CopyOnWriteList: function CopyOnWriteList(t0, t1, t2) {
+      var _ = this;
+      _._copyBeforeWrite = true;
+      _._growable = t0;
+      _._copy_on_write_list$_list = t1;
+      _.$ti = t2;
+    }, Int64Serializer: function Int64Serializer(t0) {
+      this.types = t0;
+    },
+    _$valueOf($name) {
+      switch ($name) {
+        case "started":
+          return C.BuildStatus_started;
+        case "succeeded":
+          return C.BuildStatus_succeeded;
+        case "failed":
+          return C.BuildStatus_failed;
+        default:
+          throw H.wrapException(P.ArgumentError$($name, null));
+      }
+    },
+    BuildStatus: function BuildStatus(t0) {
+      this.name = t0;
+    },
+    BuildResult: function BuildResult() {
+    },
+    _$BuildStatusSerializer: function _$BuildStatusSerializer() {
+    },
+    _$BuildResultSerializer: function _$BuildResultSerializer() {
+    },
+    _$BuildResult: function _$BuildResult(t0) {
+      this.status = t0;
+    },
+    BuildResultBuilder: function BuildResultBuilder() {
+      this._status = this._build_result$_$v = null;
+    },
+    ReloadingManager: function ReloadingManager(t0, t1) {
+      this._client = t0;
+      this._restarter = t1;
+    }
+  },
+  R = {
+    BuiltListMultimap_BuiltListMultimap($K, $V) {
+      var t1 = R._BuiltListMultimap$copy(C.Map_empty.get$keys(C.Map_empty), new R.BuiltListMultimap_BuiltListMultimap_closure(C.Map_empty), $K, $V);
+      return t1;
+    },
+    _BuiltListMultimap$copy(keys, lookup, $K, $V) {
+      var t1 = new R._BuiltListMultimap(P.LinkedHashMap_LinkedHashMap$_empty($K, $V._eval$1("BuiltList<0>")), D.BuiltList_BuiltList$from(C.List_empty0, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("_BuiltListMultimap<1,2>"));
+      t1._BuiltListMultimap$copy$2(keys, lookup, $K, $V);
+      return t1;
+    },
+    ListMultimapBuilder_ListMultimapBuilder($K, $V) {
+      var t1 = new R.ListMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("ListMultimapBuilder<1,2>"));
+      t1.replace$1(0, C.Map_empty);
+      return t1;
+    },
+    BuiltListMultimap: function BuiltListMultimap() {
+    },
+    BuiltListMultimap_BuiltListMultimap_closure: function BuiltListMultimap_BuiltListMultimap_closure(t0) {
+      this.multimap = t0;
+    },
+    BuiltListMultimap_hashCode_closure: function BuiltListMultimap_hashCode_closure(t0) {
+      this.$this = t0;
+    },
+    _BuiltListMultimap: function _BuiltListMultimap(t0, t1, t2) {
+      var _ = this;
+      _._list_multimap$_map = t0;
+      _._emptyList = t1;
+      _._list_multimap$_keys = _._list_multimap$_hashCode = null;
+      _.$ti = t2;
+    },
+    ListMultimapBuilder: function ListMultimapBuilder(t0) {
+      var _ = this;
+      _.__ListMultimapBuilder__builtMap = $;
+      _._list_multimap$_builtMapOwner = null;
+      _.__ListMultimapBuilder__builderMap = $;
+      _.$ti = t0;
+    },
+    ListMultimapBuilder_replace_closure: function ListMultimapBuilder_replace_closure(t0) {
+      this.multimap = t0;
+    },
+    BoolSerializer: function BoolSerializer(t0) {
+      this.types = t0;
+    },
+    BuiltListMultimapSerializer: function BuiltListMultimapSerializer(t0) {
+      this.types = t0;
+    },
+    BuiltListMultimapSerializer_serialize_closure: function BuiltListMultimapSerializer_serialize_closure(t0, t1) {
+      this.serializers = t0;
+      this.valueType = t1;
+    },
+    BuiltListMultimapSerializer_deserialize_closure: function BuiltListMultimapSerializer_deserialize_closure(t0, t1) {
+      this.serializers = t0;
+      this.valueType = t1;
+    },
+    BuiltSetMultimapSerializer: function BuiltSetMultimapSerializer(t0) {
+      this.types = t0;
+    },
+    BuiltSetMultimapSerializer_serialize_closure: function BuiltSetMultimapSerializer_serialize_closure(t0, t1) {
+      this.serializers = t0;
+      this.valueType = t1;
+    },
+    BuiltSetMultimapSerializer_deserialize_closure: function BuiltSetMultimapSerializer_deserialize_closure(t0, t1) {
+      this.serializers = t0;
+      this.valueType = t1;
+    },
+    SocketClient: function SocketClient() {
+    },
+    SseSocketClient: function SseSocketClient(t0) {
+      this._sockets$_client = t0;
+    },
+    WebSocketClient: function WebSocketClient(t0) {
+      this._channel = t0;
+    },
+    WebSocketClient_stream_closure: function WebSocketClient_stream_closure() {
+    },
+    StreamChannelMixin: function StreamChannelMixin() {
+    }
+  },
+  S = {AsyncMemoizer: function AsyncMemoizer(t0, t1) {
+      this._completer = t0;
+      this.$ti = t1;
+    }, NullSerializer: function NullSerializer(t0) {
+      this.types = t0;
+    }, ExtensionRequest: function ExtensionRequest() {
+    }, ExtensionResponse: function ExtensionResponse() {
+    }, ExtensionEvent: function ExtensionEvent() {
+    }, BatchedEvents: function BatchedEvents() {
+    }, _$ExtensionRequestSerializer: function _$ExtensionRequestSerializer() {
+    }, _$ExtensionResponseSerializer: function _$ExtensionResponseSerializer() {
+    }, _$ExtensionEventSerializer: function _$ExtensionEventSerializer() {
+    }, _$BatchedEventsSerializer: function _$BatchedEventsSerializer() {
+    }, _$ExtensionRequest: function _$ExtensionRequest(t0, t1, t2) {
+      this.id = t0;
+      this.command = t1;
+      this.commandParams = t2;
+    }, ExtensionRequestBuilder: function ExtensionRequestBuilder() {
+      var _ = this;
+      _._commandParams = _._command = _._id = _._extension_request$_$v = null;
+    }, _$ExtensionResponse: function _$ExtensionResponse(t0, t1, t2, t3) {
+      var _ = this;
+      _.id = t0;
+      _.success = t1;
+      _.result = t2;
+      _.error = t3;
+    }, ExtensionResponseBuilder: function ExtensionResponseBuilder() {
+      var _ = this;
+      _._extension_request$_error = _._extension_request$_result = _._extension_request$_success = _._id = _._extension_request$_$v = null;
+    }, _$ExtensionEvent: function _$ExtensionEvent(t0, t1) {
+      this.params = t0;
+      this.method = t1;
+    }, ExtensionEventBuilder: function ExtensionEventBuilder() {
+      this._extension_request$_method = this._params = this._extension_request$_$v = null;
+    }, _$BatchedEvents: function _$BatchedEvents(t0) {
+      this.events = t0;
+    }, BatchedEventsBuilder: function BatchedEventsBuilder() {
+      this._events = this._extension_request$_$v = null;
+    },
+    toPromise(future, $T) {
+      return new self.Promise(P.allowInterop(new S.toPromise_closure(future, $T), $T._eval$1("~(~(0*)*,~(@)*)*")), $T._eval$1("0*"));
+    },
+    Promise: function Promise() {
+    },
+    toPromise_closure: function toPromise_closure(t0, t1) {
+      this.future = t0;
+      this.T = t1;
+    }
+  },
+  T = {
+    generateUuidV4() {
+      var t1 = new T.generateUuidV4__printDigits(),
+        t2 = new T.generateUuidV4__bitsDigits(t1, new T.generateUuidV4__generateBits(C.C__JSRandom)),
+        t3 = C.C__JSRandom.nextInt$1(4);
+      return H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4)) + "-" + H.S(t2.call$2(16, 4)) + "-4" + H.S(t2.call$2(12, 3)) + "-" + H.S(t1.call$2(8 + t3, 1)) + H.S(t2.call$2(12, 3)) + "-" + H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4));
+    },
+    generateUuidV4__generateBits: function generateUuidV4__generateBits(t0) {
+      this.random = t0;
+    },
+    generateUuidV4__printDigits: function generateUuidV4__printDigits() {
+    },
+    generateUuidV4__bitsDigits: function generateUuidV4__bitsDigits(t0, t1) {
+      this._printDigits = t0;
+      this._generateBits = t1;
+    },
+    UuidUtil_mathRNG() {
+      var i, t1,
+        b = new Uint8Array(16),
+        rand = $.$get$UuidUtil__random();
+      for (i = 0; i < 16; ++i) {
+        t1 = rand.nextInt$1(256);
+        if (i >= 16)
+          return H.ioore(b, i);
+        b[i] = t1;
+      }
+      return b;
+    }
+  },
+  U = {
+    Serializers_Serializers() {
+      var t1 = type$.Type,
+        t2 = type$.Serializer_dynamic,
+        t3 = type$.String;
+      t2 = new Y.BuiltJsonSerializersBuilder(A.MapBuilder_MapBuilder(t1, t2), A.MapBuilder_MapBuilder(t3, t2), A.MapBuilder_MapBuilder(t3, t2), A.MapBuilder_MapBuilder(type$.FullType, type$.Function), D.ListBuilder_ListBuilder(C.List_empty0, type$.SerializerPlugin));
+      t2.add$1(0, new O.BigIntSerializer(D.BuiltList_BuiltList$from([C.Type_BigInt_8OV, J.get$runtimeType$($.$get$_BigIntImpl_zero())], t1)));
+      t2.add$1(0, new R.BoolSerializer(D.BuiltList_BuiltList$from([C.Type_bool_lhE], t1)));
+      t3 = type$.Object;
+      t2.add$1(0, new K.BuiltListSerializer(D.BuiltList_BuiltList$from([C.Type_BuiltList_iTR, H.getRuntimeType(D.BuiltList_BuiltList$from(C.List_empty0, t3))], t1)));
+      t2.add$1(0, new R.BuiltListMultimapSerializer(D.BuiltList_BuiltList$from([C.Type_BuiltListMultimap_2Mt, H.getRuntimeType(R.BuiltListMultimap_BuiltListMultimap(t3, t3))], t1)));
+      t2.add$1(0, new K.BuiltMapSerializer(D.BuiltList_BuiltList$from([C.Type_BuiltMap_qd4, H.getRuntimeType(A.BuiltMap_BuiltMap(t3, t3))], t1)));
+      t2.add$1(0, new O.BuiltSetSerializer(D.BuiltList_BuiltList$from([C.Type_BuiltSet_fcN, H.getRuntimeType(X.BuiltSet_BuiltSet$from(C.List_empty0, t3))], t1)));
+      t2.add$1(0, new R.BuiltSetMultimapSerializer(X.BuiltSet_BuiltSet$from([C.Type_BuiltSetMultimap_9Fi], t1)));
+      t2.add$1(0, new Z.DateTimeSerializer(D.BuiltList_BuiltList$from([C.Type_DateTime_8AS], t1)));
+      t2.add$1(0, new D.DoubleSerializer(D.BuiltList_BuiltList$from([C.Type_double_K1J], t1)));
+      t2.add$1(0, new K.DurationSerializer(D.BuiltList_BuiltList$from([C.Type_Duration_SnA], t1)));
+      t2.add$1(0, new B.IntSerializer(D.BuiltList_BuiltList$from([C.Type_int_tHn], t1)));
+      t2.add$1(0, new Q.Int64Serializer(D.BuiltList_BuiltList$from([C.Type_Int64_gc6], t1)));
+      t2.add$1(0, new O.JsonObjectSerializer(D.BuiltList_BuiltList$from([C.Type_JsonObject_gyf, C.Type_BoolJsonObject_8HQ, C.Type_ListJsonObject_yPV, C.Type_MapJsonObject_bBG, C.Type_NumJsonObject_H9C, C.Type_StringJsonObject_GAC], t1)));
+      t2.add$1(0, new S.NullSerializer(D.BuiltList_BuiltList$from([C.Type_Null_Yyn], t1)));
+      t2.add$1(0, new K.NumSerializer(D.BuiltList_BuiltList$from([C.Type_num_cv7], t1)));
+      t2.add$1(0, new K.RegExpSerializer(D.BuiltList_BuiltList$from([C.Type_RegExp_Eeh, $.$get$_runtimeType()], t1)));
+      t2.add$1(0, new M.StringSerializer(D.BuiltList_BuiltList$from([C.Type_String_k8F], t1)));
+      t2.add$1(0, new O.UriSerializer(D.BuiltList_BuiltList$from([C.Type_Uri_EFX, H.getRuntimeType(P.Uri_parse("http://example.com")), H.getRuntimeType(P.Uri_parse("http://example.com:"))], t1)));
+      t2.addBuilderFactory$2(C.FullType_eLJ, new U.Serializers_Serializers_closure());
+      t2.addBuilderFactory$2(C.FullType_4Wf, new U.Serializers_Serializers_closure0());
+      t2.addBuilderFactory$2(C.FullType_wIv, new U.Serializers_Serializers_closure1());
+      t2.addBuilderFactory$2(C.FullType_4e8, new U.Serializers_Serializers_closure2());
+      t2.addBuilderFactory$2(C.FullType_Ofx, new U.Serializers_Serializers_closure3());
+      return t2.build$0();
+    },
+    FullType__getRawName(type) {
+      var $name = J.toString$0$(type),
+        genericsStart = J.indexOf$1$s($name, "<");
+      return genericsStart === -1 ? $name : C.JSString_methods.substring$2($name, 0, genericsStart);
+    },
+    DeserializationError_DeserializationError(json, type, error) {
+      var limitedJson = J.toString$0$(json),
+        t1 = limitedJson.length;
+      return new U.DeserializationError(t1 > 80 ? J.replaceRange$3$s(limitedJson, 77, t1, "...") : limitedJson, type, error);
+    },
+    Serializers_Serializers_closure: function Serializers_Serializers_closure() {
+    },
+    Serializers_Serializers_closure0: function Serializers_Serializers_closure0() {
+    },
+    Serializers_Serializers_closure1: function Serializers_Serializers_closure1() {
+    },
+    Serializers_Serializers_closure2: function Serializers_Serializers_closure2() {
+    },
+    Serializers_Serializers_closure3: function Serializers_Serializers_closure3() {
+    },
+    FullType: function FullType(t0, t1, t2) {
+      this.root = t0;
+      this.parameters = t1;
+      this.nullable = t2;
+    },
+    DeserializationError: function DeserializationError(t0, t1, t2) {
+      this.json = t0;
+      this.type = t1;
+      this.error = t2;
+    },
+    DefaultEquality: function DefaultEquality(t0) {
+      this.$ti = t0;
+    },
+    IterableEquality: function IterableEquality(t0, t1) {
+      this._elementEquality = t0;
+      this.$ti = t1;
+    },
+    ListEquality: function ListEquality(t0, t1) {
+      this._elementEquality = t0;
+      this.$ti = t1;
+    },
+    _UnorderedEquality: function _UnorderedEquality() {
+    },
+    SetEquality: function SetEquality(t0, t1) {
+      this._elementEquality = t0;
+      this.$ti = t1;
+    },
+    _MapEntry: function _MapEntry(t0, t1, t2) {
+      this.equality = t0;
+      this.key = t1;
+      this.value = t2;
+    },
+    MapEquality: function MapEquality(t0, t1, t2) {
+      this._keyEquality = t0;
+      this._valueEquality = t1;
+      this.$ti = t2;
+    },
+    DeepCollectionEquality: function DeepCollectionEquality() {
+    }
+  },
+  V = {
+    Int32__decodeDigit(c) {
+      if (c >= 48 && c <= 57)
+        return c - 48;
+      else if (c >= 97 && c <= 122)
+        return c - 97 + 10;
+      else if (c >= 65 && c <= 90)
+        return c - 65 + 10;
+      else
+        return -1;
+    },
+    Int64__parseRadix(s, radix) {
+      var i, negative, d0, d1, d2, c, digit, d00, d10, _null = null,
+        t1 = s.length;
+      if (0 < t1 && s[0] === "-") {
+        i = 1;
+        negative = true;
+      } else {
+        i = 0;
+        negative = false;
+      }
+      if (i >= t1)
+        throw H.wrapException(P.FormatException$("No digits in '" + s + "'", _null, _null));
+      for (d0 = 0, d1 = 0, d2 = 0; i < t1; ++i, d1 = d10, d0 = d00) {
+        c = C.JSString_methods._codeUnitAt$1(s, i);
+        digit = V.Int32__decodeDigit(c);
+        if (digit < 0 || digit >= radix)
+          throw H.wrapException(P.FormatException$("Non-radix char code: " + c, _null, _null));
+        d0 = d0 * radix + digit;
+        d00 = d0 & 4194303;
+        d1 = d1 * radix + C.JSInt_methods._shrOtherPositive$1(d0, 22);
+        d10 = d1 & 4194303;
+        d2 = d2 * radix + (d1 >>> 22) & 1048575;
+      }
+      if (negative)
+        return V.Int64__sub(0, 0, 0, d0, d1, d2);
+      return new V.Int64(d0 & 4194303, d1 & 4194303, d2 & 1048575);
+    },
+    Int64_Int64(value) {
+      var negative, v2, v1, t1, t2, t3;
+      if (value < 0) {
+        value = -value;
+        negative = true;
+      } else
+        negative = false;
+      v2 = C.JSInt_methods._tdivFast$1(value, 17592186044416);
+      value -= v2 * 17592186044416;
+      v1 = C.JSInt_methods._tdivFast$1(value, 4194304);
+      t1 = v1 & 4194303;
+      t2 = v2 & 1048575;
+      t3 = value - v1 * 4194304 & 4194303;
+      return negative ? V.Int64__sub(0, 0, 0, t3, t1, t2) : new V.Int64(t3, t1, t2);
+    },
+    Int64__promote(value) {
+      if (value instanceof V.Int64)
+        return value;
+      else if (H._isInt(value))
+        return V.Int64_Int64(value);
+      throw H.wrapException(P.ArgumentError$value(value, null, null));
+    },
+    Int64__toRadixStringUnsigned(radix, d0, d1, d2, sign) {
+      var d4, d3, fatRadix, chunk1, chunk2, chunk3, q, q0, q1, q2, q3, chunk10, residue;
+      if (d0 === 0 && d1 === 0 && d2 === 0)
+        return "0";
+      d4 = (d2 << 4 | d1 >>> 18) >>> 0;
+      d3 = d1 >>> 8 & 1023;
+      d2 = (d1 << 2 | d0 >>> 20) & 1023;
+      d1 = d0 >>> 10 & 1023;
+      d0 &= 1023;
+      if (radix >= 37)
+        return H.ioore(C.List_WrN, radix);
+      fatRadix = C.List_WrN[radix];
+      chunk1 = "";
+      chunk2 = "";
+      chunk3 = "";
+      while (true) {
+        if (!!(d4 === 0 && d3 === 0))
+          break;
+        q = C.JSInt_methods.$tdiv(d4, fatRadix);
+        d3 += d4 - q * fatRadix << 10 >>> 0;
+        q0 = C.JSInt_methods.$tdiv(d3, fatRadix);
+        d2 += d3 - q0 * fatRadix << 10 >>> 0;
+        q1 = C.JSInt_methods.$tdiv(d2, fatRadix);
+        d1 += d2 - q1 * fatRadix << 10 >>> 0;
+        q2 = C.JSInt_methods.$tdiv(d1, fatRadix);
+        d0 += d1 - q2 * fatRadix << 10 >>> 0;
+        q3 = C.JSInt_methods.$tdiv(d0, fatRadix);
+        chunk10 = C.JSString_methods.substring$1(C.JSInt_methods.toRadixString$1(fatRadix + (d0 - q3 * fatRadix), radix), 1);
+        chunk3 = chunk2;
+        chunk2 = chunk1;
+        chunk1 = chunk10;
+        d3 = q0;
+        d4 = q;
+        d2 = q1;
+        d1 = q2;
+        d0 = q3;
+      }
+      residue = (d2 << 20 >>> 0) + (d1 << 10 >>> 0) + d0;
+      return sign + (residue === 0 ? "" : C.JSInt_methods.toRadixString$1(residue, radix)) + chunk1 + chunk2 + chunk3;
+    },
+    Int64__sub(a0, a1, a2, b0, b1, b2) {
+      var diff0 = a0 - b0,
+        diff1 = a1 - b1 - (C.JSInt_methods._shrOtherPositive$1(diff0, 22) & 1);
+      return new V.Int64(diff0 & 4194303, diff1 & 4194303, a2 - b2 - (C.JSInt_methods._shrOtherPositive$1(diff1, 22) & 1) & 1048575);
+    },
+    Int64: function Int64(t0, t1, t2) {
+      this._l = t0;
+      this._m = t1;
+      this._h = t2;
+    },
+    _findNonce() {
+      var t2, elements, t3, nonceValue,
+        t1 = window.document;
+      H.checkTypeBound(type$.legacy_Element, type$.Element, "T", "querySelectorAll");
+      t2 = type$._FrozenElementList_legacy_Element;
+      elements = new W._FrozenElementList(t1.querySelectorAll("script"), t2);
+      for (t1 = new H.ListIterator(elements, elements.get$length(elements), t2._eval$1("ListIterator<ListMixin.E>")), t2 = type$.legacy_HtmlElement; t1.moveNext$0();) {
+        t3 = t2._as(t1.__internal$_current);
+        nonceValue = t3.nonce;
+        if (nonceValue == null)
+          nonceValue = t3.getAttribute("nonce");
+        if (nonceValue != null) {
+          t3 = $.$get$_noncePattern()._nativeRegExp;
+          t3 = t3.test(nonceValue);
+        } else
+          t3 = false;
+        if (t3)
+          return nonceValue;
+      }
+      return null;
+    },
+    runMain() {
+      var t1,
+        scriptElement = $.$get$_createScript().call$0();
+      scriptElement.toString;
+      t1 = J.getInterceptor$x(scriptElement);
+      t1.setInnerHtml$1(scriptElement, "window.$dartRunMain();");
+      document.body.appendChild(scriptElement);
+      P.Future_Future$microtask(t1.get$remove(scriptElement), type$.void);
+    },
+    _createScript_closure: function _createScript_closure() {
+    },
+    _createScript__closure: function _createScript__closure() {
+    },
+    _createScript__closure0: function _createScript__closure0(t0) {
+      this.nonce = t0;
+    }
+  },
   W = {
-    CustomEvent_CustomEvent: function(type) {
+    CustomEvent_CustomEvent(type) {
       var exception,
         canBubble = true,
         cancelable = true,
@@ -7441,7 +8480,7 @@
         J._initCustomEvent$4$x(e, type, canBubble, cancelable, null);
       return e;
     },
-    Element_Element$html: function(html, treeSanitizer, validator) {
+    Element_Element$html(html, treeSanitizer, validator) {
       var fragment,
         t1 = document.body;
       t1.toString;
@@ -7451,7 +8490,7 @@
       t1 = new H.WhereIterable(new W._ChildNodeListLazy(fragment), t1._eval$1("bool(ListMixin.E)")._as(new W.Element_Element$html_closure()), t1._eval$1("WhereIterable<ListMixin.E>"));
       return type$.Element._as(t1.get$single(t1));
     },
-    Element__safeTagName: function(element) {
+    Element__safeTagName(element) {
       var t1, exception,
         result = "element tag unavailable";
       try {
@@ -7463,11 +8502,11 @@
       }
       return result;
     },
-    EventSource__factoryEventSource: function(url, eventSourceInitDict) {
+    EventSource__factoryEventSource(url, eventSourceInitDict) {
       var t1 = new EventSource(url, P.convertDartToNative_Dictionary(eventSourceInitDict));
       return t1;
     },
-    HttpRequest_request: function(url, method, responseType, sendData, withCredentials) {
+    HttpRequest_request(url, method, responseType, sendData, withCredentials) {
       var t2, t3, t4,
         t1 = new P._Future($.Zone__current, type$._Future_HttpRequest),
         completer = new P._AsyncCompleter(t1, type$._AsyncCompleter_HttpRequest),
@@ -7489,41 +8528,41 @@
         xhr.send();
       return t1;
     },
-    WebSocket_WebSocket: function(url, protocols) {
+    WebSocket_WebSocket(url, protocols) {
       return new WebSocket(url);
     },
-    _JenkinsSmiHash_combine: function(hash, value) {
+    _JenkinsSmiHash_combine(hash, value) {
       hash = hash + value & 536870911;
       hash = hash + ((hash & 524287) << 10) & 536870911;
       return hash ^ hash >>> 6;
     },
-    _JenkinsSmiHash_hash4: function(a, b, c, d) {
+    _JenkinsSmiHash_hash4(a, b, c, d) {
       var t1 = W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(0, a), b), c), d),
         hash = t1 + ((t1 & 67108863) << 3) & 536870911;
       hash ^= hash >>> 11;
       return hash + ((hash & 16383) << 15) & 536870911;
     },
-    _EventStreamSubscription$: function(_target, _eventType, onData, _useCapture, $T) {
+    _EventStreamSubscription$(_target, _eventType, onData, _useCapture, $T) {
       var t1 = onData == null ? null : W._wrapZone(new W._EventStreamSubscription_closure(onData), type$.Event);
       t1 = new W._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>"));
       t1._tryResume$0();
       return t1;
     },
-    _Html5NodeValidator$: function(uriPolicy) {
+    _Html5NodeValidator$(uriPolicy) {
       var e = document.createElement("a"),
         t1 = new W._SameOriginUriPolicy(e, window.location);
       t1 = new W._Html5NodeValidator(t1);
       t1._Html5NodeValidator$1$uriPolicy(uriPolicy);
       return t1;
     },
-    _Html5NodeValidator__standardAttributeValidator: function(element, attributeName, value, context) {
+    _Html5NodeValidator__standardAttributeValidator(element, attributeName, value, context) {
       type$.Element._as(element);
       H._asStringS(attributeName);
       H._asStringS(value);
       type$._Html5NodeValidator._as(context);
       return true;
     },
-    _Html5NodeValidator__uriAttributeValidator: function(element, attributeName, value, context) {
+    _Html5NodeValidator__uriAttributeValidator(element, attributeName, value, context) {
       var t1, t2, t3;
       type$.Element._as(element);
       H._asStringS(attributeName);
@@ -7546,27 +8585,27 @@
         t1 = true;
       return t1;
     },
-    _TemplatingNodeValidator$: function() {
+    _TemplatingNodeValidator$() {
       var t1 = type$.String,
         t2 = P.LinkedHashSet_LinkedHashSet$from(C.List_wSV, t1),
         t3 = type$.String_Function_legacy_String._as(new W._TemplatingNodeValidator_closure()),
-        t4 = H.setRuntimeTypeInfo(["TEMPLATE"], type$.JSArray_String);
+        t4 = H._setArrayType(["TEMPLATE"], type$.JSArray_String);
       t1 = new W._TemplatingNodeValidator(t2, P.LinkedHashSet_LinkedHashSet(t1), P.LinkedHashSet_LinkedHashSet(t1), P.LinkedHashSet_LinkedHashSet(t1), null);
       t1._SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes(null, new H.MappedListIterable(C.List_wSV, t3, type$.MappedListIterable_of_legacy_String_and_String), t4, null);
       return t1;
     },
-    _convertNativeToDart_XHR_Response: function(o) {
+    _convertNativeToDart_XHR_Response(o) {
       if (type$.Document._is(o))
         return o;
       return new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(o, true);
     },
-    _DOMWindowCrossFrame__createSafe: function(w) {
+    _DOMWindowCrossFrame__createSafe(w) {
       if (w === window)
         return w;
       else
         return new W._DOMWindowCrossFrame();
     },
-    _wrapZone: function(callback, $T) {
+    _wrapZone(callback, $T) {
       var t1 = $.Zone__current;
       if (t1 === C.C__RootZone)
         return callback;
@@ -7788,7 +8827,7 @@
     },
     _EventStream: function _EventStream(t0, t1, t2, t3) {
       var _ = this;
-      _._html$_target = t0;
+      _._target = t0;
       _._eventType = t1;
       _._useCapture = t2;
       _.$ti = t3;
@@ -7796,7 +8835,7 @@
     _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) {
       var _ = this;
       _._pauseCount = 0;
-      _._html$_target = t0;
+      _._target = t0;
       _._eventType = t1;
       _._onData = t2;
       _._useCapture = t3;
@@ -7942,442 +8981,13 @@
     __StyleSheetList_Interceptor_ListMixin_ImmutableListMixin: function __StyleSheetList_Interceptor_ListMixin_ImmutableListMixin() {
     }
   },
-  S = {AsyncMemoizer: function AsyncMemoizer(t0, t1) {
-      this._completer = t0;
-      this.$ti = t1;
-    }, NullSerializer: function NullSerializer(t0) {
-      this.types = t0;
-    }, ExtensionRequest: function ExtensionRequest() {
-    }, ExtensionResponse: function ExtensionResponse() {
-    }, ExtensionEvent: function ExtensionEvent() {
-    }, BatchedEvents: function BatchedEvents() {
-    }, _$ExtensionRequestSerializer: function _$ExtensionRequestSerializer() {
-    }, _$ExtensionResponseSerializer: function _$ExtensionResponseSerializer() {
-    }, _$ExtensionEventSerializer: function _$ExtensionEventSerializer() {
-    }, _$BatchedEventsSerializer: function _$BatchedEventsSerializer() {
-    }, _$ExtensionRequest: function _$ExtensionRequest(t0, t1, t2) {
-      this.id = t0;
-      this.command = t1;
-      this.commandParams = t2;
-    }, ExtensionRequestBuilder: function ExtensionRequestBuilder() {
-      var _ = this;
-      _._commandParams = _._command = _._id = _._extension_request$_$v = null;
-    }, _$ExtensionResponse: function _$ExtensionResponse(t0, t1, t2, t3) {
-      var _ = this;
-      _.id = t0;
-      _.success = t1;
-      _.result = t2;
-      _.error = t3;
-    }, ExtensionResponseBuilder: function ExtensionResponseBuilder() {
-      var _ = this;
-      _._extension_request$_error = _._extension_request$_result = _._extension_request$_success = _._id = _._extension_request$_$v = null;
-    }, _$ExtensionEvent: function _$ExtensionEvent(t0, t1) {
-      this.params = t0;
-      this.method = t1;
-    }, ExtensionEventBuilder: function ExtensionEventBuilder() {
-      this._extension_request$_method = this._params = this._extension_request$_$v = null;
-    }, _$BatchedEvents: function _$BatchedEvents(t0) {
-      this.events = t0;
-    }, BatchedEventsBuilder: function BatchedEventsBuilder() {
-      this._events = this._extension_request$_$v = null;
-    },
-    toPromise: function(future, $T) {
-      return new self.Promise(P.allowInterop(new S.toPromise_closure(future, $T), $T._eval$1("~(~(0*)*,~(@)*)*")), $T._eval$1("0*"));
-    },
-    Promise: function Promise() {
-    },
-    toPromise_closure: function toPromise_closure(t0, t1) {
-      this.future = t0;
-      this.T = t1;
-    }
-  },
-  O = {DelegatingStreamSink: function DelegatingStreamSink() {
-    }, BigIntSerializer: function BigIntSerializer(t0) {
-      this.types = t0;
-    }, BuiltSetSerializer: function BuiltSetSerializer(t0) {
-      this.types = t0;
-    }, BuiltSetSerializer_serialize_closure: function BuiltSetSerializer_serialize_closure(t0, t1) {
-      this.serializers = t0;
-      this.elementType = t1;
-    }, BuiltSetSerializer_deserialize_closure: function BuiltSetSerializer_deserialize_closure(t0, t1) {
-      this.serializers = t0;
-      this.elementType = t1;
-    }, JsonObjectSerializer: function JsonObjectSerializer(t0) {
-      this.types = t0;
-    }, UriSerializer: function UriSerializer(t0) {
-      this.types = t0;
-    }, Pool: function Pool(t0, t1, t2, t3, t4) {
-      var _ = this;
-      _._requestedResources = t0;
-      _._onReleaseCallbacks = t1;
-      _._onReleaseCompleters = t2;
-      _._maxAllocatedResources = t3;
-      _._allocatedResources = 0;
-      _._timer = null;
-      _._closeMemo = t4;
-    }, Pool__runOnRelease_closure: function Pool__runOnRelease_closure(t0) {
-      this.$this = t0;
-    }, Pool__runOnRelease_closure0: function Pool__runOnRelease_closure0(t0) {
-      this.$this = t0;
-    }, PoolResource: function PoolResource(t0) {
-      this._pool = t0;
-      this._released = false;
-    }},
-  Q = {CopyOnWriteList: function CopyOnWriteList(t0, t1, t2) {
-      var _ = this;
-      _._copyBeforeWrite = true;
-      _._growable = t0;
-      _._copy_on_write_list$_list = t1;
-      _.$ti = t2;
-    }, Int64Serializer: function Int64Serializer(t0) {
-      this.types = t0;
-    },
-    _$valueOf: function($name) {
-      switch ($name) {
-        case "started":
-          return C.BuildStatus_started;
-        case "succeeded":
-          return C.BuildStatus_succeeded;
-        case "failed":
-          return C.BuildStatus_failed;
-        default:
-          throw H.wrapException(P.ArgumentError$($name));
-      }
-    },
-    BuildStatus: function BuildStatus(t0) {
-      this.name = t0;
-    },
-    BuildResult: function BuildResult() {
-    },
-    _$BuildStatusSerializer: function _$BuildStatusSerializer() {
-    },
-    _$BuildResultSerializer: function _$BuildResultSerializer() {
-    },
-    _$BuildResult: function _$BuildResult(t0) {
-      this.status = t0;
-    },
-    BuildResultBuilder: function BuildResultBuilder() {
-      this._status = this._build_result$_$v = null;
-    },
-    ReloadingManager: function ReloadingManager(t0, t1) {
-      this._client = t0;
-      this._restarter = t1;
-    }
-  },
-  A = {
-    hashObjects: function(objects) {
-      return A._finish(J.fold$1$2$ax(objects, 0, new A.hashObjects_closure(), type$.int));
-    },
-    _combine: function(hash, value) {
-      if (typeof hash !== "number")
-        return hash.$add();
-      if (typeof value !== "number")
-        return H.iae(value);
-      hash = hash + value & 536870911;
-      hash = hash + ((hash & 524287) << 10) & 536870911;
-      return hash ^ hash >>> 6;
-    },
-    _finish: function(hash) {
-      if (typeof hash !== "number")
-        return H.iae(hash);
-      hash = hash + ((hash & 67108863) << 3) & 536870911;
-      hash ^= hash >>> 11;
-      return hash + ((hash & 16383) << 15) & 536870911;
-    },
-    hashObjects_closure: function hashObjects_closure() {
-    },
-    BuiltMap_BuiltMap: function($K, $V) {
-      var t1 = new A._BuiltMap(null, P.LinkedHashMap_LinkedHashMap$_empty($K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("_BuiltMap<1,2>"));
-      t1._BuiltMap$copyAndCheckTypes$2(C.Map_empty.get$keys(C.Map_empty), new A.BuiltMap_BuiltMap_closure(C.Map_empty), $K, $V);
-      return t1;
-    },
-    MapBuilder_MapBuilder: function($K, $V) {
-      var t1 = new A.MapBuilder(null, $, null, $K._eval$1("@<0>")._bind$1($V)._eval$1("MapBuilder<1,2>"));
-      t1.replace$1(0, C.Map_empty);
-      return t1;
-    },
-    BuiltMap: function BuiltMap() {
-    },
-    BuiltMap_BuiltMap_closure: function BuiltMap_BuiltMap_closure(t0) {
-      this.map = t0;
-    },
-    BuiltMap_hashCode_closure: function BuiltMap_hashCode_closure(t0) {
-      this.$this = t0;
-    },
-    _BuiltMap: function _BuiltMap(t0, t1, t2) {
-      var _ = this;
-      _._mapFactory = t0;
-      _._map$_map = t1;
-      _._map$_keys = _._map$_hashCode = null;
-      _.$ti = t2;
-    },
-    MapBuilder: function MapBuilder(t0, t1, t2, t3) {
-      var _ = this;
-      _._mapFactory = t0;
-      _.__MapBuilder__map = t1;
-      _._mapOwner = t2;
-      _.$ti = t3;
-    },
-    MapBuilder_replace_closure: function MapBuilder_replace_closure(t0, t1) {
-      this.$this = t0;
-      this.replacement = t1;
-    },
-    JsonObject_JsonObject: function(value) {
-      if (typeof value == "number")
-        return new A.NumJsonObject(value);
-      else if (typeof value == "string")
-        return new A.StringJsonObject(value);
-      else if (H._isBool(value))
-        return new A.BoolJsonObject(value);
-      else if (type$.List_nullable_Object._is(value))
-        return new A.ListJsonObject(new P.UnmodifiableListView(value, type$.UnmodifiableListView_nullable_Object));
-      else if (type$.Map_of_String_and_nullable_Object._is(value))
-        return new A.MapJsonObject(new P.UnmodifiableMapView(value, type$.UnmodifiableMapView_of_String_and_nullable_Object));
-      else if (type$.Map_dynamic_dynamic._is(value))
-        return new A.MapJsonObject(new P.UnmodifiableMapView(J.cast$2$0$ax(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object));
-      else
-        throw H.wrapException(P.ArgumentError$value(value, "value", "Must be bool, List<Object?>, Map<String?, Object?>, num or String"));
-    },
-    JsonObject: function JsonObject() {
-    },
-    BoolJsonObject: function BoolJsonObject(t0) {
-      this.value = t0;
-    },
-    ListJsonObject: function ListJsonObject(t0) {
-      this.value = t0;
-    },
-    MapJsonObject: function MapJsonObject(t0) {
-      this.value = t0;
-    },
-    NumJsonObject: function NumJsonObject(t0) {
-      this.value = t0;
-    },
-    StringJsonObject: function StringJsonObject(t0) {
-      this.value = t0;
-    },
-    RunRequest: function RunRequest() {
-    },
-    _$RunRequestSerializer: function _$RunRequestSerializer() {
-    },
-    _$RunRequest: function _$RunRequest() {
-    },
-    HtmlWebSocketChannel$connect: function(url, protocols) {
-      var t2, t3, localToForeignController, foreignToLocalController, t4, t5, _null = null,
-        t1 = W.WebSocket_WebSocket(url.toString$0(0), protocols);
-      C.WebSocket_methods.set$binaryType(t1, "arraybuffer");
-      t2 = new B.StreamChannelController(type$.StreamChannelController_dynamic);
-      t3 = type$.dynamic;
-      localToForeignController = P.StreamController_StreamController(_null, _null, true, t3);
-      foreignToLocalController = P.StreamController_StreamController(_null, _null, true, t3);
-      t4 = H._instanceType(foreignToLocalController);
-      t5 = H._instanceType(localToForeignController);
-      t2.set$__StreamChannelController__local(K.GuaranteeChannel$(new P._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new P._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3));
-      t3 = K.GuaranteeChannel$(new P._ControllerStream(localToForeignController, t5._eval$1("_ControllerStream<1>")), new P._StreamSinkWrapper(foreignToLocalController, t4._eval$1("_StreamSinkWrapper<1>")), false, t3);
-      if (t2.__StreamChannelController__foreign === $)
-        t2.set$__StreamChannelController__foreign(t3);
-      else
-        H.throwExpression(H.LateError$fieldAI("_foreign"));
-      t2 = new A.HtmlWebSocketChannel(t1, t2);
-      t2.HtmlWebSocketChannel$1(t1);
-      return t2;
-    },
-    HtmlWebSocketChannel: function HtmlWebSocketChannel(t0, t1) {
-      var _ = this;
-      _._html0$_webSocket = t0;
-      _._localCloseReason = _._localCloseCode = null;
-      _._html0$_controller = t1;
-      _.__HtmlWebSocketChannel_sink = $;
-    },
-    HtmlWebSocketChannel_closure: function HtmlWebSocketChannel_closure(t0) {
-      this.$this = t0;
-    },
-    HtmlWebSocketChannel_closure0: function HtmlWebSocketChannel_closure0(t0) {
-      this.$this = t0;
-    },
-    HtmlWebSocketChannel_closure1: function HtmlWebSocketChannel_closure1(t0) {
-      this.$this = t0;
-    },
-    HtmlWebSocketChannel_closure2: function HtmlWebSocketChannel_closure2(t0) {
-      this.$this = t0;
-    },
-    HtmlWebSocketChannel__listen_closure: function HtmlWebSocketChannel__listen_closure(t0) {
-      this.$this = t0;
-    },
-    _HtmlWebSocketSink: function _HtmlWebSocketSink(t0, t1) {
-      this._html0$_channel = t0;
-      this._sink = t1;
-    }
-  },
-  D = {
-    BuiltList_BuiltList$from: function(iterable, $E) {
-      var t1;
-      if (iterable instanceof D._BuiltList) {
-        t1 = H.createRuntimeType($E);
-        t1 = H.createRuntimeType(iterable.$ti._precomputed1) === t1;
-      } else
-        t1 = false;
-      if (t1)
-        return $E._eval$1("BuiltList<0>")._as(iterable);
-      else {
-        t1 = new D._BuiltList(P.List_List$from(iterable, false, $E), $E._eval$1("_BuiltList<0>"));
-        t1._list$_maybeCheckForNull$0();
-        return t1;
-      }
-    },
-    ListBuilder_ListBuilder: function(iterable, $E) {
-      var t1 = new D.ListBuilder($E._eval$1("ListBuilder<0>"));
-      t1.replace$1(0, iterable);
-      return t1;
-    },
-    BuiltList: function BuiltList() {
-    },
-    _BuiltList: function _BuiltList(t0, t1) {
-      this._list = t0;
-      this._list$_hashCode = null;
-      this.$ti = t1;
-    },
-    ListBuilder: function ListBuilder(t0) {
-      this.__ListBuilder__list = $;
-      this._listOwner = null;
-      this.$ti = t0;
-    },
-    DoubleSerializer: function DoubleSerializer(t0) {
-      this.types = t0;
-    },
-    RegisterEvent: function RegisterEvent() {
-    },
-    _$RegisterEventSerializer: function _$RegisterEventSerializer() {
-    },
-    _$RegisterEvent: function _$RegisterEvent(t0, t1) {
-      this.eventData = t0;
-      this.timestamp = t1;
-    },
-    RegisterEventBuilder: function RegisterEventBuilder() {
-      this._register_event$_timestamp = this._register_event$_eventData = this._register_event$_$v = null;
-    },
-    main: function() {
-      return P.runZonedGuarded(new D.main_closure(), new D.main_closure0(), type$.legacy_Future_void);
-    },
-    main_closure: function main_closure() {
-    },
-    main__closure: function main__closure(t0) {
-      this.manager = t0;
-    },
-    main__closure0: function main__closure0(t0) {
-      this.client = t0;
-    },
-    main___closure1: function main___closure1(t0, t1) {
-      this.kind = t0;
-      this.eventData = t1;
-    },
-    main__closure1: function main__closure1(t0) {
-      this.client = t0;
-    },
-    main___closure0: function main___closure0(t0) {
-      this.eventData = t0;
-    },
-    main__closure2: function main__closure2(t0) {
-      this.client = t0;
-    },
-    main___closure: function main___closure() {
-    },
-    main__closure3: function main__closure3(t0) {
-      this.manager = t0;
-    },
-    main__closure4: function main__closure4() {
-    },
-    main__closure5: function main__closure5() {
-    },
-    main__closure6: function main__closure6() {
-    },
-    main_closure0: function main_closure0() {
-    }
-  },
-  R = {
-    BuiltListMultimap_BuiltListMultimap: function($K, $V) {
-      var t1 = R._BuiltListMultimap$copy(C.Map_empty.get$keys(C.Map_empty), new R.BuiltListMultimap_BuiltListMultimap_closure(C.Map_empty), $K, $V);
-      return t1;
-    },
-    _BuiltListMultimap$copy: function(keys, lookup, $K, $V) {
-      var t1 = new R._BuiltListMultimap(P.LinkedHashMap_LinkedHashMap$_empty($K, $V._eval$1("BuiltList<0>")), D.BuiltList_BuiltList$from(C.List_empty0, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("_BuiltListMultimap<1,2>"));
-      t1._BuiltListMultimap$copy$2(keys, lookup, $K, $V);
-      return t1;
-    },
-    ListMultimapBuilder_ListMultimapBuilder: function($K, $V) {
-      var t1 = new R.ListMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("ListMultimapBuilder<1,2>"));
-      t1.replace$1(0, C.Map_empty);
-      return t1;
-    },
-    BuiltListMultimap: function BuiltListMultimap() {
-    },
-    BuiltListMultimap_BuiltListMultimap_closure: function BuiltListMultimap_BuiltListMultimap_closure(t0) {
-      this.multimap = t0;
-    },
-    BuiltListMultimap_hashCode_closure: function BuiltListMultimap_hashCode_closure(t0) {
-      this.$this = t0;
-    },
-    _BuiltListMultimap: function _BuiltListMultimap(t0, t1, t2) {
-      var _ = this;
-      _._list_multimap$_map = t0;
-      _._emptyList = t1;
-      _._list_multimap$_keys = _._list_multimap$_hashCode = null;
-      _.$ti = t2;
-    },
-    ListMultimapBuilder: function ListMultimapBuilder(t0) {
-      var _ = this;
-      _.__ListMultimapBuilder__builtMap = $;
-      _._list_multimap$_builtMapOwner = null;
-      _.__ListMultimapBuilder__builderMap = $;
-      _.$ti = t0;
-    },
-    ListMultimapBuilder_replace_closure: function ListMultimapBuilder_replace_closure(t0) {
-      this.multimap = t0;
-    },
-    BoolSerializer: function BoolSerializer(t0) {
-      this.types = t0;
-    },
-    BuiltListMultimapSerializer: function BuiltListMultimapSerializer(t0) {
-      this.types = t0;
-    },
-    BuiltListMultimapSerializer_serialize_closure: function BuiltListMultimapSerializer_serialize_closure(t0, t1) {
-      this.serializers = t0;
-      this.valueType = t1;
-    },
-    BuiltListMultimapSerializer_deserialize_closure: function BuiltListMultimapSerializer_deserialize_closure(t0, t1) {
-      this.serializers = t0;
-      this.valueType = t1;
-    },
-    BuiltSetMultimapSerializer: function BuiltSetMultimapSerializer(t0) {
-      this.types = t0;
-    },
-    BuiltSetMultimapSerializer_serialize_closure: function BuiltSetMultimapSerializer_serialize_closure(t0, t1) {
-      this.serializers = t0;
-      this.valueType = t1;
-    },
-    BuiltSetMultimapSerializer_deserialize_closure: function BuiltSetMultimapSerializer_deserialize_closure(t0, t1) {
-      this.serializers = t0;
-      this.valueType = t1;
-    },
-    SocketClient: function SocketClient() {
-    },
-    SseSocketClient: function SseSocketClient(t0) {
-      this._sockets$_client = t0;
-    },
-    WebSocketClient: function WebSocketClient(t0) {
-      this._channel = t0;
-    },
-    WebSocketClient_stream_closure: function WebSocketClient_stream_closure() {
-    },
-    StreamChannelMixin: function StreamChannelMixin() {
-    }
-  },
   X = {
-    BuiltSet_BuiltSet$from: function(iterable, $E) {
+    BuiltSet_BuiltSet$from(iterable, $E) {
       var t1 = new X._BuiltSet(null, P.LinkedHashSet_LinkedHashSet$from(iterable, $E), $E._eval$1("_BuiltSet<0>"));
       t1._maybeCheckForNull$0();
       return t1;
     },
-    SetBuilder_SetBuilder: function($E) {
+    SetBuilder_SetBuilder($E) {
       var t1 = new X.SetBuilder(null, $, null, $E._eval$1("SetBuilder<0>"));
       t1.replace$1(0, C.List_empty0);
       return t1;
@@ -8412,10 +9022,10 @@
     ErrorResponseBuilder: function ErrorResponseBuilder() {
       this._error_response$_stackTrace = this._error_response$_error = this._error_response$_$v = null;
     },
-    HotReloadFailedException$: function(_s) {
+    HotReloadFailedException$(_s) {
       return new X.HotReloadFailedException(_s);
     },
-    RequireRestarter_create: function() {
+    RequireRestarter_create() {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_RequireRestarter),
         $async$returnValue, reloader, t1, t2, t3;
@@ -8472,133 +9082,20 @@
       this.stackTrace = t1;
     }
   },
-  M = {
-    SetMultimapBuilder_SetMultimapBuilder: function($K, $V) {
-      var t1 = new M.SetMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("SetMultimapBuilder<1,2>"));
-      t1.replace$1(0, C.Map_empty);
-      return t1;
-    },
-    BuiltSetMultimap: function BuiltSetMultimap() {
-    },
-    BuiltSetMultimap_hashCode_closure: function BuiltSetMultimap_hashCode_closure(t0) {
-      this.$this = t0;
-    },
-    _BuiltSetMultimap: function _BuiltSetMultimap(t0, t1, t2) {
-      var _ = this;
-      _._set_multimap$_map = t0;
-      _._emptySet = t1;
-      _._set_multimap$_keys = _._set_multimap$_hashCode = null;
-      _.$ti = t2;
-    },
-    SetMultimapBuilder: function SetMultimapBuilder(t0) {
-      var _ = this;
-      _.__SetMultimapBuilder__builtMap = $;
-      _._builtMapOwner = null;
-      _.__SetMultimapBuilder__builderMap = $;
-      _.$ti = t0;
-    },
-    SetMultimapBuilder_replace_closure: function SetMultimapBuilder_replace_closure(t0) {
-      this.multimap = t0;
-    },
-    StringSerializer: function StringSerializer(t0) {
-      this.types = t0;
-    },
-    DevToolsRequest: function DevToolsRequest() {
-    },
-    DevToolsResponse: function DevToolsResponse() {
-    },
-    _$DevToolsRequestSerializer: function _$DevToolsRequestSerializer() {
-    },
-    _$DevToolsResponseSerializer: function _$DevToolsResponseSerializer() {
-    },
-    _$DevToolsRequest: function _$DevToolsRequest(t0, t1, t2, t3) {
-      var _ = this;
-      _.appId = t0;
-      _.instanceId = t1;
-      _.contextId = t2;
-      _.tabUrl = t3;
-    },
-    DevToolsRequestBuilder: function DevToolsRequestBuilder() {
-      var _ = this;
-      _._tabUrl = _._contextId = _._devtools_request$_instanceId = _._devtools_request$_appId = _._devtools_request$_$v = null;
-    },
-    _$DevToolsResponse: function _$DevToolsResponse(t0, t1, t2) {
-      this.success = t0;
-      this.promptExtension = t1;
-      this.error = t2;
-    },
-    DevToolsResponseBuilder: function DevToolsResponseBuilder() {
-      var _ = this;
-      _._error = _._promptExtension = _._success = _._devtools_request$_$v = null;
-    },
-    IsolateExit: function IsolateExit() {
-    },
-    IsolateStart: function IsolateStart() {
-    },
-    _$IsolateExitSerializer: function _$IsolateExitSerializer() {
-    },
-    _$IsolateStartSerializer: function _$IsolateStartSerializer() {
-    },
-    _$IsolateExit: function _$IsolateExit() {
-    },
-    IsolateExitBuilder: function IsolateExitBuilder() {
-      this._isolate_events$_$v = null;
-    },
-    _$IsolateStart: function _$IsolateStart() {
-    },
-    IsolateStartBuilder: function IsolateStartBuilder() {
-      this._isolate_events$_$v = null;
-    },
-    SseClient$: function(serverUrl) {
-      var _null = null,
-        t1 = type$.String;
-      t1 = new M.SseClient(P.StreamController_StreamController(_null, _null, false, t1), P.StreamController_StreamController(_null, _null, false, t1), F.Logger_Logger("SseClient"), new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic));
-      t1.SseClient$1(serverUrl);
-      return t1;
-    },
-    SseClient: function SseClient(t0, t1, t2, t3) {
-      var _ = this;
-      _._incomingController = t0;
-      _._outgoingController = t1;
-      _._logger = t2;
-      _._onConnected = t3;
-      _._lastMessageId = -1;
-      _.__SseClient__serverUrl = _.__SseClient__eventSource = $;
-      _._errorTimer = null;
-    },
-    SseClient_closure: function SseClient_closure(t0) {
-      this.$this = t0;
-    },
-    SseClient_closure0: function SseClient_closure0(t0) {
-      this.$this = t0;
-    },
-    SseClient_closure1: function SseClient_closure1(t0) {
-      this.$this = t0;
-    },
-    SseClient__closure: function SseClient__closure(t0, t1) {
-      this.$this = t0;
-      this.error = t1;
-    },
-    SseClient__onOutgoingMessage_closure: function SseClient__onOutgoingMessage_closure(t0, t1, t2) {
-      this._box_0 = t0;
-      this.$this = t1;
-      this.message = t2;
-    }
-  },
   Y = {
-    $jc: function(hash, value) {
+    $jc(hash, value) {
       if (typeof value !== "number")
         return H.iae(value);
       hash = hash + value & 536870911;
       hash = hash + ((hash & 524287) << 10) & 536870911;
       return hash ^ hash >>> 6;
     },
-    $jf: function(hash) {
+    $jf(hash) {
       hash = hash + ((hash & 67108863) << 3) & 536870911;
       hash ^= hash >>> 11;
       return hash + ((hash & 16383) << 15) & 536870911;
     },
-    BuiltValueNullFieldError$: function(type, field) {
+    BuiltValueNullFieldError$(type, field) {
       return new Y.BuiltValueNullFieldError(type, field);
     },
     EnumClass: function EnumClass() {
@@ -8617,10 +9114,10 @@
       this.field = t1;
       this.error = t2;
     },
-    BuiltJsonSerializersBuilder$_: function(_typeToSerializer, _wireNameToSerializer, _typeNameToSerializer, _builderFactories, _plugins) {
+    BuiltJsonSerializersBuilder$_(_typeToSerializer, _wireNameToSerializer, _typeNameToSerializer, _builderFactories, _plugins) {
       return new Y.BuiltJsonSerializersBuilder(_typeToSerializer, _wireNameToSerializer, _typeNameToSerializer, _builderFactories, _plugins);
     },
-    _getRawName: function(type) {
+    _getRawName(type) {
       var $name = J.toString$0$(type),
         genericsStart = J.indexOf$1$s($name, "<");
       return genericsStart === -1 ? $name : C.JSString_methods.substring$2($name, 0, genericsStart);
@@ -8646,520 +9143,110 @@
       this.value = t1;
     }
   },
-  U = {
-    Serializers_Serializers: function() {
-      var t1 = type$.Type,
-        t2 = type$.Serializer_dynamic,
-        t3 = type$.String;
-      t2 = new Y.BuiltJsonSerializersBuilder(A.MapBuilder_MapBuilder(t1, t2), A.MapBuilder_MapBuilder(t3, t2), A.MapBuilder_MapBuilder(t3, t2), A.MapBuilder_MapBuilder(type$.FullType, type$.Function), D.ListBuilder_ListBuilder(C.List_empty0, type$.SerializerPlugin));
-      t2.add$1(0, new O.BigIntSerializer(D.BuiltList_BuiltList$from([C.Type_BigInt_8OV, J.get$runtimeType$($.$get$_BigIntImpl_zero())], t1)));
-      t2.add$1(0, new R.BoolSerializer(D.BuiltList_BuiltList$from([C.Type_bool_lhE], t1)));
-      t3 = type$.Object;
-      t2.add$1(0, new K.BuiltListSerializer(D.BuiltList_BuiltList$from([C.Type_BuiltList_iTR, H.getRuntimeType(D.BuiltList_BuiltList$from(C.List_empty0, t3))], t1)));
-      t2.add$1(0, new R.BuiltListMultimapSerializer(D.BuiltList_BuiltList$from([C.Type_BuiltListMultimap_2Mt, H.getRuntimeType(R.BuiltListMultimap_BuiltListMultimap(t3, t3))], t1)));
-      t2.add$1(0, new K.BuiltMapSerializer(D.BuiltList_BuiltList$from([C.Type_BuiltMap_qd4, H.getRuntimeType(A.BuiltMap_BuiltMap(t3, t3))], t1)));
-      t2.add$1(0, new O.BuiltSetSerializer(D.BuiltList_BuiltList$from([C.Type_BuiltSet_fcN, H.getRuntimeType(X.BuiltSet_BuiltSet$from(C.List_empty0, t3))], t1)));
-      t2.add$1(0, new R.BuiltSetMultimapSerializer(X.BuiltSet_BuiltSet$from([C.Type_BuiltSetMultimap_9Fi], t1)));
-      t2.add$1(0, new Z.DateTimeSerializer(D.BuiltList_BuiltList$from([C.Type_DateTime_8AS], t1)));
-      t2.add$1(0, new D.DoubleSerializer(D.BuiltList_BuiltList$from([C.Type_double_K1J], t1)));
-      t2.add$1(0, new K.DurationSerializer(D.BuiltList_BuiltList$from([C.Type_Duration_SnA], t1)));
-      t2.add$1(0, new B.IntSerializer(D.BuiltList_BuiltList$from([C.Type_int_tHn], t1)));
-      t2.add$1(0, new Q.Int64Serializer(D.BuiltList_BuiltList$from([C.Type_Int64_gc6], t1)));
-      t2.add$1(0, new O.JsonObjectSerializer(D.BuiltList_BuiltList$from([C.Type_JsonObject_gyf, C.Type_BoolJsonObject_8HQ, C.Type_ListJsonObject_yPV, C.Type_MapJsonObject_bBG, C.Type_NumJsonObject_H9C, C.Type_StringJsonObject_GAC], t1)));
-      t2.add$1(0, new S.NullSerializer(D.BuiltList_BuiltList$from([C.Type_Null_Yyn], t1)));
-      t2.add$1(0, new K.NumSerializer(D.BuiltList_BuiltList$from([C.Type_num_cv7], t1)));
-      t2.add$1(0, new K.RegExpSerializer(D.BuiltList_BuiltList$from([C.Type_RegExp_Eeh, $.$get$_runtimeType()], t1)));
-      t2.add$1(0, new M.StringSerializer(D.BuiltList_BuiltList$from([C.Type_String_k8F], t1)));
-      t2.add$1(0, new O.UriSerializer(D.BuiltList_BuiltList$from([C.Type_Uri_EFX, H.getRuntimeType(P.Uri_parse("http://example.com")), H.getRuntimeType(P.Uri_parse("http://example.com:"))], t1)));
-      t2.addBuilderFactory$2(C.FullType_eLJ, new U.Serializers_Serializers_closure());
-      t2.addBuilderFactory$2(C.FullType_4Wf, new U.Serializers_Serializers_closure0());
-      t2.addBuilderFactory$2(C.FullType_wIv, new U.Serializers_Serializers_closure1());
-      t2.addBuilderFactory$2(C.FullType_4e8, new U.Serializers_Serializers_closure2());
-      t2.addBuilderFactory$2(C.FullType_Ofx, new U.Serializers_Serializers_closure3());
-      return t2.build$0();
-    },
-    FullType__getRawName: function(type) {
-      var $name = J.toString$0$(type),
-        genericsStart = J.indexOf$1$s($name, "<");
-      return genericsStart === -1 ? $name : C.JSString_methods.substring$2($name, 0, genericsStart);
-    },
-    DeserializationError_DeserializationError: function(json, type, error) {
-      var limitedJson = J.toString$0$(json),
-        t1 = limitedJson.length;
-      return new U.DeserializationError(t1 > 80 ? J.replaceRange$3$asx(limitedJson, 77, t1, "...") : limitedJson, type, error);
-    },
-    Serializers_Serializers_closure: function Serializers_Serializers_closure() {
-    },
-    Serializers_Serializers_closure0: function Serializers_Serializers_closure0() {
-    },
-    Serializers_Serializers_closure1: function Serializers_Serializers_closure1() {
-    },
-    Serializers_Serializers_closure2: function Serializers_Serializers_closure2() {
-    },
-    Serializers_Serializers_closure3: function Serializers_Serializers_closure3() {
-    },
-    FullType: function FullType(t0, t1, t2) {
-      this.root = t0;
-      this.parameters = t1;
-      this.nullable = t2;
-    },
-    DeserializationError: function DeserializationError(t0, t1, t2) {
-      this.json = t0;
-      this.type = t1;
-      this.error = t2;
-    },
-    DefaultEquality: function DefaultEquality(t0) {
-      this.$ti = t0;
-    },
-    IterableEquality: function IterableEquality(t0, t1) {
-      this._elementEquality = t0;
-      this.$ti = t1;
-    },
-    ListEquality: function ListEquality(t0, t1) {
-      this._elementEquality = t0;
-      this.$ti = t1;
-    },
-    _UnorderedEquality: function _UnorderedEquality() {
-    },
-    SetEquality: function SetEquality(t0, t1) {
-      this._elementEquality = t0;
-      this.$ti = t1;
-    },
-    _MapEntry: function _MapEntry(t0, t1, t2) {
-      this.equality = t0;
-      this.key = t1;
-      this.value = t2;
-    },
-    MapEquality: function MapEquality(t0, t1, t2) {
-      this._keyEquality = t0;
-      this._valueEquality = t1;
-      this.$ti = t2;
-    },
-    DeepCollectionEquality: function DeepCollectionEquality() {
-    }
-  },
-  K = {BuiltListSerializer: function BuiltListSerializer(t0) {
-      this.types = t0;
-    }, BuiltListSerializer_serialize_closure: function BuiltListSerializer_serialize_closure(t0, t1) {
-      this.serializers = t0;
-      this.elementType = t1;
-    }, BuiltListSerializer_deserialize_closure: function BuiltListSerializer_deserialize_closure(t0, t1) {
-      this.serializers = t0;
-      this.elementType = t1;
-    }, BuiltMapSerializer: function BuiltMapSerializer(t0) {
-      this.types = t0;
-    }, DurationSerializer: function DurationSerializer(t0) {
-      this.types = t0;
-    }, NumSerializer: function NumSerializer(t0) {
-      this.types = t0;
-    }, RegExpSerializer: function RegExpSerializer(t0) {
-      this.types = t0;
-    }, _$serializers_closure: function _$serializers_closure() {
-    },
-    GuaranteeChannel$: function(innerStream, innerSink, allowSinkErrors, $T) {
-      var t2, t1 = {};
-      t1.innerStream = innerStream;
-      t2 = new K.GuaranteeChannel($T._eval$1("GuaranteeChannel<0>"));
-      t2.GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, t1, $T);
-      return t2;
-    },
-    GuaranteeChannel: function GuaranteeChannel(t0) {
-      var _ = this;
-      _.__GuaranteeChannel__streamController = _.__GuaranteeChannel__sink = $;
-      _._guarantee_channel$_subscription = null;
-      _._disconnected = false;
-      _.$ti = t0;
-    },
-    GuaranteeChannel_closure: function GuaranteeChannel_closure(t0, t1) {
-      this._box_0 = t0;
-      this.$this = t1;
-    },
-    GuaranteeChannel__closure: function GuaranteeChannel__closure(t0) {
-      this.$this = t0;
-    },
-    _GuaranteeSink: function _GuaranteeSink(t0, t1, t2, t3, t4) {
-      var _ = this;
-      _._inner = t0;
-      _._guarantee_channel$_channel = t1;
-      _._doneCompleter = t2;
-      _._closed = _._disconnected = false;
-      _._addStreamCompleter = _._addStreamSubscription = null;
-      _._allowErrors = t3;
-      _.$ti = t4;
-    },
-    _GuaranteeSink__addError_closure: function _GuaranteeSink__addError_closure() {
-    },
-    Uuid: function Uuid() {
-    }
-  },
   Z = {DateTimeSerializer: function DateTimeSerializer(t0) {
       this.types = t0;
     }, LegacyRestarter: function LegacyRestarter() {
     }, LegacyRestarter_restart_closure: function LegacyRestarter_restart_closure(t0, t1) {
       this._box_0 = t0;
       this.reloadCompleter = t1;
-    }},
-  B = {IntSerializer: function IntSerializer(t0) {
-      this.types = t0;
-    }, StreamChannelController: function StreamChannelController(t0) {
-      this.__StreamChannelController__foreign = this.__StreamChannelController__local = $;
-      this.$ti = t0;
-    }},
-  E = {ConnectRequest: function ConnectRequest() {
-    }, _$ConnectRequestSerializer: function _$ConnectRequestSerializer() {
-    }, _$ConnectRequest: function _$ConnectRequest(t0, t1, t2) {
-      this.appId = t0;
-      this.instanceId = t1;
-      this.entrypointPath = t2;
-    }, ConnectRequestBuilder: function ConnectRequestBuilder() {
-      var _ = this;
-      _._entrypointPath = _._instanceId = _._appId = _._$v = null;
-    }, WebSocketChannelException: function WebSocketChannelException(t0) {
-      this.message = t0;
-    }},
-  G = {DebugEvent: function DebugEvent() {
-    }, _$DebugEventSerializer: function _$DebugEventSerializer() {
-    }, _$DebugEvent: function _$DebugEvent(t0, t1, t2) {
-      this.kind = t0;
-      this.eventData = t1;
-      this.timestamp = t2;
-    }, DebugEventBuilder: function DebugEventBuilder() {
-      var _ = this;
-      _._timestamp = _._eventData = _._debug_event$_kind = _._debug_event$_$v = null;
-    }},
-  V = {
-    Int32__decodeDigit: function(c) {
-      if (c >= 48 && c <= 57)
-        return c - 48;
-      else if (c >= 97 && c <= 122)
-        return c - 97 + 10;
-      else if (c >= 65 && c <= 90)
-        return c - 65 + 10;
-      else
-        return -1;
-    },
-    Int64__parseRadix: function(s, radix) {
-      var i, negative, d0, d1, d2, c, digit, d00, d10, _null = null,
-        t1 = s.length;
-      if (0 < t1 && s[0] === "-") {
-        i = 1;
-        negative = true;
-      } else {
-        i = 0;
-        negative = false;
-      }
-      if (i >= t1)
-        throw H.wrapException(P.FormatException$("No digits in '" + s + "'", _null, _null));
-      for (d0 = 0, d1 = 0, d2 = 0; i < t1; ++i, d1 = d10, d0 = d00) {
-        c = C.JSString_methods._codeUnitAt$1(s, i);
-        digit = V.Int32__decodeDigit(c);
-        if (digit < 0 || digit >= radix)
-          throw H.wrapException(P.FormatException$("Non-radix char code: " + c, _null, _null));
-        d0 = d0 * radix + digit;
-        d00 = d0 & 4194303;
-        d1 = d1 * radix + C.JSInt_methods._shrOtherPositive$1(d0, 22);
-        d10 = d1 & 4194303;
-        d2 = d2 * radix + (d1 >>> 22) & 1048575;
-      }
-      if (negative)
-        return V.Int64__sub(0, 0, 0, d0, d1, d2);
-      return new V.Int64(d0 & 4194303, d1 & 4194303, d2 & 1048575);
-    },
-    Int64_Int64: function(value) {
-      var negative, v2, v1, t1, t2, t3;
-      if (value < 0) {
-        value = -value;
-        negative = true;
-      } else
-        negative = false;
-      v2 = C.JSInt_methods._tdivFast$1(value, 17592186044416);
-      value -= v2 * 17592186044416;
-      v1 = C.JSInt_methods._tdivFast$1(value, 4194304);
-      t1 = v1 & 4194303;
-      t2 = v2 & 1048575;
-      t3 = value - v1 * 4194304 & 4194303;
-      return negative ? V.Int64__sub(0, 0, 0, t3, t1, t2) : new V.Int64(t3, t1, t2);
-    },
-    Int64__promote: function(value) {
-      if (value instanceof V.Int64)
-        return value;
-      else if (H._isInt(value))
-        return V.Int64_Int64(value);
-      throw H.wrapException(P.ArgumentError$value(value, null, null));
-    },
-    Int64__toRadixStringUnsigned: function(radix, d0, d1, d2, sign) {
-      var d4, d3, fatRadix, chunk1, chunk2, chunk3, q, q0, q1, q2, q3, chunk10, residue;
-      if (d0 === 0 && d1 === 0 && d2 === 0)
-        return "0";
-      d4 = (d2 << 4 | d1 >>> 18) >>> 0;
-      d3 = d1 >>> 8 & 1023;
-      d2 = (d1 << 2 | d0 >>> 20) & 1023;
-      d1 = d0 >>> 10 & 1023;
-      d0 &= 1023;
-      if (radix >= 37)
-        return H.ioore(C.List_WrN, radix);
-      fatRadix = C.List_WrN[radix];
-      chunk1 = "";
-      chunk2 = "";
-      chunk3 = "";
-      while (true) {
-        if (!!(d4 === 0 && d3 === 0))
-          break;
-        q = C.JSInt_methods.$tdiv(d4, fatRadix);
-        d3 += d4 - q * fatRadix << 10 >>> 0;
-        q0 = C.JSInt_methods.$tdiv(d3, fatRadix);
-        d2 += d3 - q0 * fatRadix << 10 >>> 0;
-        q1 = C.JSInt_methods.$tdiv(d2, fatRadix);
-        d1 += d2 - q1 * fatRadix << 10 >>> 0;
-        q2 = C.JSInt_methods.$tdiv(d1, fatRadix);
-        d0 += d1 - q2 * fatRadix << 10 >>> 0;
-        q3 = C.JSInt_methods.$tdiv(d0, fatRadix);
-        chunk10 = C.JSString_methods.substring$1(C.JSInt_methods.toRadixString$1(fatRadix + (d0 - q3 * fatRadix), radix), 1);
-        chunk3 = chunk2;
-        chunk2 = chunk1;
-        chunk1 = chunk10;
-        d3 = q0;
-        d4 = q;
-        d2 = q1;
-        d1 = q2;
-        d0 = q3;
-      }
-      residue = (d2 << 20 >>> 0) + (d1 << 10 >>> 0) + d0;
-      return sign + (residue === 0 ? "" : C.JSInt_methods.toRadixString$1(residue, radix)) + chunk1 + chunk2 + chunk3;
-    },
-    Int64__sub: function(a0, a1, a2, b0, b1, b2) {
-      var diff0 = a0 - b0,
-        diff1 = a1 - b1 - (C.JSInt_methods._shrOtherPositive$1(diff0, 22) & 1);
-      return new V.Int64(diff0 & 4194303, diff1 & 4194303, a2 - b2 - (C.JSInt_methods._shrOtherPositive$1(diff1, 22) & 1) & 1048575);
-    },
-    Int64: function Int64(t0, t1, t2) {
-      this._l = t0;
-      this._m = t1;
-      this._h = t2;
-    },
-    _findNonce: function() {
-      var t2, elements, t3, nonceValue,
-        t1 = window.document;
-      H.checkTypeBound(type$.legacy_Element, type$.Element, "T", "querySelectorAll");
-      t2 = type$._FrozenElementList_legacy_Element;
-      elements = new W._FrozenElementList(t1.querySelectorAll("script"), t2);
-      for (t1 = new H.ListIterator(elements, elements.get$length(elements), t2._eval$1("ListIterator<ListMixin.E>")), t2 = type$.legacy_HtmlElement; t1.moveNext$0();) {
-        t3 = t2._as(t1.__internal$_current);
-        nonceValue = t3.nonce;
-        if (nonceValue == null)
-          nonceValue = t3.getAttribute("nonce");
-        if (nonceValue != null) {
-          t3 = $.$get$_noncePattern()._nativeRegExp;
-          t3 = t3.test(nonceValue);
-        } else
-          t3 = false;
-        if (t3)
-          return nonceValue;
-      }
-      return null;
-    },
-    runMain: function() {
-      var t1,
-        scriptElement = $.$get$_createScript().call$0();
-      scriptElement.toString;
-      t1 = J.getInterceptor$x(scriptElement);
-      t1.setInnerHtml$1(scriptElement, "window.$dartRunMain();");
-      document.body.appendChild(scriptElement);
-      P.Future_Future$microtask(t1.get$remove(scriptElement), type$.void);
-    },
-    _createScript_closure: function _createScript_closure() {
-    },
-    _createScript__closure: function _createScript__closure() {
-    },
-    _createScript__closure0: function _createScript__closure0(t0) {
-      this.nonce = t0;
-    }
-  },
-  L = {
-    stronglyConnectedComponents: function(nodes, edges, $T) {
-      var node, _null = null, _box_0 = {},
-        result = H.setRuntimeTypeInfo([], $T._eval$1("JSArray<List<0>>")),
-        t1 = type$.int,
-        lowLinks = P.HashMap_HashMap(_null, _null, _null, $T, t1),
-        indexes = P.HashMap_HashMap(_null, _null, _null, $T, t1),
-        onStack = P.HashSet_HashSet(_null, _null, $T),
-        _i = _box_0.index = 0,
-        strongConnect = new L.stronglyConnectedComponents_strongConnect(_box_0, indexes, lowLinks, P.ListQueue$($T), onStack, edges, L.strongly_connected_components___defaultEquals$closure(), result, $T);
-      for (t1 = nodes.length; _i < nodes.length; nodes.length === t1 || (0, H.throwConcurrentModificationError)(nodes), ++_i) {
-        node = nodes[_i];
-        if (!indexes.containsKey$1(0, node))
-          strongConnect.call$1(node);
-      }
-      return result;
-    },
-    _defaultEquals0: function(a, b) {
-      return J.$eq$(a, b);
-    },
-    stronglyConnectedComponents_strongConnect: function stronglyConnectedComponents_strongConnect(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
-      var _ = this;
-      _._box_0 = t0;
-      _.indexes = t1;
-      _.lowLinks = t2;
-      _.lastVisited = t3;
-      _.onStack = t4;
-      _.edges = t5;
-      _.nonNullEquals = t6;
-      _.result = t7;
-      _.T = t8;
-    },
-    LogRecord: function LogRecord(t0, t1, t2) {
-      this.level = t0;
-      this.message = t1;
-      this.loggerName = t2;
-    }
-  },
-  F = {
-    Logger_Logger: function($name) {
-      return $.Logger__loggers.putIfAbsent$2(0, $name, new F.Logger_Logger_closure($name));
-    },
-    Logger: function Logger(t0, t1, t2) {
-      var _ = this;
-      _.name = t0;
-      _.parent = t1;
-      _._level = null;
-      _._children = t2;
-    },
-    Logger_Logger_closure: function Logger_Logger_closure(t0) {
-      this.name = t0;
-    }
-  },
-  T = {
-    generateUuidV4: function() {
-      var t1 = new T.generateUuidV4__printDigits(),
-        t2 = new T.generateUuidV4__bitsDigits(t1, new T.generateUuidV4__generateBits(C.C__JSRandom)),
-        t3 = C.C__JSRandom.nextInt$1(4);
-      return H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4)) + "-" + H.S(t2.call$2(16, 4)) + "-4" + H.S(t2.call$2(12, 3)) + "-" + H.S(t1.call$2(8 + t3, 1)) + H.S(t2.call$2(12, 3)) + "-" + H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4)) + H.S(t2.call$2(16, 4));
-    },
-    generateUuidV4__generateBits: function generateUuidV4__generateBits(t0) {
-      this.random = t0;
-    },
-    generateUuidV4__printDigits: function generateUuidV4__printDigits() {
-    },
-    generateUuidV4__bitsDigits: function generateUuidV4__bitsDigits(t0, t1) {
-      this._printDigits = t0;
-      this._generateBits = t1;
-    },
-    UuidUtil_mathRNG: function() {
-      var i, t1,
-        b = new Uint8Array(16),
-        rand = $.$get$UuidUtil__random();
-      for (i = 0; i < 16; ++i) {
-        t1 = rand.nextInt$1(256);
-        if (i >= 16)
-          return H.ioore(b, i);
-        b[i] = t1;
-      }
-      return b;
-    }
-  },
-  N = {WebSocketChannel: function WebSocketChannel(t0) {
-      this._webSocket = t0;
-    }, WebSocketSink: function WebSocketSink(t0, t1) {
-      this._webSocket = t0;
-      this._sink = t1;
     }};
-  var holders = [C, H, J, P, W, S, O, Q, A, D, R, X, M, Y, U, K, Z, B, E, G, V, L, F, T, N];
+  var holders = [A, B, C, D, E, F, G, H, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z];
   hunkHelpers.setFunctionNamesIfNecessary(holders);
   var $ = {};
   H.JS_CONST.prototype = {};
   J.Interceptor.prototype = {
-    $eq: function(receiver, other) {
+    $eq(receiver, other) {
       return receiver === other;
     },
-    get$hashCode: function(receiver) {
+    get$hashCode(receiver) {
       return H.Primitives_objectHashCode(receiver);
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return "Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'";
     },
-    noSuchMethod$1: function(receiver, invocation) {
+    noSuchMethod$1(receiver, invocation) {
       type$.Invocation._as(invocation);
       throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
     },
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return H.getRuntimeType(receiver);
     }
   };
   J.JSBool.prototype = {
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return String(receiver);
     },
-    get$hashCode: function(receiver) {
+    get$hashCode(receiver) {
       return receiver ? 519018 : 218159;
     },
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_bool_lhE;
     },
     $isbool: 1
   };
   J.JSNull.prototype = {
-    $eq: function(receiver, other) {
+    $eq(receiver, other) {
       return null == other;
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return "null";
     },
-    get$hashCode: function(receiver) {
+    get$hashCode(receiver) {
       return 0;
     },
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Null_Yyn;
     },
-    noSuchMethod$1: function(receiver, invocation) {
+    noSuchMethod$1(receiver, invocation) {
       return this.super$Interceptor$noSuchMethod(receiver, type$.Invocation._as(invocation));
     },
     $isNull: 1
   };
   J.JavaScriptObject.prototype = {
-    get$hashCode: function(receiver) {
+    get$hashCode(receiver) {
       return 0;
     },
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_JSObject_8k0;
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return String(receiver);
     },
     $isJSObject: 1,
     $isPromise: 1,
     $isJsError: 1,
-    then$1$1: function(receiver, p0) {
+    then$1$1(receiver, p0) {
       return receiver.then(p0);
     },
-    then$2: function(receiver, p0, p1) {
+    then$2(receiver, p0, p1) {
       return receiver.then(p0, p1);
     },
-    get$digestsPath: function(obj) {
+    get$digestsPath(obj) {
       return obj.digestsPath;
     },
-    get$moduleParentsGraph: function(obj) {
+    get$moduleParentsGraph(obj) {
       return obj.moduleParentsGraph;
     },
-    forceLoadModule$3: function(receiver, p0, p1, p2) {
+    forceLoadModule$3(receiver, p0, p1, p2) {
       return receiver.forceLoadModule(p0, p1, p2);
     },
-    get$message: function(obj) {
+    get$message(obj) {
       return obj.message;
     },
-    $get$1: function(receiver, p0) {
+    $get$1(receiver, p0) {
       return receiver.get(p0);
     },
-    get$keys: function(obj) {
+    get$keys(obj) {
       return obj.keys;
     },
-    keys$0: function(receiver) {
+    keys$0(receiver) {
       return receiver.keys();
     }
   };
   J.PlainJavaScriptObject.prototype = {};
   J.UnknownJavaScriptObject.prototype = {};
   J.JavaScriptFunction.prototype = {
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()];
       if (dartClosure == null)
         return this.super$JavaScriptObject$toString(receiver);
@@ -9168,16 +9255,16 @@
     $isFunction: 1
   };
   J.JSArray.prototype = {
-    cast$1$0: function(receiver, $R) {
+    cast$1$0(receiver, $R) {
       return new H.CastList(receiver, H._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>"));
     },
-    add$1: function(receiver, value) {
+    add$1(receiver, value) {
       H._arrayInstanceType(receiver)._precomputed1._as(value);
       if (!!receiver.fixed$length)
         H.throwExpression(P.UnsupportedError$("add"));
       receiver.push(value);
     },
-    addAll$1: function(receiver, collection) {
+    addAll$1(receiver, collection) {
       var t1;
       H._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection);
       if (!!receiver.fixed$length)
@@ -9189,7 +9276,7 @@
       for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();)
         receiver.push(t1.get$current(t1));
     },
-    _addAllFromArray$1: function(receiver, array) {
+    _addAllFromArray$1(receiver, array) {
       var len, i;
       type$.JSArray_dynamic._as(array);
       len = array.length;
@@ -9200,7 +9287,7 @@
       for (i = 0; i < len; ++i)
         receiver.push(array[i]);
     },
-    forEach$1: function(receiver, f) {
+    forEach$1(receiver, f) {
       var end, i;
       H._arrayInstanceType(receiver)._eval$1("~(1)")._as(f);
       end = receiver.length;
@@ -9210,24 +9297,24 @@
           throw H.wrapException(P.ConcurrentModificationError$(receiver));
       }
     },
-    map$1$1: function(receiver, f, $T) {
+    map$1$1(receiver, f, $T) {
       var t1 = H._arrayInstanceType(receiver);
       return new H.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
     },
-    map$1: function($receiver, f) {
+    map$1($receiver, f) {
       return this.map$1$1($receiver, f, type$.dynamic);
     },
-    join$1: function(receiver, separator) {
+    join$1(receiver, separator) {
       var i,
         list = P.List_List$filled(receiver.length, "", false, type$.String);
       for (i = 0; i < receiver.length; ++i)
         this.$indexSet(list, i, H.S(receiver[i]));
       return list.join(separator);
     },
-    skip$1: function(receiver, n) {
+    skip$1(receiver, n) {
       return H.SubListIterable$(receiver, n, null, H._arrayInstanceType(receiver)._precomputed1);
     },
-    fold$1$2: function(receiver, initialValue, combine, $T) {
+    fold$1$2(receiver, initialValue, combine, $T) {
       var $length, value, i;
       $T._as(initialValue);
       H._arrayInstanceType(receiver)._bind$1($T)._eval$1("1(1,2)")._as(combine);
@@ -9239,38 +9326,38 @@
       }
       return value;
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       var t1 = receiver.length;
       if (start > t1)
         throw H.wrapException(P.RangeError$range(start, 0, t1, "start", null));
       if (start === t1)
-        return H.setRuntimeTypeInfo([], H._arrayInstanceType(receiver));
-      return H.setRuntimeTypeInfo(receiver.slice(start, t1), H._arrayInstanceType(receiver));
+        return H._setArrayType([], H._arrayInstanceType(receiver));
+      return H._setArrayType(receiver.slice(start, t1), H._arrayInstanceType(receiver));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    getRange$2: function(receiver, start, end) {
+    getRange$2(receiver, start, end) {
       P.RangeError_checkValidRange(start, end, receiver.length);
       return H.SubListIterable$(receiver, start, end, H._arrayInstanceType(receiver)._precomputed1);
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(H.IterableElementError_noElement());
     },
-    get$last: function(receiver) {
+    get$last(receiver) {
       var t1 = receiver.length;
       if (t1 > 0)
         return receiver[t1 - 1];
       throw H.wrapException(H.IterableElementError_noElement());
     },
-    setRange$4: function(receiver, start, end, iterable, skipCount) {
+    setRange$4(receiver, start, end, iterable, skipCount) {
       var $length, otherList, otherStart, t1, i;
       H._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable);
       if (!!receiver.immutable$list)
@@ -9297,7 +9384,7 @@
         for (i = 0; i < $length; ++i)
           receiver[start + i] = t1.$index(otherList, otherStart + i);
     },
-    any$1: function(receiver, test) {
+    any$1(receiver, test) {
       var end, i;
       H._arrayInstanceType(receiver)._eval$1("bool(1)")._as(test);
       end = receiver.length;
@@ -9309,7 +9396,7 @@
       }
       return false;
     },
-    sort$1: function(receiver, compare) {
+    sort$1(receiver, compare) {
       var t2,
         t1 = H._arrayInstanceType(receiver);
       t1._eval$1("int(1,1)?")._as(compare);
@@ -9318,56 +9405,56 @@
       t2 = compare == null ? J._interceptors_JSArray__compareAny$closure() : compare;
       H.Sort_sort(receiver, t2, t1._precomputed1);
     },
-    sort$0: function($receiver) {
+    sort$0($receiver) {
       return this.sort$1($receiver, null);
     },
-    contains$1: function(receiver, other) {
+    contains$1(receiver, other) {
       var i;
       for (i = 0; i < receiver.length; ++i)
         if (J.$eq$(receiver[i], other))
           return true;
       return false;
     },
-    get$isEmpty: function(receiver) {
+    get$isEmpty(receiver) {
       return receiver.length === 0;
     },
-    get$isNotEmpty: function(receiver) {
+    get$isNotEmpty(receiver) {
       return receiver.length !== 0;
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return P.IterableBase_iterableToFullString(receiver, "[", "]");
     },
-    toList$1$growable: function(receiver, growable) {
-      var t1 = H.setRuntimeTypeInfo(receiver.slice(0), H._arrayInstanceType(receiver));
+    toList$1$growable(receiver, growable) {
+      var t1 = H._setArrayType(receiver.slice(0), H._arrayInstanceType(receiver));
       return t1;
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     },
-    get$iterator: function(receiver) {
+    get$iterator(receiver) {
       return new J.ArrayIterator(receiver, receiver.length, H._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>"));
     },
-    get$hashCode: function(receiver) {
+    get$hashCode(receiver) {
       return H.Primitives_objectHashCode(receiver);
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    set$length: function(receiver, newLength) {
+    set$length(receiver, newLength) {
       if (!!receiver.fixed$length)
         H.throwExpression(P.UnsupportedError$("set length"));
       if (newLength < 0)
         throw H.wrapException(P.RangeError$range(newLength, 0, null, "newLength", null));
       receiver.length = newLength;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (!H._isInt(index))
         throw H.wrapException(H.diagnoseIndexError(receiver, index));
       if (index >= receiver.length || index < 0)
         throw H.wrapException(H.diagnoseIndexError(receiver, index));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       H._arrayInstanceType(receiver)._precomputed1._as(value);
       if (!!receiver.immutable$list)
@@ -9378,7 +9465,7 @@
         throw H.wrapException(H.diagnoseIndexError(receiver, index));
       receiver[index] = value;
     },
-    $add: function(receiver, other) {
+    $add(receiver, other) {
       var t1 = H._arrayInstanceType(receiver);
       t1._eval$1("List<1>")._as(other);
       t1 = P.List_List$of(receiver, true, t1._precomputed1);
@@ -9391,10 +9478,10 @@
   };
   J.JSUnmodifiableArray.prototype = {};
   J.ArrayIterator.prototype = {
-    get$current: function(_) {
+    get$current(_) {
       return this.__interceptors$_current;
     },
-    moveNext$0: function() {
+    moveNext$0() {
       var t2, _this = this,
         t1 = _this._iterable,
         $length = t1.length;
@@ -9409,13 +9496,13 @@
       ++_this._index;
       return true;
     },
-    set$__interceptors$_current: function(_current) {
+    set$__interceptors$_current(_current) {
       this.__interceptors$_current = this.$ti._eval$1("1?")._as(_current);
     },
     $isIterator: 1
   };
   J.JSNumber.prototype = {
-    compareTo$1: function(receiver, b) {
+    compareTo$1(receiver, b) {
       var bIsNegative;
       H._asNumS(b);
       if (typeof b != "number")
@@ -9441,10 +9528,10 @@
       } else
         return -1;
     },
-    get$isNegative: function(receiver) {
+    get$isNegative(receiver) {
       return receiver === 0 ? 1 / receiver < 0 : receiver < 0;
     },
-    ceil$0: function(receiver) {
+    ceil$0(receiver) {
       var truncated, d;
       if (receiver >= 0) {
         if (receiver <= 2147483647) {
@@ -9458,7 +9545,7 @@
         return d;
       throw H.wrapException(P.UnsupportedError$("" + receiver + ".ceil()"));
     },
-    floor$0: function(receiver) {
+    floor$0(receiver) {
       var truncated, d;
       if (receiver >= 0) {
         if (receiver <= 2147483647)
@@ -9472,7 +9559,7 @@
         return d;
       throw H.wrapException(P.UnsupportedError$("" + receiver + ".floor()"));
     },
-    round$0: function(receiver) {
+    round$0(receiver) {
       if (receiver > 0) {
         if (receiver !== 1 / 0)
           return Math.round(receiver);
@@ -9480,7 +9567,7 @@
         return 0 - Math.round(0 - receiver);
       throw H.wrapException(P.UnsupportedError$("" + receiver + ".round()"));
     },
-    toRadixString$1: function(receiver, radix) {
+    toRadixString$1(receiver, radix) {
       var result, match, t1, exponent;
       if (radix < 2 || radix > 36)
         throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null));
@@ -9504,13 +9591,13 @@
       }
       return result + C.JSString_methods.$mul("0", exponent);
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       if (receiver === 0 && 1 / receiver < 0)
         return "-0.0";
       else
         return "" + receiver;
     },
-    get$hashCode: function(receiver) {
+    get$hashCode(receiver) {
       var absolute, floorLog2, factor, scaled,
         intValue = receiver | 0;
       if (receiver === intValue)
@@ -9521,37 +9608,34 @@
       scaled = absolute < 1 ? absolute / factor : factor / absolute;
       return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911;
     },
-    $add: function(receiver, other) {
+    $add(receiver, other) {
       if (typeof other != "number")
         throw H.wrapException(H.argumentErrorValue(other));
       return receiver + other;
     },
-    $sub: function(receiver, other) {
+    $sub(receiver, other) {
       if (typeof other != "number")
         throw H.wrapException(H.argumentErrorValue(other));
       return receiver - other;
     },
-    $mod: function(receiver, other) {
+    $mod(receiver, other) {
       var result = receiver % other;
       if (result === 0)
         return 0;
       if (result > 0)
         return result;
-      if (other < 0)
-        return result - other;
-      else
-        return result + other;
+      return result + other;
     },
-    $tdiv: function(receiver, other) {
+    $tdiv(receiver, other) {
       if ((receiver | 0) === receiver)
         if (other >= 1 || other < -1)
           return receiver / other | 0;
       return this._tdivSlow$1(receiver, other);
     },
-    _tdivFast$1: function(receiver, other) {
+    _tdivFast$1(receiver, other) {
       return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other);
     },
-    _tdivSlow$1: function(receiver, other) {
+    _tdivSlow$1(receiver, other) {
       var quotient = receiver / other;
       if (quotient >= -2147483648 && quotient <= 2147483647)
         return quotient | 0;
@@ -9562,15 +9646,15 @@
         return Math.ceil(quotient);
       throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other));
     },
-    $shl: function(receiver, other) {
+    $shl(receiver, other) {
       if (other < 0)
         throw H.wrapException(H.argumentErrorValue(other));
       return other > 31 ? 0 : receiver << other >>> 0;
     },
-    _shlPositive$1: function(receiver, other) {
+    _shlPositive$1(receiver, other) {
       return other > 31 ? 0 : receiver << other >>> 0;
     },
-    _shrOtherPositive$1: function(receiver, other) {
+    _shrOtherPositive$1(receiver, other) {
       var t1;
       if (receiver > 0)
         t1 = this._shrBothPositive$1(receiver, other);
@@ -9580,15 +9664,15 @@
       }
       return t1;
     },
-    _shrReceiverPositive$1: function(receiver, other) {
-      if (other < 0)
+    _shrReceiverPositive$1(receiver, other) {
+      if (0 > other)
         throw H.wrapException(H.argumentErrorValue(other));
       return this._shrBothPositive$1(receiver, other);
     },
-    _shrBothPositive$1: function(receiver, other) {
+    _shrBothPositive$1(receiver, other) {
       return other > 31 ? 0 : receiver >>> other;
     },
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_num_cv7;
     },
     $isComparable: 1,
@@ -9596,7 +9680,7 @@
     $isnum: 1
   };
   J.JSInt.prototype = {
-    get$bitLength: function(receiver) {
+    get$bitLength(receiver) {
       var wordBits, i,
         t1 = receiver < 0 ? -receiver - 1 : receiver,
         nonneg = t1;
@@ -9615,30 +9699,30 @@
       i += i >>> 8;
       return wordBits - (32 - (i + (i >>> 16) & 63));
     },
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_int_tHn;
     },
     $isint: 1
   };
   J.JSNumNotInt.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_double_K1J;
     }
   };
   J.JSString.prototype = {
-    codeUnitAt$1: function(receiver, index) {
+    codeUnitAt$1(receiver, index) {
       if (index < 0)
         throw H.wrapException(H.diagnoseIndexError(receiver, index));
       if (index >= receiver.length)
         H.throwExpression(H.diagnoseIndexError(receiver, index));
       return receiver.charCodeAt(index);
     },
-    _codeUnitAt$1: function(receiver, index) {
+    _codeUnitAt$1(receiver, index) {
       if (index >= receiver.length)
         throw H.wrapException(H.diagnoseIndexError(receiver, index));
       return receiver.charCodeAt(index);
     },
-    allMatches$2: function(receiver, string, start) {
+    allMatches$2(receiver, string, start) {
       var t1;
       if (typeof string != "string")
         H.throwExpression(H.argumentErrorValue(string));
@@ -9647,10 +9731,10 @@
         throw H.wrapException(P.RangeError$range(start, 0, t1, null, null));
       return new H._StringAllMatchesIterable(string, receiver, start);
     },
-    allMatches$1: function($receiver, string) {
+    allMatches$1($receiver, string) {
       return this.allMatches$2($receiver, string, 0);
     },
-    matchAsPrefix$2: function(receiver, string, start) {
+    matchAsPrefix$2(receiver, string, start) {
       var t1, i, _null = null;
       if (start < 0 || start > string.length)
         throw H.wrapException(P.RangeError$range(start, 0, string.length, _null, _null));
@@ -9662,17 +9746,17 @@
           return _null;
       return new H.StringMatch(start, receiver);
     },
-    $add: function(receiver, other) {
+    $add(receiver, other) {
       H._asStringS(other);
       if (typeof other != "string")
         throw H.wrapException(P.ArgumentError$value(other, null, null));
       return receiver + other;
     },
-    replaceRange$3: function(receiver, start, end, replacement) {
+    replaceRange$3(receiver, start, end, replacement) {
       var e = P.RangeError_checkValidRange(start, end, receiver.length);
       return H.stringReplaceRangeUnchecked(receiver, start, e, replacement);
     },
-    startsWith$2: function(receiver, pattern, index) {
+    startsWith$2(receiver, pattern, index) {
       var endIndex;
       if (index < 0 || index > receiver.length)
         throw H.wrapException(P.RangeError$range(index, 0, receiver.length, null, null));
@@ -9684,27 +9768,19 @@
       }
       return J.matchAsPrefix$2$s(pattern, receiver, index) != null;
     },
-    startsWith$1: function($receiver, pattern) {
+    startsWith$1($receiver, pattern) {
       return this.startsWith$2($receiver, pattern, 0);
     },
-    substring$2: function(receiver, startIndex, endIndex) {
-      if (endIndex == null)
-        endIndex = receiver.length;
-      if (startIndex < 0)
-        throw H.wrapException(P.RangeError$value(startIndex, null));
-      if (startIndex > endIndex)
-        throw H.wrapException(P.RangeError$value(startIndex, null));
-      if (endIndex > receiver.length)
-        throw H.wrapException(P.RangeError$value(endIndex, null));
-      return receiver.substring(startIndex, endIndex);
+    substring$2(receiver, start, end) {
+      return receiver.substring(start, P.RangeError_checkValidRange(start, end, receiver.length));
     },
-    substring$1: function($receiver, startIndex) {
-      return this.substring$2($receiver, startIndex, null);
+    substring$1($receiver, start) {
+      return this.substring$2($receiver, start, null);
     },
-    toLowerCase$0: function(receiver) {
+    toLowerCase$0(receiver) {
       return receiver.toLowerCase();
     },
-    $mul: function(receiver, times) {
+    $mul(receiver, times) {
       var s, result;
       if (0 >= times)
         return "";
@@ -9722,23 +9798,23 @@
       }
       return result;
     },
-    padLeft$2: function(receiver, width, padding) {
+    padLeft$2(receiver, width, padding) {
       var delta = width - receiver.length;
       if (delta <= 0)
         return receiver;
       return this.$mul(padding, delta) + receiver;
     },
-    indexOf$2: function(receiver, pattern, start) {
+    indexOf$2(receiver, pattern, start) {
       var t1;
       if (start < 0 || start > receiver.length)
         throw H.wrapException(P.RangeError$range(start, 0, receiver.length, null, null));
       t1 = receiver.indexOf(pattern, start);
       return t1;
     },
-    indexOf$1: function($receiver, pattern) {
+    indexOf$1($receiver, pattern) {
       return this.indexOf$2($receiver, pattern, 0);
     },
-    lastIndexOf$2: function(receiver, pattern, start) {
+    lastIndexOf$2(receiver, pattern, start) {
       var t1, t2;
       if (start == null)
         start = receiver.length;
@@ -9750,15 +9826,15 @@
         start = t2 - t1;
       return receiver.lastIndexOf(pattern, start);
     },
-    lastIndexOf$1: function($receiver, pattern) {
+    lastIndexOf$1($receiver, pattern) {
       return this.lastIndexOf$2($receiver, pattern, null);
     },
-    contains$1: function(receiver, other) {
+    contains$1(receiver, other) {
       if (other == null)
         H.throwExpression(H.argumentErrorValue(other));
       return H.stringContainsUnchecked(receiver, other, 0);
     },
-    compareTo$1: function(receiver, other) {
+    compareTo$1(receiver, other) {
       var t1;
       H._asStringS(other);
       if (typeof other != "string")
@@ -9769,10 +9845,10 @@
         t1 = receiver < other ? -1 : 1;
       return t1;
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return receiver;
     },
-    get$hashCode: function(receiver) {
+    get$hashCode(receiver) {
       var t1, hash, i;
       for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {
         hash = hash + receiver.charCodeAt(i) & 536870911;
@@ -9783,10 +9859,10 @@
       hash ^= hash >> 11;
       return hash + ((hash & 16383) << 15) & 536870911;
     },
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_String_k8F;
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
     $isComparable: 1,
@@ -9794,77 +9870,77 @@
     $isString: 1
   };
   H._CastIterableBase.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       var t1 = H._instanceType(this);
       return new H.CastIterator(J.get$iterator$ax(this.get$__internal$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>"));
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this.get$__internal$_source());
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return J.get$isEmpty$asx(this.get$__internal$_source());
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return J.get$isNotEmpty$asx(this.get$__internal$_source());
     },
-    skip$1: function(_, count) {
+    skip$1(_, count) {
       var t1 = H._instanceType(this);
       return H.CastIterable_CastIterable(J.skip$1$ax(this.get$__internal$_source(), count), t1._precomputed1, t1._rest[1]);
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       return H._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$__internal$_source(), index));
     },
-    get$first: function(_) {
+    get$first(_) {
       return H._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$__internal$_source()));
     },
-    contains$1: function(_, other) {
+    contains$1(_, other) {
       return J.contains$1$asx(this.get$__internal$_source(), other);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$(this.get$__internal$_source());
     }
   };
   H.CastIterator.prototype = {
-    moveNext$0: function() {
+    moveNext$0() {
       return this.__internal$_source.moveNext$0();
     },
-    get$current: function(_) {
+    get$current(_) {
       var t1 = this.__internal$_source;
       return this.$ti._rest[1]._as(t1.get$current(t1));
     },
     $isIterator: 1
   };
   H.CastIterable.prototype = {
-    cast$1$0: function(_, $R) {
+    cast$1$0(_, $R) {
       return H.CastIterable_CastIterable(this.__internal$_source, H._instanceType(this)._precomputed1, $R);
     },
-    get$__internal$_source: function() {
+    get$__internal$_source() {
       return this.__internal$_source;
     }
   };
   H._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1};
   H._CastListBase.prototype = {
-    $index: function(_, index) {
+    $index(_, index) {
       return this.$ti._rest[1]._as(J.$index$asx(this.__internal$_source, index));
     },
-    $indexSet: function(_, index, value) {
+    $indexSet(_, index, value) {
       var t1 = this.$ti;
       J.$indexSet$ax(this.__internal$_source, H._asIntS(index), t1._precomputed1._as(t1._rest[1]._as(value)));
     },
-    set$length: function(_, $length) {
+    set$length(_, $length) {
       J.set$length$asx(this.__internal$_source, $length);
     },
-    add$1: function(_, value) {
+    add$1(_, value) {
       var t1 = this.$ti;
       J.add$1$ax(this.__internal$_source, t1._precomputed1._as(t1._rest[1]._as(value)));
     },
-    sort$1: function(_, compare) {
+    sort$1(_, compare) {
       var t1;
       this.$ti._eval$1("int(2,2)?")._as(compare);
       t1 = compare == null ? null : new H._CastListBase_sort_closure(this, compare);
       J.sort$1$ax(this.__internal$_source, t1);
     },
-    getRange$2: function(_, start, end) {
+    getRange$2(_, start, end) {
       var t1 = this.$ti;
       return H.CastIterable_CastIterable(J.getRange$2$ax(this.__internal$_source, start, end), t1._precomputed1, t1._rest[1]);
     },
@@ -9872,7 +9948,7 @@
     $isList: 1
   };
   H._CastListBase_sort_closure.prototype = {
-    call$2: function(v1, v2) {
+    call$2(v1, v2) {
       var t1 = this.$this.$ti,
         t2 = t1._precomputed1;
       t2._as(v1);
@@ -9880,103 +9956,102 @@
       t1 = t1._rest[1];
       return this.compare.call$2(t1._as(v1), t1._as(v2));
     },
-    "call*": "call$2",
-    $requiredArgCount: 2,
-    $signature: function() {
+    $signature() {
       return this.$this.$ti._eval$1("int(1,1)");
     }
   };
   H.CastList.prototype = {
-    cast$1$0: function(_, $R) {
+    cast$1$0(_, $R) {
       return new H.CastList(this.__internal$_source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>"));
     },
-    get$__internal$_source: function() {
+    get$__internal$_source() {
       return this.__internal$_source;
     }
   };
   H.CastMap.prototype = {
-    cast$2$0: function(_, RK, RV) {
+    cast$2$0(_, RK, RV) {
       var t1 = this.$ti;
       return new H.CastMap(this.__internal$_source, t1._eval$1("@<1>")._bind$1(t1._rest[1])._bind$1(RK)._bind$1(RV)._eval$1("CastMap<1,2,3,4>"));
     },
-    containsKey$1: function(_, key) {
+    containsKey$1(_, key) {
       return J.containsKey$1$x(this.__internal$_source, key);
     },
-    $index: function(_, key) {
+    $index(_, key) {
       return this.$ti._eval$1("4?")._as(J.$index$asx(this.__internal$_source, key));
     },
-    $indexSet: function(_, key, value) {
+    $indexSet(_, key, value) {
       var t1 = this.$ti;
       t1._rest[2]._as(key);
       t1._rest[3]._as(value);
       J.$indexSet$ax(this.__internal$_source, t1._precomputed1._as(key), t1._rest[1]._as(value));
     },
-    remove$1: function(_, key) {
+    remove$1(_, key) {
       return this.$ti._eval$1("4?")._as(J.remove$1$x(this.__internal$_source, key));
     },
-    forEach$1: function(_, f) {
+    forEach$1(_, f) {
       J.forEach$1$ax(this.__internal$_source, new H.CastMap_forEach_closure(this, this.$ti._eval$1("~(3,4)")._as(f)));
     },
-    get$keys: function(_) {
+    get$keys(_) {
       var t1 = this.$ti;
       return H.CastIterable_CastIterable(J.get$keys$x(this.__internal$_source), t1._precomputed1, t1._rest[2]);
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this.__internal$_source);
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return J.get$isEmpty$asx(this.__internal$_source);
     }
   };
   H.CastMap_forEach_closure.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       var t1 = this.$this.$ti;
       t1._precomputed1._as(key);
       t1._rest[1]._as(value);
       this.f.call$2(t1._rest[2]._as(key), t1._rest[3]._as(value));
     },
-    $signature: function() {
+    $signature() {
       return this.$this.$ti._eval$1("~(1,2)");
     }
   };
   H.LateError.prototype = {
-    toString$0: function(_) {
-      var message = this._message;
-      return message != null ? "LateInitializationError: " + message : "LateInitializationError";
+    toString$0(_) {
+      var t1 = "LateInitializationError: " + this._message;
+      return t1;
     }
   };
   H.ReachabilityError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = "ReachabilityError: " + this._message;
       return t1;
     }
   };
   H.nullFuture_closure.prototype = {
-    call$0: function() {
+    call$0() {
       return P.Future_Future$value(null, type$.Null);
     },
     $signature: 25
   };
   H.NotNullableError.prototype = {
-    toString$0: function(_) {
-      return "Null is not a valid value for the parameter '" + this.__internal$_name + "' of type '" + H.createRuntimeType(this.$ti._precomputed1).toString$0(0) + "'";
-    }
+    toString$0(_) {
+      return "Null is not a valid value for the parameter '" + this._name + "' of type '" + H.createRuntimeType(this.$ti._precomputed1).toString$0(0) + "'";
+    },
+    $isTypeError: 1
   };
   H.EfficientLengthIterable.prototype = {};
   H.ListIterable.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       var _this = this;
       return new H.ListIterator(_this, _this.get$length(_this), H._instanceType(_this)._eval$1("ListIterator<ListIterable.E>"));
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this.get$length(this) === 0;
     },
-    get$first: function(_) {
+    get$first(_) {
       if (this.get$length(this) === 0)
         throw H.wrapException(H.IterableElementError_noElement());
       return this.elementAt$1(0, 0);
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       var i, _this = this,
         $length = _this.get$length(_this);
       for (i = 0; i < $length; ++i) {
@@ -9987,7 +10062,7 @@
       }
       return false;
     },
-    join$1: function(_, separator) {
+    join$1(_, separator) {
       var first, t1, i, _this = this,
         $length = _this.get$length(_this);
       if (separator.length !== 0) {
@@ -10011,45 +10086,45 @@
         return t1.charCodeAt(0) == 0 ? t1 : t1;
       }
     },
-    join$0: function($receiver) {
+    join$0($receiver) {
       return this.join$1($receiver, "");
     },
-    where$1: function(_, test) {
+    where$1(_, test) {
       return this.super$Iterable$where(0, H._instanceType(this)._eval$1("bool(ListIterable.E)")._as(test));
     },
-    map$1$1: function(_, f, $T) {
+    map$1$1(_, toElement, $T) {
       var t1 = H._instanceType(this);
-      return new H.MappedListIterable(this, t1._bind$1($T)._eval$1("1(ListIterable.E)")._as(f), t1._eval$1("@<ListIterable.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
+      return new H.MappedListIterable(this, t1._bind$1($T)._eval$1("1(ListIterable.E)")._as(toElement), t1._eval$1("@<ListIterable.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
     },
-    map$1: function($receiver, f) {
-      return this.map$1$1($receiver, f, type$.dynamic);
+    map$1($receiver, toElement) {
+      return this.map$1$1($receiver, toElement, type$.dynamic);
     },
-    skip$1: function(_, count) {
+    skip$1(_, count) {
       return H.SubListIterable$(this, count, null, H._instanceType(this)._eval$1("ListIterable.E"));
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       return P.List_List$of(this, growable, H._instanceType(this)._eval$1("ListIterable.E"));
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     }
   };
   H.SubListIterable.prototype = {
-    get$_endIndex: function() {
+    get$_endIndex() {
       var $length = J.get$length$asx(this.__internal$_iterable),
         endOrLength = this._endOrLength;
       if (endOrLength == null || endOrLength > $length)
         return $length;
       return endOrLength;
     },
-    get$_startIndex: function() {
+    get$_startIndex() {
       var $length = J.get$length$asx(this.__internal$_iterable),
         t1 = this.__internal$_start;
       if (t1 > $length)
         return $length;
       return t1;
     },
-    get$length: function(_) {
+    get$length(_) {
       var endOrLength,
         $length = J.get$length$asx(this.__internal$_iterable),
         t1 = this.__internal$_start;
@@ -10062,14 +10137,14 @@
         return endOrLength.$sub();
       return endOrLength - t1;
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       var _this = this,
         realIndex = _this.get$_startIndex() + index;
       if (index < 0 || realIndex >= _this.get$_endIndex())
         throw H.wrapException(P.IndexError$(index, _this, "index", null, null));
       return J.elementAt$1$ax(_this.__internal$_iterable, realIndex);
     },
-    skip$1: function(_, count) {
+    skip$1(_, count) {
       var newStart, endOrLength, _this = this;
       P.RangeError_checkNotNegative(count, "count");
       newStart = _this.__internal$_start + count;
@@ -10078,7 +10153,7 @@
         return new H.EmptyIterable(_this.$ti._eval$1("EmptyIterable<1>"));
       return H.SubListIterable$(_this.__internal$_iterable, newStart, endOrLength, _this.$ti._precomputed1);
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       var $length, result, i, _this = this,
         start = _this.__internal$_start,
         t1 = _this.__internal$_iterable,
@@ -10102,15 +10177,15 @@
       }
       return result;
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     }
   };
   H.ListIterator.prototype = {
-    get$current: function(_) {
+    get$current(_) {
       return this.__internal$_current;
     },
-    moveNext$0: function() {
+    moveNext$0() {
       var t3, _this = this,
         t1 = _this.__internal$_iterable,
         t2 = J.getInterceptor$asx(t1),
@@ -10126,32 +10201,32 @@
       ++_this.__internal$_index;
       return true;
     },
-    set$__internal$_current: function(_current) {
+    set$__internal$_current(_current) {
       this.__internal$_current = this.$ti._eval$1("1?")._as(_current);
     },
     $isIterator: 1
   };
   H.MappedIterable.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       var t1 = H._instanceType(this);
       return new H.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>"));
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this.__internal$_iterable);
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return J.get$isEmpty$asx(this.__internal$_iterable);
     },
-    get$first: function(_) {
+    get$first(_) {
       return this._f.call$1(J.get$first$ax(this.__internal$_iterable));
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index));
     }
   };
   H.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1};
   H.MappedIterator.prototype = {
-    moveNext$0: function() {
+    moveNext$0() {
       var _this = this,
         t1 = _this._iterator;
       if (t1.moveNext$0()) {
@@ -10161,277 +10236,274 @@
       _this.set$__internal$_current(null);
       return false;
     },
-    get$current: function(_) {
+    get$current(_) {
       return this.__internal$_current;
     },
-    set$__internal$_current: function(_current) {
+    set$__internal$_current(_current) {
       this.__internal$_current = this.$ti._eval$1("2?")._as(_current);
     }
   };
   H.MappedListIterable.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this.__internal$_source);
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       return this._f.call$1(J.elementAt$1$ax(this.__internal$_source, index));
     }
   };
   H.WhereIterable.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       return new H.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("WhereIterator<1>"));
     },
-    map$1$1: function(_, f, $T) {
+    map$1$1(_, toElement, $T) {
       var t1 = this.$ti;
-      return new H.MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
+      return new H.MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(toElement), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
     },
-    map$1: function($receiver, f) {
-      return this.map$1$1($receiver, f, type$.dynamic);
+    map$1($receiver, toElement) {
+      return this.map$1$1($receiver, toElement, type$.dynamic);
     }
   };
   H.WhereIterator.prototype = {
-    moveNext$0: function() {
+    moveNext$0() {
       var t1, t2;
       for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();)
         if (H.boolConversionCheck(t2.call$1(t1.get$current(t1))))
           return true;
       return false;
     },
-    get$current: function(_) {
+    get$current(_) {
       var t1 = this._iterator;
       return t1.get$current(t1);
     }
   };
   H.SkipIterable.prototype = {
-    skip$1: function(_, count) {
+    skip$1(_, count) {
       P.RangeError_checkNotNegative(count, "count");
       return new H.SkipIterable(this.__internal$_iterable, this._skipCount + count, H._instanceType(this)._eval$1("SkipIterable<1>"));
     },
-    get$iterator: function(_) {
+    get$iterator(_) {
       return new H.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount, H._instanceType(this)._eval$1("SkipIterator<1>"));
     }
   };
   H.EfficientLengthSkipIterable.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount;
       if ($length >= 0)
         return $length;
       return 0;
     },
-    skip$1: function(_, count) {
+    skip$1(_, count) {
       P.RangeError_checkNotNegative(count, "count");
       return new H.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti);
     },
     $isEfficientLengthIterable: 1
   };
   H.SkipIterator.prototype = {
-    moveNext$0: function() {
+    moveNext$0() {
       var t1, i;
       for (t1 = this._iterator, i = 0; i < this._skipCount; ++i)
         t1.moveNext$0();
       this._skipCount = 0;
       return t1.moveNext$0();
     },
-    get$current: function(_) {
+    get$current(_) {
       var t1 = this._iterator;
       return t1.get$current(t1);
     }
   };
   H.EmptyIterable.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       return C.C_EmptyIterator;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return true;
     },
-    get$length: function(_) {
+    get$length(_) {
       return 0;
     },
-    get$first: function(_) {
+    get$first(_) {
       throw H.wrapException(H.IterableElementError_noElement());
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       throw H.wrapException(P.RangeError$range(index, 0, 0, "index", null));
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       return false;
     },
-    map$1$1: function(_, f, $T) {
-      this.$ti._bind$1($T)._eval$1("1(2)")._as(f);
+    map$1$1(_, toElement, $T) {
+      this.$ti._bind$1($T)._eval$1("1(2)")._as(toElement);
       return new H.EmptyIterable($T._eval$1("EmptyIterable<0>"));
     },
-    map$1: function($receiver, f) {
-      return this.map$1$1($receiver, f, type$.dynamic);
+    map$1($receiver, toElement) {
+      return this.map$1$1($receiver, toElement, type$.dynamic);
     },
-    skip$1: function(_, count) {
+    skip$1(_, count) {
       P.RangeError_checkNotNegative(count, "count");
       return this;
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       var t1 = this.$ti._precomputed1;
       return growable ? J.JSArray_JSArray$growable(0, t1) : J.JSArray_JSArray$fixed(0, t1);
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     }
   };
   H.EmptyIterator.prototype = {
-    moveNext$0: function() {
+    moveNext$0() {
       return false;
     },
-    get$current: function(_) {
+    get$current(_) {
       throw H.wrapException(H.IterableElementError_noElement());
     },
     $isIterator: 1
   };
   H.FixedLengthListMixin.prototype = {
-    set$length: function(receiver, newLength) {
+    set$length(receiver, newLength) {
       throw H.wrapException(P.UnsupportedError$("Cannot change the length of a fixed-length list"));
     },
-    add$1: function(receiver, value) {
+    add$1(receiver, value) {
       H.instanceType(receiver)._eval$1("FixedLengthListMixin.E")._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot add to a fixed-length list"));
     }
   };
   H.UnmodifiableListMixin.prototype = {
-    $indexSet: function(_, index, value) {
+    $indexSet(_, index, value) {
       H._asIntS(index);
       H._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
     },
-    set$length: function(_, newLength) {
+    set$length(_, newLength) {
       throw H.wrapException(P.UnsupportedError$("Cannot change the length of an unmodifiable list"));
     },
-    add$1: function(_, value) {
+    add$1(_, value) {
       H._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot add to an unmodifiable list"));
     },
-    sort$1: function(_, compare) {
+    sort$1(_, compare) {
       H._instanceType(this)._eval$1("int(UnmodifiableListMixin.E,UnmodifiableListMixin.E)?")._as(compare);
       throw H.wrapException(P.UnsupportedError$("Cannot modify an unmodifiable list"));
     }
   };
   H.UnmodifiableListBase.prototype = {};
   H.ReversedListIterable.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this.__internal$_source);
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       var t1 = this.__internal$_source,
         t2 = J.getInterceptor$asx(t1);
       return t2.elementAt$1(t1, t2.get$length(t1) - 1 - index);
     }
   };
   H.Symbol.prototype = {
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var hash = this._hashCode;
       if (hash != null)
         return hash;
-      hash = 664597 * J.get$hashCode$(this.__internal$_name) & 536870911;
+      hash = 664597 * J.get$hashCode$(this._name) & 536870911;
       this._hashCode = hash;
       return hash;
     },
-    toString$0: function(_) {
-      return 'Symbol("' + H.S(this.__internal$_name) + '")';
+    toString$0(_) {
+      return 'Symbol("' + H.S(this._name) + '")';
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
-      return other instanceof H.Symbol && this.__internal$_name == other.__internal$_name;
+      return other instanceof H.Symbol && this._name == other._name;
     },
     $isSymbol0: 1
   };
   H.__CastListBase__CastIterableBase_ListMixin.prototype = {};
   H.ConstantMapView.prototype = {};
   H.ConstantMap.prototype = {
-    cast$2$0: function(_, RK, RV) {
+    cast$2$0(_, RK, RV) {
       var t1 = H._instanceType(this);
       return P.Map_castFrom(this, t1._precomputed1, t1._rest[1], RK, RV);
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this.get$length(this) === 0;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return P.MapBase_mapToString(this);
     },
-    $indexSet: function(_, key, val) {
+    $indexSet(_, key, val) {
       var t1 = H._instanceType(this);
       t1._precomputed1._as(key);
       t1._rest[1]._as(val);
       H.ConstantMap__throwUnmodifiable();
       H.ReachabilityError$(string$._null_);
     },
-    remove$1: function(_, key) {
+    remove$1(_, key) {
       H.ConstantMap__throwUnmodifiable();
       H.ReachabilityError$(string$._null_);
     },
-    map$2$1: function(_, transform, K2, V2) {
+    map$2$1(_, transform, K2, V2) {
       var result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
       this.forEach$1(0, new H.ConstantMap_map_closure(this, H._instanceType(this)._bind$1(K2)._bind$1(V2)._eval$1("MapEntry<1,2>(3,4)")._as(transform), result));
       return result;
     },
-    map$1: function($receiver, transform) {
+    map$1($receiver, transform) {
       return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
     },
     $isMap: 1
   };
   H.ConstantMap_map_closure.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       var t1 = H._instanceType(this.$this),
         entry = this.transform.call$2(t1._precomputed1._as(key), t1._rest[1]._as(value));
       this.result.$indexSet(0, entry.get$key(entry), entry.get$value(entry));
     },
-    $signature: function() {
+    $signature() {
       return H._instanceType(this.$this)._eval$1("~(1,2)");
     }
   };
   H.ConstantStringMap.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return this.__js_helper$_length;
     },
-    containsKey$1: function(_, key) {
+    containsKey$1(_, key) {
       if (typeof key != "string")
         return false;
       if ("__proto__" === key)
         return false;
       return this._jsObject.hasOwnProperty(key);
     },
-    $index: function(_, key) {
+    $index(_, key) {
       if (!this.containsKey$1(0, key))
         return null;
-      return this._fetch$1(key);
-    },
-    _fetch$1: function(key) {
       return this._jsObject[H._asStringS(key)];
     },
-    forEach$1: function(_, f) {
-      var keys, t2, i, key,
-        t1 = H._instanceType(this);
+    forEach$1(_, f) {
+      var keys, t2, t3, i, t4,
+        t1 = this.$ti;
       t1._eval$1("~(1,2)")._as(f);
       keys = this.__js_helper$_keys;
-      for (t2 = keys.length, t1 = t1._rest[1], i = 0; i < t2; ++i) {
-        key = keys[i];
-        f.call$2(key, t1._as(this._fetch$1(key)));
+      for (t2 = keys.length, t3 = this._jsObject, t1 = t1._rest[1], i = 0; i < t2; ++i) {
+        t4 = H._asStringS(keys[i]);
+        f.call$2(t4, t1._as(t3[t4]));
       }
     },
-    get$keys: function(_) {
-      return new H._ConstantMapKeyIterable(this, H._instanceType(this)._eval$1("_ConstantMapKeyIterable<1>"));
+    get$keys(_) {
+      return new H._ConstantMapKeyIterable(this, this.$ti._eval$1("_ConstantMapKeyIterable<1>"));
     }
   };
   H._ConstantMapKeyIterable.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       var t1 = this._map.__js_helper$_keys;
       return new J.ArrayIterator(t1, t1.length, H._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
     },
-    get$length: function(_) {
+    get$length(_) {
       return this._map.__js_helper$_keys.length;
     }
   };
   H.JSInvocationMirror.prototype = {
-    get$memberName: function() {
+    get$memberName() {
       var t1 = this._memberName;
       return t1;
     },
-    get$positionalArguments: function() {
+    get$positionalArguments() {
       var t1, argumentCount, list, index, _this = this;
       if (_this.__js_helper$_kind === 1)
         return C.List_empty0;
@@ -10447,7 +10519,7 @@
       }
       return J.JSArray_markUnmodifiableList(list);
     },
-    get$namedArguments: function() {
+    get$namedArguments() {
       var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this;
       if (_this.__js_helper$_kind !== 0)
         return C.Map_empty0;
@@ -10472,7 +10544,7 @@
     $isInvocation: 1
   };
   H.Primitives_functionNoSuchMethod_closure.prototype = {
-    call$2: function($name, argument) {
+    call$2($name, argument) {
       var t1;
       H._asStringS($name);
       t1 = this._box_0;
@@ -10484,7 +10556,7 @@
     $signature: 6
   };
   H.TypeErrorDecoder.prototype = {
-    matchTypeError$1: function(message) {
+    matchTypeError$1(message) {
       var result, t1, _this = this,
         match = new RegExp(_this._pattern).exec(message);
       if (match == null)
@@ -10509,7 +10581,7 @@
     }
   };
   H.NullError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = this._method;
       if (t1 == null)
         return "NoSuchMethodError: " + H.S(this.__js_helper$_message);
@@ -10517,7 +10589,7 @@
     }
   };
   H.JsNoSuchMethodError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var t2, _this = this,
         _s38_ = "NoSuchMethodError: method not found: '",
         t1 = _this._method;
@@ -10530,19 +10602,19 @@
     }
   };
   H.UnknownJsTypeError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = this.__js_helper$_message;
       return t1.length === 0 ? "Error" : "Error: " + t1;
     }
   };
   H.NullThrownFromJavaScriptException.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)";
     }
   };
   H.ExceptionAndStackTrace.prototype = {};
   H._StackTrace.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var trace,
         t1 = this._trace;
       if (t1 != null)
@@ -10554,22 +10626,24 @@
     $isStackTrace: 1
   };
   H.Closure.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var $constructor = this.constructor,
         $name = $constructor == null ? null : $constructor.name;
       return "Closure '" + H.unminifyOrTag($name == null ? "unknown" : $name) + "'";
     },
     $isFunction: 1,
-    get$$call: function() {
+    get$$call() {
       return this;
     },
     "call*": "call$1",
     $requiredArgCount: 1,
     $defaultValues: null
   };
+  H.Closure0Args.prototype = {"call*": "call$0", $requiredArgCount: 0};
+  H.Closure2Args.prototype = {"call*": "call$2", $requiredArgCount: 2};
   H.TearOffClosure.prototype = {};
   H.StaticClosure.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var $name = this.$static_name;
       if ($name == null)
         return "Closure of unknown static method";
@@ -10577,60 +10651,51 @@
     }
   };
   H.BoundClosure.prototype = {
-    $eq: function(_, other) {
-      var _this = this;
+    $eq(_, other) {
       if (other == null)
         return false;
-      if (_this === other)
+      if (this === other)
         return true;
       if (!(other instanceof H.BoundClosure))
         return false;
-      return _this._self === other._self && _this._target === other._target && _this._receiver === other._receiver;
+      return this.$_target === other.$_target && this._receiver === other._receiver;
     },
-    get$hashCode: function(_) {
-      var receiverHashCode,
-        t1 = this._receiver;
-      if (t1 == null)
-        receiverHashCode = H.Primitives_objectHashCode(this._self);
-      else
-        receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1);
-      t1 = H.Primitives_objectHashCode(this._target);
+    get$hashCode(_) {
+      var receiverHashCode = H.objectHashCode(this._receiver),
+        t1 = H.Primitives_objectHashCode(this.$_target);
       if (typeof receiverHashCode !== "number")
         return receiverHashCode.$xor();
       return (receiverHashCode ^ t1) >>> 0;
     },
-    toString$0: function(_) {
-      var receiver = this._receiver;
-      if (receiver == null)
-        receiver = this._self;
-      return "Closure '" + H.S(this._name) + "' of " + ("Instance of '" + H.S(H.Primitives_objectTypeName(receiver)) + "'");
+    toString$0(_) {
+      return "Closure '" + H.S(this.$_name) + "' of " + ("Instance of '" + H.S(H.Primitives_objectTypeName(this._receiver)) + "'");
     }
   };
   H.RuntimeError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "RuntimeError: " + this.message;
     }
   };
   H._AssertionError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Assertion failed: " + P.Error_safeToString(this.message);
     }
   };
   H._Required.prototype = {};
   H.JsLinkedHashMap.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return this.__js_helper$_length;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this.__js_helper$_length === 0;
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return !this.get$isEmpty(this);
     },
-    get$keys: function(_) {
+    get$keys(_) {
       return new H.LinkedHashMapKeyIterable(this, H._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>"));
     },
-    containsKey$1: function(_, key) {
+    containsKey$1(_, key) {
       var strings, nums, _this = this;
       if (typeof key == "string") {
         strings = _this._strings;
@@ -10645,17 +10710,17 @@
       } else
         return _this.internalContainsKey$1(key);
     },
-    internalContainsKey$1: function(key) {
+    internalContainsKey$1(key) {
       var _this = this,
         rest = _this.__js_helper$_rest;
       if (rest == null)
         return false;
       return _this.internalFindBucketIndex$2(_this._getTableBucket$2(rest, _this.internalComputeHashCode$1(key)), key) >= 0;
     },
-    addAll$1: function(_, other) {
+    addAll$1(_, other) {
       J.forEach$1$ax(H._instanceType(this)._eval$1("Map<1,2>")._as(other), new H.JsLinkedHashMap_addAll_closure(this));
     },
-    $index: function(_, key) {
+    $index(_, key) {
       var strings, cell, t1, nums, _this = this, _null = null;
       if (typeof key == "string") {
         strings = _this._strings;
@@ -10674,7 +10739,7 @@
       } else
         return _this.internalGet$1(key);
     },
-    internalGet$1: function(key) {
+    internalGet$1(key) {
       var bucket, index, _this = this,
         rest = _this.__js_helper$_rest;
       if (rest == null)
@@ -10685,7 +10750,7 @@
         return null;
       return bucket[index].hashMapCellValue;
     },
-    $indexSet: function(_, key, value) {
+    $indexSet(_, key, value) {
       var strings, nums, _this = this,
         t1 = H._instanceType(_this);
       t1._precomputed1._as(key);
@@ -10699,7 +10764,7 @@
       } else
         _this.internalSet$2(key, value);
     },
-    internalSet$2: function(key, value) {
+    internalSet$2(key, value) {
       var rest, hash, bucket, index, _this = this,
         t1 = H._instanceType(_this);
       t1._precomputed1._as(key);
@@ -10719,7 +10784,7 @@
           bucket.push(_this._newLinkedCell$2(key, value));
       }
     },
-    putIfAbsent$2: function(_, key, ifAbsent) {
+    putIfAbsent$2(_, key, ifAbsent) {
       var value, _this = this,
         t1 = H._instanceType(_this);
       t1._precomputed1._as(key);
@@ -10730,7 +10795,7 @@
       _this.$indexSet(0, key, value);
       return value;
     },
-    remove$1: function(_, key) {
+    remove$1(_, key) {
       var _this = this;
       if (typeof key == "string")
         return _this.__js_helper$_removeHashTableEntry$2(_this._strings, key);
@@ -10739,7 +10804,7 @@
       else
         return _this.internalRemove$1(key);
     },
-    internalRemove$1: function(key) {
+    internalRemove$1(key) {
       var hash, bucket, index, cell, _this = this,
         rest = _this.__js_helper$_rest;
       if (rest == null)
@@ -10755,7 +10820,7 @@
         _this._deleteTableEntry$2(rest, hash);
       return cell.hashMapCellValue;
     },
-    forEach$1: function(_, action) {
+    forEach$1(_, action) {
       var cell, modifications, _this = this;
       H._instanceType(_this)._eval$1("~(1,2)")._as(action);
       cell = _this._first;
@@ -10767,7 +10832,7 @@
         cell = cell._next;
       }
     },
-    _addHashTableEntry$3: function(table, key, value) {
+    _addHashTableEntry$3(table, key, value) {
       var cell, _this = this,
         t1 = H._instanceType(_this);
       t1._precomputed1._as(key);
@@ -10778,7 +10843,7 @@
       else
         cell.hashMapCellValue = value;
     },
-    __js_helper$_removeHashTableEntry$2: function(table, key) {
+    __js_helper$_removeHashTableEntry$2(table, key) {
       var cell;
       if (table == null)
         return null;
@@ -10789,10 +10854,10 @@
       this._deleteTableEntry$2(table, key);
       return cell.hashMapCellValue;
     },
-    _modified$0: function() {
+    _modified$0() {
       this._modifications = this._modifications + 1 & 67108863;
     },
-    _newLinkedCell$2: function(key, value) {
+    _newLinkedCell$2(key, value) {
       var _this = this,
         t1 = H._instanceType(_this),
         cell = new H.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value));
@@ -10808,7 +10873,7 @@
       _this._modified$0();
       return cell;
     },
-    _unlinkCell$1: function(cell) {
+    _unlinkCell$1(cell) {
       var _this = this,
         previous = cell._previous,
         next = cell._next;
@@ -10823,10 +10888,10 @@
       --_this.__js_helper$_length;
       _this._modified$0();
     },
-    internalComputeHashCode$1: function(key) {
+    internalComputeHashCode$1(key) {
       return J.get$hashCode$(key) & 0x3ffffff;
     },
-    internalFindBucketIndex$2: function(bucket, key) {
+    internalFindBucketIndex$2(bucket, key) {
       var $length, i;
       if (bucket == null)
         return -1;
@@ -10836,25 +10901,25 @@
           return i;
       return -1;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return P.MapBase_mapToString(this);
     },
-    _getTableCell$2: function(table, key) {
+    _getTableCell$2(table, key) {
       return table[key];
     },
-    _getTableBucket$2: function(table, key) {
+    _getTableBucket$2(table, key) {
       return table[key];
     },
-    _setTableEntry$3: function(table, key, value) {
+    _setTableEntry$3(table, key, value) {
       table[key] = value;
     },
-    _deleteTableEntry$2: function(table, key) {
+    _deleteTableEntry$2(table, key) {
       delete table[key];
     },
-    _containsTableEntry$2: function(table, key) {
+    _containsTableEntry$2(table, key) {
       return this._getTableCell$2(table, key) != null;
     },
-    _newHashTable$0: function() {
+    _newHashTable$0() {
       var _s20_ = "<non-identifier-key>",
         table = Object.create(null);
       this._setTableEntry$3(table, _s20_, table);
@@ -10864,38 +10929,38 @@
     $isLinkedHashMap: 1
   };
   H.JsLinkedHashMap_addAll_closure.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       var t1 = this.$this,
         t2 = H._instanceType(t1);
       t1.$indexSet(0, t2._precomputed1._as(key), t2._rest[1]._as(value));
     },
-    $signature: function() {
+    $signature() {
       return H._instanceType(this.$this)._eval$1("~(1,2)");
     }
   };
   H.LinkedHashMapCell.prototype = {};
   H.LinkedHashMapKeyIterable.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return this._map.__js_helper$_length;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this._map.__js_helper$_length === 0;
     },
-    get$iterator: function(_) {
+    get$iterator(_) {
       var t1 = this._map,
         t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>"));
       t2._cell = t1._first;
       return t2;
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       return this._map.containsKey$1(0, element);
     }
   };
   H.LinkedHashMapKeyIterator.prototype = {
-    get$current: function(_) {
+    get$current(_) {
       return this.__js_helper$_current;
     },
-    moveNext$0: function() {
+    moveNext$0() {
       var cell, _this = this,
         t1 = _this._map;
       if (_this._modifications !== t1._modifications)
@@ -10910,34 +10975,34 @@
         return true;
       }
     },
-    set$__js_helper$_current: function(_current) {
+    set$__js_helper$_current(_current) {
       this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current);
     },
     $isIterator: 1
   };
   H.initHooks_closure.prototype = {
-    call$1: function(o) {
+    call$1(o) {
       return this.getTag(o);
     },
     $signature: 1
   };
   H.initHooks_closure0.prototype = {
-    call$2: function(o, tag) {
+    call$2(o, tag) {
       return this.getUnknownTag(o, tag);
     },
     $signature: 35
   };
   H.initHooks_closure1.prototype = {
-    call$1: function(tag) {
+    call$1(tag) {
       return this.prototypeForTag(H._asStringS(tag));
     },
     $signature: 80
   };
   H.JSSyntaxRegExp.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "RegExp/" + this.pattern + "/" + this._nativeRegExp.flags;
     },
-    get$_nativeGlobalVersion: function() {
+    get$_nativeGlobalVersion() {
       var _this = this,
         t1 = _this._nativeGlobalRegExp;
       if (t1 != null)
@@ -10945,7 +11010,7 @@
       t1 = _this._nativeRegExp;
       return _this._nativeGlobalRegExp = H.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true);
     },
-    get$_nativeAnchoredVersion: function() {
+    get$_nativeAnchoredVersion() {
       var _this = this,
         t1 = _this._nativeAnchoredRegExp;
       if (t1 != null)
@@ -10953,7 +11018,7 @@
       t1 = _this._nativeRegExp;
       return _this._nativeAnchoredRegExp = H.JSSyntaxRegExp_makeNative(_this.pattern + "|()", t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, true);
     },
-    firstMatch$1: function(string) {
+    firstMatch$1(string) {
       var m;
       if (typeof string != "string")
         H.throwExpression(H.argumentErrorValue(string));
@@ -10962,16 +11027,16 @@
         return null;
       return new H._MatchImplementation(m);
     },
-    allMatches$2: function(_, string, start) {
+    allMatches$2(_, string, start) {
       var t1 = string.length;
       if (start > t1)
         throw H.wrapException(P.RangeError$range(start, 0, t1, null, null));
       return new H._AllMatchesIterable(this, string, start);
     },
-    allMatches$1: function($receiver, string) {
+    allMatches$1($receiver, string) {
       return this.allMatches$2($receiver, string, 0);
     },
-    _execGlobal$2: function(string, start) {
+    _execGlobal$2(string, start) {
       var match,
         regexp = this.get$_nativeGlobalVersion();
       regexp.lastIndex = start;
@@ -10980,7 +11045,7 @@
         return null;
       return new H._MatchImplementation(match);
     },
-    _execAnchored$2: function(string, start) {
+    _execAnchored$2(string, start) {
       var match,
         regexp = this.get$_nativeAnchoredVersion();
       regexp.lastIndex = start;
@@ -10993,7 +11058,7 @@
         return null;
       return new H._MatchImplementation(match);
     },
-    matchAsPrefix$2: function(_, string, start) {
+    matchAsPrefix$2(_, string, start) {
       if (start < 0 || start > string.length)
         throw H.wrapException(P.RangeError$range(start, 0, string.length, null, null));
       return this._execAnchored$2(string, start);
@@ -11002,7 +11067,7 @@
     $isRegExp: 1
   };
   H._MatchImplementation.prototype = {
-    get$end: function(_) {
+    get$end(_) {
       var t1 = this._match;
       return t1.index + t1[0].length;
     },
@@ -11010,15 +11075,15 @@
     $isRegExpMatch: 1
   };
   H._AllMatchesIterable.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       return new H._AllMatchesIterator(this._re, this._string, this._start);
     }
   };
   H._AllMatchesIterator.prototype = {
-    get$current: function(_) {
+    get$current(_) {
       return this.__js_helper$_current;
     },
-    moveNext$0: function() {
+    moveNext$0() {
       var t1, t2, t3, match, nextIndex, _this = this,
         string = _this._string;
       if (string == null)
@@ -11059,10 +11124,10 @@
   };
   H.StringMatch.prototype = {$isMatch: 1};
   H._StringAllMatchesIterable.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       return new H._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index);
     },
-    get$first: function(_) {
+    get$first(_) {
       var t1 = this._pattern,
         index = this._input.indexOf(t1, this.__js_helper$_index);
       if (index >= 0)
@@ -11071,7 +11136,7 @@
     }
   };
   H._StringAllMatchesIterator.prototype = {
-    moveNext$0: function() {
+    moveNext$0() {
       var index, end, _this = this,
         t1 = _this.__js_helper$_index,
         t2 = _this._pattern,
@@ -11093,15 +11158,23 @@
       _this.__js_helper$_index = end === _this.__js_helper$_index ? end + 1 : end;
       return true;
     },
-    get$current: function(_) {
+    get$current(_) {
       var t1 = this.__js_helper$_current;
       t1.toString;
       return t1;
     },
     $isIterator: 1
   };
+  H._Cell.prototype = {
+    _readField$0() {
+      var t1 = this.__late_helper$_value;
+      if (t1 === this)
+        throw H.wrapException(H.LateError$fieldNI(this.__late_helper$_name));
+      return t1;
+    }
+  };
   H.NativeByteBuffer.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_ByteBuffer_RkP;
     },
     $isNativeByteBuffer: 1,
@@ -11109,22 +11182,22 @@
   };
   H.NativeTypedData.prototype = {$isNativeTypedData: 1, $isTypedData: 1};
   H.NativeByteData.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_ByteData_zNC;
     }
   };
   H.NativeTypedArray.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
     $isJavaScriptIndexingBehavior: 1
   };
   H.NativeTypedArrayOfDouble.prototype = {
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       H._checkValidIndex(index, receiver, receiver.length);
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       H._asDoubleS(value);
       H._checkValidIndex(index, receiver, receiver.length);
@@ -11135,7 +11208,7 @@
     $isList: 1
   };
   H.NativeTypedArrayOfInt.prototype = {
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       H._asIntS(value);
       H._checkValidIndex(index, receiver, receiver.length);
@@ -11146,136 +11219,136 @@
     $isList: 1
   };
   H.NativeFloat32List.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Float32List_LB7;
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       return new Float32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     }
   };
   H.NativeFloat64List.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Float64List_LB7;
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       return new Float64Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     }
   };
   H.NativeInt16List.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Int16List_uXf;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       H._checkValidIndex(index, receiver, receiver.length);
       return receiver[index];
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       return new Int16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     }
   };
   H.NativeInt32List.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Int32List_O50;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       H._checkValidIndex(index, receiver, receiver.length);
       return receiver[index];
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       return new Int32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     }
   };
   H.NativeInt8List.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Int8List_ekJ;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       H._checkValidIndex(index, receiver, receiver.length);
       return receiver[index];
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       return new Int8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     }
   };
   H.NativeUint16List.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Uint16List_2bx;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       H._checkValidIndex(index, receiver, receiver.length);
       return receiver[index];
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       return new Uint16Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
     $isUint16List: 1
   };
   H.NativeUint32List.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Uint32List_2bx;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       H._checkValidIndex(index, receiver, receiver.length);
       return receiver[index];
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       return new Uint32Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     }
   };
   H.NativeUint8ClampedList.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Uint8ClampedList_Jik;
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       H._checkValidIndex(index, receiver, receiver.length);
       return receiver[index];
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       return new Uint8ClampedArray(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     }
   };
   H.NativeUint8List.prototype = {
-    get$runtimeType: function(receiver) {
+    get$runtimeType(receiver) {
       return C.Type_Uint8List_WLA;
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       H._checkValidIndex(index, receiver, receiver.length);
       return receiver[index];
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       return new Uint8Array(receiver.subarray(start, H._checkValidRange(start, end, receiver.length)));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
     $isNativeUint8List: 1,
@@ -11286,28 +11359,28 @@
   H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {};
   H._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
   H.Rti.prototype = {
-    _eval$1: function(recipe) {
+    _eval$1(recipe) {
       return H._Universe_evalInEnvironment(init.typeUniverse, this, recipe);
     },
-    _bind$1: function(typeOrTuple) {
+    _bind$1(typeOrTuple) {
       return H._Universe_bind(init.typeUniverse, this, typeOrTuple);
     }
   };
   H._FunctionParameters.prototype = {};
   H._Type.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return H._rtiToString(this._rti, null);
     },
     $isType: 1
   };
   H._Error.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return this.__rti$_message;
     }
   };
-  H._TypeError.prototype = {};
+  H._TypeError.prototype = {$isTypeError: 1};
   P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
-    call$1: function(_) {
+    call$1(_) {
       var t1 = this._box_0,
         f = t1.storedCallback;
       t1.storedCallback = null;
@@ -11316,7 +11389,7 @@
     $signature: 7
   };
   P._AsyncRun__initializeScheduleImmediate_closure.prototype = {
-    call$1: function(callback) {
+    call$1(callback) {
       var t1, t2;
       this._box_0.storedCallback = type$.void_Function._as(callback);
       t1 = this.div;
@@ -11326,38 +11399,34 @@
     $signature: 36
   };
   P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
-    call$0: function() {
+    call$0() {
       this.callback.call$0();
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 2
   };
   P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
-    call$0: function() {
+    call$0() {
       this.callback.call$0();
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 2
   };
   P._TimerImpl.prototype = {
-    _TimerImpl$2: function(milliseconds, callback) {
+    _TimerImpl$2(milliseconds, callback) {
       if (self.setTimeout != null)
         this._handle = self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds);
       else
         throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found."));
     },
-    _TimerImpl$periodic$2: function(milliseconds, callback) {
+    _TimerImpl$periodic$2(milliseconds, callback) {
       if (self.setTimeout != null)
         this._handle = self.setInterval(H.convertDartClosureToJS(new P._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds);
       else
         throw H.wrapException(P.UnsupportedError$("Periodic timer."));
     },
-    get$isActive: function() {
+    get$isActive() {
       return this._handle != null;
     },
-    cancel$0: function(_) {
+    cancel$0(_) {
       var t1;
       if (self.setTimeout != null) {
         t1 = this._handle;
@@ -11374,18 +11443,16 @@
     $isTimer: 1
   };
   P._TimerImpl_internalCallback.prototype = {
-    call$0: function() {
+    call$0() {
       var t1 = this.$this;
       t1._handle = null;
       t1._tick = 1;
       this.callback.call$0();
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._TimerImpl$periodic_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var duration, _this = this,
         t1 = _this.$this,
         tick = t1._tick + 1,
@@ -11398,12 +11465,10 @@
       t1._tick = tick;
       _this.callback.call$1(t1);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 2
   };
   P._AsyncAwaitCompleter.prototype = {
-    complete$1: function(_, value) {
+    complete$1(_, value) {
       var t2, _this = this,
         t1 = _this.$ti;
       t1._eval$1("1/?")._as(value);
@@ -11417,7 +11482,7 @@
           t2._completeWithValue$1(t1._precomputed1._as(value));
       }
     },
-    completeError$2: function(e, st) {
+    completeError$2(e, st) {
       var t1;
       if (st == null)
         st = P.AsyncError_defaultStackTrace(e);
@@ -11430,38 +11495,34 @@
     $isCompleter: 1
   };
   P._awaitOnObject_closure.prototype = {
-    call$1: function(result) {
+    call$1(result) {
       return this.bodyFunction.call$2(0, result);
     },
     $signature: 4
   };
   P._awaitOnObject_closure0.prototype = {
-    call$2: function(error, stackTrace) {
+    call$2(error, stackTrace) {
       this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
     },
-    "call*": "call$2",
-    $requiredArgCount: 2,
     $signature: 37
   };
   P._wrapJsFunctionForAsync_closure.prototype = {
-    call$2: function(errorCode, result) {
+    call$2(errorCode, result) {
       this.$protected(H._asIntS(errorCode), result);
     },
-    "call*": "call$2",
-    $requiredArgCount: 2,
     $signature: 51
   };
   P.AsyncError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return H.S(this.error);
     },
     $isError: 1,
-    get$stackTrace: function() {
+    get$stackTrace() {
       return this.stackTrace;
     }
   };
   P.Future_Future$microtask_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var e, s, exception;
       try {
         this.result._complete$1(this.computation.call$0());
@@ -11471,16 +11532,14 @@
         P._completeWithErrorCallback(this.result, e, s);
       }
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._Completer.prototype = {
-    completeError$2: function(error, stackTrace) {
+    completeError$2(error, stackTrace) {
       var replacement;
       type$.nullable_StackTrace._as(stackTrace);
       H.checkNotNullable(error, "error", type$.Object);
-      if (this.future._state !== 0)
+      if ((this.future._state & 30) !== 0)
         throw H.wrapException(P.StateError$("Future already completed"));
       replacement = $.Zone__current.errorCallback$2(error, stackTrace);
       if (replacement != null) {
@@ -11490,67 +11549,82 @@
         stackTrace = P.AsyncError_defaultStackTrace(error);
       this._completeError$2(error, stackTrace);
     },
-    completeError$1: function(error) {
+    completeError$1(error) {
       return this.completeError$2(error, null);
     },
     $isCompleter: 1
   };
   P._AsyncCompleter.prototype = {
-    complete$1: function(_, value) {
+    complete$1(_, value) {
       var t2,
         t1 = this.$ti;
       t1._eval$1("1/?")._as(value);
       t2 = this.future;
-      if (t2._state !== 0)
+      if ((t2._state & 30) !== 0)
         throw H.wrapException(P.StateError$("Future already completed"));
       t2._asyncComplete$1(t1._eval$1("1/")._as(value));
     },
-    complete$0: function($receiver) {
+    complete$0($receiver) {
       return this.complete$1($receiver, null);
     },
-    _completeError$2: function(error, stackTrace) {
+    _completeError$2(error, stackTrace) {
       this.future._asyncCompleteError$2(error, stackTrace);
     }
   };
   P._SyncCompleter.prototype = {
-    complete$1: function(_, value) {
+    complete$1(_, value) {
       var t2,
         t1 = this.$ti;
       t1._eval$1("1/?")._as(value);
       t2 = this.future;
-      if (t2._state !== 0)
+      if ((t2._state & 30) !== 0)
         throw H.wrapException(P.StateError$("Future already completed"));
       t2._complete$1(t1._eval$1("1/")._as(value));
     },
-    _completeError$2: function(error, stackTrace) {
+    _completeError$2(error, stackTrace) {
       this.future._completeError$2(error, stackTrace);
     }
   };
   P._FutureListener.prototype = {
-    matchesErrorTest$1: function(asyncError) {
+    matchesErrorTest$1(asyncError) {
       if ((this.state & 15) !== 6)
         return true;
       return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object);
     },
-    handleError$1: function(asyncError) {
-      var errorCallback = this.errorCallback,
+    handleError$1(asyncError) {
+      var exception, _this = this,
+        errorCallback = _this.errorCallback,
+        result = null,
         t1 = type$.dynamic,
         t2 = type$.Object,
-        t3 = this.$ti._eval$1("2/"),
-        t4 = this.result._zone;
+        t3 = _this.result._zone;
       if (type$.dynamic_Function_Object_StackTrace._is(errorCallback))
-        return t3._as(t4.runBinary$3$3(errorCallback, asyncError.error, asyncError.stackTrace, t1, t2, type$.StackTrace));
+        result = t3.runBinary$3$3(errorCallback, asyncError.error, asyncError.stackTrace, t1, t2, type$.StackTrace);
       else
-        return t3._as(t4.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), asyncError.error, t1, t2));
+        result = t3.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), asyncError.error, t1, t2);
+      try {
+        t1 = _this.$ti._eval$1("2/")._as(result);
+        return t1;
+      } catch (exception) {
+        if (type$.TypeError._is(H.unwrapException(exception))) {
+          if ((_this.state & 1) !== 0)
+            throw H.wrapException(P.ArgumentError$("The error handler of Future.then must return a value of the returned future's type", "onError"));
+          throw H.wrapException(P.ArgumentError$("The error handler of Future.catchError must return a value of the future's type", "onError"));
+        } else
+          throw exception;
+      }
     }
   };
   P._Future.prototype = {
-    then$1$2$onError: function(_, f, onError, $R) {
+    then$1$2$onError(_, f, onError, $R) {
       var currentZone, result, t2,
         t1 = this.$ti;
       t1._bind$1($R)._eval$1("1/(2)")._as(f);
       currentZone = $.Zone__current;
-      if (currentZone !== C.C__RootZone) {
+      if (currentZone === C.C__RootZone) {
+        if (onError != null && !type$.dynamic_Function_Object_StackTrace._is(onError) && !type$.dynamic_Function_Object._is(onError))
+          throw H.wrapException(P.ArgumentError$value(onError, "onError", string$.Error_));
+      } else {
         f = currentZone.registerUnaryCallback$2$1(f, $R._eval$1("0/"), t1._precomputed1);
         if (onError != null)
           onError = P._registerErrorHandler(onError, currentZone);
@@ -11560,10 +11634,10 @@
       this._addListener$1(new P._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>")));
       return result;
     },
-    then$1$1: function($receiver, f, $R) {
+    then$1$1($receiver, f, $R) {
       return this.then$1$2$onError($receiver, f, null, $R);
     },
-    _thenAwait$1$2: function(f, onError, $E) {
+    _thenAwait$1$2(f, onError, $E) {
       var result,
         t1 = this.$ti;
       t1._bind$1($E)._eval$1("1/(2)")._as(f);
@@ -11571,7 +11645,7 @@
       this._addListener$1(new P._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>")));
       return result;
     },
-    catchError$1: function(onError) {
+    catchError$1(onError) {
       var t1 = this.$ti,
         t2 = $.Zone__current,
         result = new P._Future(t2, t1);
@@ -11580,7 +11654,7 @@
       this._addListener$1(new P._FutureListener(result, 2, null, onError, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
       return result;
     },
-    whenComplete$1: function(action) {
+    whenComplete$1(action) {
       var t1, t2, result;
       type$.dynamic_Function._as(action);
       t1 = this.$ti;
@@ -11591,33 +11665,39 @@
       this._addListener$1(new P._FutureListener(result, 8, action, null, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
       return result;
     },
-    _addListener$1: function(listener) {
+    _setErrorObject$1(error) {
+      this._state = this._state & 1 | 16;
+      this._resultOrListeners = error;
+    },
+    _cloneResult$1(source) {
+      this._state = source._state & 30 | this._state & 1;
+      this._resultOrListeners = source._resultOrListeners;
+    },
+    _addListener$1(listener) {
       var source, _this = this,
         t1 = _this._state;
-      if (t1 <= 1) {
+      if (t1 <= 3) {
         listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);
         _this._resultOrListeners = listener;
       } else {
-        if (t1 === 2) {
+        if ((t1 & 4) !== 0) {
           source = type$._Future_dynamic._as(_this._resultOrListeners);
-          t1 = source._state;
-          if (t1 < 4) {
+          if ((source._state & 24) === 0) {
             source._addListener$1(listener);
             return;
           }
-          _this._state = t1;
-          _this._resultOrListeners = source._resultOrListeners;
+          _this._cloneResult$1(source);
         }
         _this._zone.scheduleMicrotask$1(new P._Future__addListener_closure(_this, listener));
       }
     },
-    _prependListeners$1: function(listeners) {
+    _prependListeners$1(listeners) {
       var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {};
       _box_0.listeners = listeners;
       if (listeners == null)
         return;
       t1 = _this._state;
-      if (t1 <= 1) {
+      if (t1 <= 3) {
         existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);
         _this._resultOrListeners = listeners;
         if (existingListeners != null) {
@@ -11627,26 +11707,24 @@
           cursor._nextListener = existingListeners;
         }
       } else {
-        if (t1 === 2) {
+        if ((t1 & 4) !== 0) {
           source = type$._Future_dynamic._as(_this._resultOrListeners);
-          t1 = source._state;
-          if (t1 < 4) {
+          if ((source._state & 24) === 0) {
             source._prependListeners$1(listeners);
             return;
           }
-          _this._state = t1;
-          _this._resultOrListeners = source._resultOrListeners;
+          _this._cloneResult$1(source);
         }
         _box_0.listeners = _this._reverseListeners$1(listeners);
         _this._zone.scheduleMicrotask$1(new P._Future__prependListeners_closure(_box_0, _this));
       }
     },
-    _removeListeners$0: function() {
+    _removeListeners$0() {
       var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners);
       this._resultOrListeners = null;
       return this._reverseListeners$1(current);
     },
-    _reverseListeners$1: function(listeners) {
+    _reverseListeners$1(listeners) {
       var current, prev, next;
       for (current = listeners, prev = null; current != null; prev = current, current = next) {
         next = current._nextListener;
@@ -11654,9 +11732,9 @@
       }
       return prev;
     },
-    _chainForeignFuture$1: function(source) {
+    _chainForeignFuture$1(source) {
       var e, s, exception, _this = this;
-      _this._state = 1;
+      _this._state ^= 2;
       try {
         source.then$1$2$onError(0, new P._Future__chainForeignFuture_closure(_this), new P._Future__chainForeignFuture_closure0(_this), type$.Null);
       } catch (exception) {
@@ -11665,7 +11743,7 @@
         P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(_this, e, s));
       }
     },
-    _complete$1: function(value) {
+    _complete$1(value) {
       var listeners, _this = this,
         t1 = _this.$ti;
       t1._eval$1("1/")._as(value);
@@ -11677,29 +11755,27 @@
       else {
         listeners = _this._removeListeners$0();
         t1._precomputed1._as(value);
-        _this._state = 4;
+        _this._state = 8;
         _this._resultOrListeners = value;
         P._Future__propagateToListeners(_this, listeners);
       }
     },
-    _completeWithValue$1: function(value) {
+    _completeWithValue$1(value) {
       var listeners, _this = this;
       _this.$ti._precomputed1._as(value);
       listeners = _this._removeListeners$0();
-      _this._state = 4;
+      _this._state = 8;
       _this._resultOrListeners = value;
       P._Future__propagateToListeners(_this, listeners);
     },
-    _completeError$2: function(error, stackTrace) {
-      var listeners, t1, _this = this;
+    _completeError$2(error, stackTrace) {
+      var listeners;
       type$.StackTrace._as(stackTrace);
-      listeners = _this._removeListeners$0();
-      t1 = P.AsyncError$(error, stackTrace);
-      _this._state = 8;
-      _this._resultOrListeners = t1;
-      P._Future__propagateToListeners(_this, listeners);
+      listeners = this._removeListeners$0();
+      this._setErrorObject$1(P.AsyncError$(error, stackTrace));
+      P._Future__propagateToListeners(this, listeners);
     },
-    _asyncComplete$1: function(value) {
+    _asyncComplete$1(value) {
       var t1 = this.$ti;
       t1._eval$1("1/")._as(value);
       if (t1._eval$1("Future<1>")._is(value)) {
@@ -11708,19 +11784,19 @@
       }
       this._asyncCompleteWithValue$1(t1._precomputed1._as(value));
     },
-    _asyncCompleteWithValue$1: function(value) {
+    _asyncCompleteWithValue$1(value) {
       var _this = this;
       _this.$ti._precomputed1._as(value);
-      _this._state = 1;
+      _this._state ^= 2;
       _this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteWithValue_closure(_this, value));
     },
-    _chainFuture$1: function(value) {
+    _chainFuture$1(value) {
       var _this = this,
         t1 = _this.$ti;
       t1._eval$1("Future<1>")._as(value);
       if (t1._is(value)) {
-        if (value._state === 8) {
-          _this._state = 1;
+        if ((value._state & 16) !== 0) {
+          _this._state ^= 2;
           _this._zone.scheduleMicrotask$1(new P._Future__chainFuture_closure(_this, value));
         } else
           P._Future__chainCoreFuture(value, _this);
@@ -11728,34 +11804,30 @@
       }
       _this._chainForeignFuture$1(value);
     },
-    _asyncCompleteError$2: function(error, stackTrace) {
+    _asyncCompleteError$2(error, stackTrace) {
       type$.StackTrace._as(stackTrace);
-      this._state = 1;
+      this._state ^= 2;
       this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteError_closure(this, error, stackTrace));
     },
     $isFuture: 1
   };
   P._Future__addListener_closure.prototype = {
-    call$0: function() {
+    call$0() {
       P._Future__propagateToListeners(this.$this, this.listener);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._Future__prependListeners_closure.prototype = {
-    call$0: function() {
+    call$0() {
       P._Future__propagateToListeners(this.$this, this._box_0.listeners);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._Future__chainForeignFuture_closure.prototype = {
-    call$1: function(value) {
+    call$1(value) {
       var error, stackTrace, exception,
         t1 = this.$this;
-      t1._state = 0;
+      t1._state ^= 2;
       try {
         t1._completeWithValue$1(t1.$ti._precomputed1._as(value));
       } catch (exception) {
@@ -11767,47 +11839,37 @@
     $signature: 7
   };
   P._Future__chainForeignFuture_closure0.prototype = {
-    call$2: function(error, stackTrace) {
+    call$2(error, stackTrace) {
       this.$this._completeError$2(error, type$.StackTrace._as(stackTrace));
     },
-    "call*": "call$2",
-    $requiredArgCount: 2,
     $signature: 9
   };
   P._Future__chainForeignFuture_closure1.prototype = {
-    call$0: function() {
+    call$0() {
       this.$this._completeError$2(this.e, this.s);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._Future__asyncCompleteWithValue_closure.prototype = {
-    call$0: function() {
+    call$0() {
       this.$this._completeWithValue$1(this.value);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._Future__chainFuture_closure.prototype = {
-    call$0: function() {
+    call$0() {
       P._Future__chainCoreFuture(this.value, this.$this);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._Future__asyncCompleteError_closure.prototype = {
-    call$0: function() {
+    call$0() {
       this.$this._completeError$2(this.error, this.stackTrace);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = {
-    call$0: function() {
+    call$0() {
       var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;
       try {
         t1 = _this._box_0.listener;
@@ -11830,8 +11892,8 @@
         t2.listenerHasError = true;
         return;
       }
-      if (completeResult instanceof P._Future && completeResult._state >= 4) {
-        if (completeResult._state === 8) {
+      if (completeResult instanceof P._Future && (completeResult._state & 24) !== 0) {
+        if ((completeResult._state & 16) !== 0) {
           t1 = _this._box_0;
           t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners);
           t1.listenerHasError = true;
@@ -11848,13 +11910,13 @@
     $signature: 0
   };
   P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = {
-    call$1: function(_) {
+    call$1(_) {
       return this.originalSource;
     },
     $signature: 98
   };
   P._Future__propagateToListeners_handleValueCallback.prototype = {
-    call$0: function() {
+    call$0() {
       var e, s, t1, t2, t3, t4, t5, exception;
       try {
         t1 = this._box_0;
@@ -11874,7 +11936,7 @@
     $signature: 0
   };
   P._Future__propagateToListeners_handleError.prototype = {
-    call$0: function() {
+    call$0() {
       var asyncError, e, s, t1, exception, t2, t3, t4, _this = this;
       try {
         asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
@@ -11901,21 +11963,21 @@
   };
   P._AsyncCallbackEntry.prototype = {};
   P.Stream.prototype = {
-    map$1$1: function(_, convert, $S) {
+    map$1$1(_, convert, $S) {
       var t1 = H._instanceType(this);
       return new P._MapStream(t1._bind$1($S)._eval$1("1(Stream.T)")._as(convert), this, t1._eval$1("@<Stream.T>")._bind$1($S)._eval$1("_MapStream<1,2>"));
     },
-    map$1: function($receiver, convert) {
+    map$1($receiver, convert) {
       return this.map$1$1($receiver, convert, type$.dynamic);
     },
-    get$length: function(_) {
+    get$length(_) {
       var t1 = {},
         future = new P._Future($.Zone__current, type$._Future_int);
       t1.count = 0;
       this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1, this), true, new P.Stream_length_closure0(t1, future), future.get$_completeError());
       return future;
     },
-    get$first: function(_) {
+    get$first(_) {
       var future = new P._Future($.Zone__current, H._instanceType(this)._eval$1("_Future<Stream.T>")),
         subscription = this.listen$4$cancelOnError$onDone$onError(null, true, new P.Stream_first_closure(future), future.get$_completeError());
       subscription.onData$1(new P.Stream_first_closure0(this, subscription, future));
@@ -11923,24 +11985,22 @@
     }
   };
   P.Stream_length_closure.prototype = {
-    call$1: function(_) {
+    call$1(_) {
       H._instanceType(this.$this)._eval$1("Stream.T")._as(_);
       ++this._box_0.count;
     },
-    $signature: function() {
+    $signature() {
       return H._instanceType(this.$this)._eval$1("~(Stream.T)");
     }
   };
   P.Stream_length_closure0.prototype = {
-    call$0: function() {
+    call$0() {
       this.future._complete$1(this._box_0.count);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P.Stream_first_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var e, s, t1, exception;
       try {
         t1 = H.IterableElementError_noElement();
@@ -11951,40 +12011,38 @@
         P._completeWithErrorCallback(this.future, e, s);
       }
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P.Stream_first_closure0.prototype = {
-    call$1: function(value) {
+    call$1(value) {
       P._cancelAndValue(this.subscription, this.future, H._instanceType(this.$this)._eval$1("Stream.T")._as(value));
     },
-    $signature: function() {
+    $signature() {
       return H._instanceType(this.$this)._eval$1("~(Stream.T)");
     }
   };
   P.StreamSubscription.prototype = {};
   P.StreamView.prototype = {
-    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
       return this._stream.listen$4$cancelOnError$onDone$onError(this.$ti._eval$1("~(1)?")._as(onData), cancelOnError, type$.nullable_void_Function._as(onDone), onError);
     },
-    listen$3$onDone$onError: function(onData, onDone, onError) {
+    listen$3$onDone$onError(onData, onDone, onError) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
     },
-    listen$2$onDone: function(onData, onDone) {
+    listen$2$onDone(onData, onDone) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null);
     }
   };
   P.StreamTransformerBase.prototype = {$isStreamTransformer: 1};
   P._StreamController.prototype = {
-    get$_pendingEvents: function() {
+    get$_pendingEvents() {
       var t1, _this = this;
       if ((_this._state & 8) === 0)
         return H._instanceType(_this)._eval$1("_PendingEvents<1>?")._as(_this._varData);
       t1 = H._instanceType(_this);
       return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$varData());
     },
-    _ensurePendingEvents$0: function() {
+    _ensurePendingEvents$0() {
       var events, t1, _this = this;
       if ((_this._state & 8) === 0) {
         events = _this._varData;
@@ -11996,24 +12054,24 @@
       events = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$varData();
       return t1._eval$1("_StreamImplEvents<1>")._as(events);
     },
-    get$_subscription: function() {
+    get$_subscription() {
       var varData = this._varData;
       if ((this._state & 8) !== 0)
         varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData).get$varData();
       return H._instanceType(this)._eval$1("_ControllerSubscription<1>")._as(varData);
     },
-    _badEventState$0: function() {
+    _badEventState$0() {
       if ((this._state & 4) !== 0)
         return new P.StateError("Cannot add event after closing");
       return new P.StateError("Cannot add event while adding a stream");
     },
-    _ensureDoneFuture$0: function() {
+    _ensureDoneFuture$0() {
       var t1 = this._doneFuture;
       if (t1 == null)
         t1 = this._doneFuture = (this._state & 2) !== 0 ? $.$get$Future__nullFuture() : new P._Future($.Zone__current, type$._Future_void);
       return t1;
     },
-    add$1: function(_, value) {
+    add$1(_, value) {
       var t2, _this = this,
         t1 = H._instanceType(_this);
       t1._precomputed1._as(value);
@@ -12025,7 +12083,7 @@
       else if ((t2 & 3) === 0)
         _this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value, t1._eval$1("_DelayedData<1>")));
     },
-    addError$2: function(error, stackTrace) {
+    addError$2(error, stackTrace) {
       var replacement, t1, _this = this;
       type$.nullable_StackTrace._as(stackTrace);
       H.checkNotNullable(error, "error", type$.Object);
@@ -12043,10 +12101,10 @@
       else if ((t1 & 3) === 0)
         _this._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, stackTrace));
     },
-    addError$1: function(error) {
+    addError$1(error) {
       return this.addError$2(error, null);
     },
-    close$0: function(_) {
+    close$0(_) {
       var _this = this,
         t1 = _this._state;
       if ((t1 & 4) !== 0)
@@ -12060,7 +12118,7 @@
         _this._ensurePendingEvents$0().add$1(0, C.C__DelayedDone);
       return _this._ensureDoneFuture$0();
     },
-    _subscribe$4: function(onData, onError, onDone, cancelOnError) {
+    _subscribe$4(onData, onError, onDone, cancelOnError) {
       var t2, t3, t4, t5, t6, subscription, pendingEvents, addState, _this = this,
         t1 = H._instanceType(_this);
       t1._eval$1("~(1)?")._as(onData);
@@ -12085,7 +12143,7 @@
       subscription._guardCallback$1(new P._StreamController__subscribe_closure(_this));
       return subscription;
     },
-    _recordCancel$1: function(subscription) {
+    _recordCancel$1(subscription) {
       var result, onCancel, cancelResult, e, s, exception, result0, _this = this,
         t1 = H._instanceType(_this);
       t1._eval$1("StreamSubscription<1>")._as(subscription);
@@ -12124,53 +12182,51 @@
     $is_EventDispatch: 1
   };
   P._StreamController__subscribe_closure.prototype = {
-    call$0: function() {
+    call$0() {
       P._runGuarded(this.$this.onListen);
     },
     $signature: 0
   };
   P._StreamController__recordCancel_complete.prototype = {
-    call$0: function() {
+    call$0() {
       var doneFuture = this.$this._doneFuture;
-      if (doneFuture != null && doneFuture._state === 0)
+      if (doneFuture != null && (doneFuture._state & 30) === 0)
         doneFuture._asyncComplete$1(null);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._SyncStreamControllerDispatch.prototype = {
-    _sendData$1: function(data) {
+    _sendData$1(data) {
       this.$ti._precomputed1._as(data);
       this.get$_subscription()._add$1(0, data);
     },
-    _sendError$2: function(error, stackTrace) {
+    _sendError$2(error, stackTrace) {
       this.get$_subscription()._addError$2(error, stackTrace);
     },
-    _sendDone$0: function() {
+    _sendDone$0() {
       this.get$_subscription()._close$0();
     }
   };
   P._AsyncStreamControllerDispatch.prototype = {
-    _sendData$1: function(data) {
+    _sendData$1(data) {
       var t1 = this.$ti;
       t1._precomputed1._as(data);
       this.get$_subscription()._addPending$1(new P._DelayedData(data, t1._eval$1("_DelayedData<1>")));
     },
-    _sendError$2: function(error, stackTrace) {
+    _sendError$2(error, stackTrace) {
       this.get$_subscription()._addPending$1(new P._DelayedError(error, stackTrace));
     },
-    _sendDone$0: function() {
+    _sendDone$0() {
       this.get$_subscription()._addPending$1(C.C__DelayedDone);
     }
   };
   P._AsyncStreamController.prototype = {};
   P._SyncStreamController.prototype = {};
   P._ControllerStream.prototype = {
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return (H.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0;
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (this === other)
@@ -12179,10 +12235,10 @@
     }
   };
   P._ControllerSubscription.prototype = {
-    _onCancel$0: function() {
+    _onCancel$0() {
       return this._controller._recordCancel$1(this);
     },
-    _onPause$0: function() {
+    _onPause$0() {
       var t1 = this._controller,
         t2 = H._instanceType(t1);
       t2._eval$1("StreamSubscription<1>")._as(this);
@@ -12190,7 +12246,7 @@
         t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).pause$0(0);
       P._runGuarded(t1.onPause);
     },
-    _onResume$0: function() {
+    _onResume$0() {
       var t1 = this._controller,
         t2 = H._instanceType(t1);
       t2._eval$1("StreamSubscription<1>")._as(this);
@@ -12200,22 +12256,22 @@
     }
   };
   P._StreamSinkWrapper.prototype = {
-    add$1: function(_, data) {
+    add$1(_, data) {
       this._async$_target.add$1(0, this.$ti._precomputed1._as(data));
     },
-    addError$2: function(error, stackTrace) {
+    addError$2(error, stackTrace) {
       this._async$_target.addError$2(error, stackTrace);
     },
-    addError$1: function(error) {
+    addError$1(error) {
       return this.addError$2(error, null);
     },
-    close$0: function(_) {
+    close$0(_) {
       return this._async$_target.close$0(0);
     },
     $isStreamSink: 1
   };
   P._BufferingStreamSubscription.prototype = {
-    _setPendingEvents$1: function(pendingEvents) {
+    _setPendingEvents$1(pendingEvents) {
       var _this = this;
       H._instanceType(_this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>?")._as(pendingEvents);
       if (pendingEvents == null)
@@ -12226,11 +12282,11 @@
         pendingEvents.schedule$1(_this);
       }
     },
-    onData$1: function(handleData) {
+    onData$1(handleData) {
       var t1 = H._instanceType(this);
       this.set$_async$_onData(P._BufferingStreamSubscription__registerDataHandler(this._zone, t1._eval$1("~(_BufferingStreamSubscription.T)?")._as(handleData), t1._eval$1("_BufferingStreamSubscription.T")));
     },
-    pause$0: function(_) {
+    pause$0(_) {
       var t2, t3, _this = this,
         t1 = _this._state;
       if ((t1 & 8) !== 0)
@@ -12246,7 +12302,7 @@
       if ((t1 & 4) === 0 && (t2 & 32) === 0)
         _this._guardCallback$1(_this.get$_onPause());
     },
-    resume$0: function(_) {
+    resume$0(_) {
       var _this = this,
         t1 = _this._state;
       if ((t1 & 8) !== 0)
@@ -12264,7 +12320,7 @@
           }
       }
     },
-    cancel$0: function(_) {
+    cancel$0(_) {
       var _this = this,
         t1 = (_this._state & 4294967279) >>> 0;
       _this._state = t1;
@@ -12273,7 +12329,7 @@
       t1 = _this._cancelFuture;
       return t1 == null ? $.$get$Future__nullFuture() : t1;
     },
-    asFuture$1$1: function(futureValue, $E) {
+    asFuture$1$1(futureValue, $E) {
       var result, t1 = {};
       $E._eval$1("0?")._as(futureValue);
       t1.resultValue = null;
@@ -12283,7 +12339,7 @@
       this._onError = new P._BufferingStreamSubscription_asFuture_closure0(this, result);
       return result;
     },
-    _cancel$0: function() {
+    _cancel$0() {
       var t2, _this = this,
         t1 = _this._state = (_this._state | 8) >>> 0;
       if ((t1 & 64) !== 0) {
@@ -12295,7 +12351,7 @@
         _this.set$_pending(null);
       _this._cancelFuture = _this._onCancel$0();
     },
-    _add$1: function(_, data) {
+    _add$1(_, data) {
       var t2, _this = this,
         t1 = H._instanceType(_this);
       t1._eval$1("_BufferingStreamSubscription.T")._as(data);
@@ -12307,7 +12363,7 @@
       else
         _this._addPending$1(new P._DelayedData(data, t1._eval$1("_DelayedData<_BufferingStreamSubscription.T>")));
     },
-    _addError$2: function(error, stackTrace) {
+    _addError$2(error, stackTrace) {
       var t1 = this._state;
       if ((t1 & 8) !== 0)
         return;
@@ -12316,7 +12372,7 @@
       else
         this._addPending$1(new P._DelayedError(error, stackTrace));
     },
-    _close$0: function() {
+    _close$0() {
       var _this = this,
         t1 = _this._state;
       if ((t1 & 8) !== 0)
@@ -12328,14 +12384,14 @@
       else
         _this._addPending$1(C.C__DelayedDone);
     },
-    _onPause$0: function() {
+    _onPause$0() {
     },
-    _onResume$0: function() {
+    _onResume$0() {
     },
-    _onCancel$0: function() {
+    _onCancel$0() {
       return null;
     },
-    _addPending$1: function($event) {
+    _addPending$1($event) {
       var _this = this,
         t1 = H._instanceType(_this),
         pending = t1._eval$1("_StreamImplEvents<_BufferingStreamSubscription.T>?")._as(_this._pending);
@@ -12351,7 +12407,7 @@
           pending.schedule$1(_this);
       }
     },
-    _sendData$1: function(data) {
+    _sendData$1(data) {
       var t2, _this = this,
         t1 = H._instanceType(_this)._eval$1("_BufferingStreamSubscription.T");
       t1._as(data);
@@ -12361,7 +12417,7 @@
       _this._state = (_this._state & 4294967263) >>> 0;
       _this._checkState$1((t2 & 4) !== 0);
     },
-    _sendError$2: function(error, stackTrace) {
+    _sendError$2(error, stackTrace) {
       var cancelFuture, _this = this,
         t1 = _this._state,
         t2 = new P._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace);
@@ -12378,7 +12434,7 @@
         _this._checkState$1((t1 & 4) !== 0);
       }
     },
-    _sendDone$0: function() {
+    _sendDone$0() {
       var cancelFuture, _this = this,
         t1 = new P._BufferingStreamSubscription__sendDone_sendDone(_this);
       _this._cancel$0();
@@ -12389,7 +12445,7 @@
       else
         t1.call$0();
     },
-    _guardCallback$1: function(callback) {
+    _guardCallback$1(callback) {
       var t1, _this = this;
       type$.void_Function._as(callback);
       t1 = _this._state;
@@ -12398,7 +12454,7 @@
       _this._state = (_this._state & 4294967263) >>> 0;
       _this._checkState$1((t1 & 4) !== 0);
     },
-    _checkState$1: function(wasInputPaused) {
+    _checkState$1(wasInputPaused) {
       var t2, isInputPaused, _this = this,
         t1 = _this._state;
       if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent == null) {
@@ -12436,13 +12492,13 @@
       if ((t1 & 64) !== 0 && t1 < 128)
         _this._pending.schedule$1(_this);
     },
-    set$_async$_onData: function(_onData) {
+    set$_async$_onData(_onData) {
       this._async$_onData = H._instanceType(this)._eval$1("~(_BufferingStreamSubscription.T)")._as(_onData);
     },
-    set$_onDone: function(_onDone) {
+    set$_onDone(_onDone) {
       this._onDone = type$.void_Function._as(_onDone);
     },
-    set$_pending: function(_pending) {
+    set$_pending(_pending) {
       this._pending = H._instanceType(this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>?")._as(_pending);
     },
     $isStreamSubscription: 1,
@@ -12450,15 +12506,13 @@
     $is_EventDispatch: 1
   };
   P._BufferingStreamSubscription_asFuture_closure.prototype = {
-    call$0: function() {
+    call$0() {
       this.result._complete$1(this._box_0.resultValue);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._BufferingStreamSubscription_asFuture_closure0.prototype = {
-    call$2: function(error, stackTrace) {
+    call$2(error, stackTrace) {
       var cancelFuture, t1;
       type$.StackTrace._as(stackTrace);
       cancelFuture = this.$this.cancel$0(0);
@@ -12468,20 +12522,16 @@
       else
         t1._completeError$2(error, stackTrace);
     },
-    "call*": "call$2",
-    $requiredArgCount: 2,
     $signature: 9
   };
   P._BufferingStreamSubscription_asFuture__closure.prototype = {
-    call$0: function() {
+    call$0() {
       this.result._completeError$2(this.error, this.stackTrace);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 2
   };
   P._BufferingStreamSubscription__sendError_sendError.prototype = {
-    call$0: function() {
+    call$0() {
       var onError, t3, t4,
         t1 = this.$this,
         t2 = t1._state;
@@ -12498,12 +12548,10 @@
         t4.runUnaryGuarded$1$2(type$.void_Function_Object._as(onError), t2, t3);
       t1._state = (t1._state & 4294967263) >>> 0;
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._BufferingStreamSubscription__sendDone_sendDone.prototype = {
-    call$0: function() {
+    call$0() {
       var t1 = this.$this,
         t2 = t1._state;
       if ((t2 & 16) === 0)
@@ -12512,62 +12560,60 @@
       t1._zone.runGuarded$1(t1._onDone);
       t1._state = (t1._state & 4294967263) >>> 0;
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._StreamImpl.prototype = {
-    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
       var t1 = this.$ti;
       t1._eval$1("~(1)?")._as(onData);
       type$.nullable_void_Function._as(onDone);
       return this._controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true);
     },
-    listen$2$onError: function(onData, onError) {
+    listen$2$onError(onData, onError) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
     },
-    listen$3$onDone$onError: function(onData, onDone, onError) {
+    listen$3$onDone$onError(onData, onDone, onError) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
     },
-    listen$2$cancelOnError: function(onData, cancelOnError) {
+    listen$2$cancelOnError(onData, cancelOnError) {
       return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
     },
-    listen$2$onDone: function(onData, onDone) {
+    listen$2$onDone(onData, onDone) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null);
     }
   };
   P._DelayedEvent.prototype = {
-    set$next: function(_, next) {
+    set$next(_, next) {
       this.next = type$.nullable__DelayedEvent_dynamic._as(next);
     },
-    get$next: function(receiver) {
+    get$next(receiver) {
       return this.next;
     }
   };
   P._DelayedData.prototype = {
-    perform$1: function(dispatch) {
+    perform$1(dispatch) {
       this.$ti._eval$1("_EventDispatch<1>")._as(dispatch)._sendData$1(this.value);
     }
   };
   P._DelayedError.prototype = {
-    perform$1: function(dispatch) {
+    perform$1(dispatch) {
       dispatch._sendError$2(this.error, this.stackTrace);
     }
   };
   P._DelayedDone.prototype = {
-    perform$1: function(dispatch) {
+    perform$1(dispatch) {
       dispatch._sendDone$0();
     },
-    get$next: function(_) {
+    get$next(_) {
       return null;
     },
-    set$next: function(_, _0) {
+    set$next(_, _0) {
       throw H.wrapException(P.StateError$("No events after a done."));
     },
     $is_DelayedEvent: 1
   };
   P._PendingEvents.prototype = {
-    schedule$1: function(dispatch) {
+    schedule$1(dispatch) {
       var t1, _this = this;
       _this.$ti._eval$1("_EventDispatch<1>")._as(dispatch);
       t1 = _this._state;
@@ -12582,7 +12628,7 @@
     }
   };
   P._PendingEvents_schedule_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var t2, $event, nextEvent,
         t1 = this.$this,
         oldState = t1._state;
@@ -12597,12 +12643,10 @@
         t1.lastPendingEvent = null;
       $event.perform$1(t2);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._StreamImplEvents.prototype = {
-    add$1: function(_, $event) {
+    add$1(_, $event) {
       var _this = this,
         lastEvent = _this.lastPendingEvent;
       if (lastEvent == null)
@@ -12615,15 +12659,13 @@
   };
   P._StreamIterator.prototype = {};
   P._cancelAndValue_closure.prototype = {
-    call$0: function() {
+    call$0() {
       return this.future._complete$1(this.value);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._ForwardingStream.prototype = {
-    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
       var t2, t3, t4, t5, t6, t7,
         t1 = this.$ti;
       t1._eval$1("~(2)?")._as(onData);
@@ -12638,36 +12680,36 @@
       t2.set$_subscription(this._source.listen$3$onDone$onError(t2.get$_handleData(), t2.get$_handleDone(), t2.get$_handleError()));
       return t2;
     },
-    listen$2$onError: function(onData, onError) {
+    listen$2$onError(onData, onError) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
     },
-    listen$3$onDone$onError: function(onData, onDone, onError) {
+    listen$3$onDone$onError(onData, onDone, onError) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
     }
   };
   P._ForwardingStreamSubscription.prototype = {
-    _add$1: function(_, data) {
+    _add$1(_, data) {
       this.$ti._rest[1]._as(data);
       if ((this._state & 2) !== 0)
         return;
       this.super$_BufferingStreamSubscription$_add(0, data);
     },
-    _addError$2: function(error, stackTrace) {
+    _addError$2(error, stackTrace) {
       if ((this._state & 2) !== 0)
         return;
       this.super$_BufferingStreamSubscription$_addError(error, stackTrace);
     },
-    _onPause$0: function() {
+    _onPause$0() {
       var t1 = this._subscription;
       if (t1 != null)
         t1.pause$0(0);
     },
-    _onResume$0: function() {
+    _onResume$0() {
       var t1 = this._subscription;
       if (t1 != null)
         t1.resume$0(0);
     },
-    _onCancel$0: function() {
+    _onCancel$0() {
       var subscription = this._subscription;
       if (subscription != null) {
         this.set$_subscription(null);
@@ -12675,22 +12717,22 @@
       }
       return null;
     },
-    _handleData$1: function(data) {
+    _handleData$1(data) {
       this._stream._handleData$2(this.$ti._precomputed1._as(data), this);
     },
-    _handleError$2: function(error, stackTrace) {
+    _handleError$2(error, stackTrace) {
       type$.StackTrace._as(stackTrace);
       this._stream.$ti._eval$1("_EventSink<2>")._as(this)._addError$2(error, stackTrace);
     },
-    _handleDone$0: function() {
+    _handleDone$0() {
       this._stream.$ti._eval$1("_EventSink<2>")._as(this)._close$0();
     },
-    set$_subscription: function(_subscription) {
+    set$_subscription(_subscription) {
       this._subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription);
     }
   };
   P._MapStream.prototype = {
-    _handleData$2: function(inputEvent, sink) {
+    _handleData$2(inputEvent, sink) {
       var outputEvent, e, s, exception, error, stackTrace, replacement,
         t1 = this.$ti;
       t1._precomputed1._as(inputEvent);
@@ -12722,29 +12764,50 @@
   P._RegisterUnaryZoneFunction.prototype = {};
   P._RegisterBinaryZoneFunction.prototype = {};
   P._ZoneSpecification.prototype = {$isZoneSpecification: 1};
-  P._ZoneDelegate.prototype = {
-    handleUncaughtError$3: function(zone, error, stackTrace) {
-      var implementation, implZone;
+  P._ZoneDelegate.prototype = {$isZoneDelegate: 1};
+  P._Zone.prototype = {
+    _processUncaughtError$3(zone, error, stackTrace) {
+      var implZone, handler, parentDelegate, parentZone, currentZone, e, s, implementation, t1, exception;
       type$.StackTrace._as(stackTrace);
-      implementation = this._delegationTarget.get$_handleUncaughtError();
+      implementation = this.get$_handleUncaughtError();
       implZone = implementation.zone;
-      return implementation.$function.call$5(implZone, implZone.get$_parentDelegate(), zone, error, stackTrace);
+      if (implZone === C.C__RootZone) {
+        P._rootHandleError(error, stackTrace);
+        return;
+      }
+      handler = implementation.$function;
+      parentDelegate = implZone.get$_parentDelegate();
+      t1 = J.get$parent$z(implZone);
+      t1.toString;
+      parentZone = t1;
+      currentZone = $.Zone__current;
+      try {
+        $.Zone__current = parentZone;
+        handler.call$5(implZone, parentDelegate, zone, error, stackTrace);
+        $.Zone__current = currentZone;
+      } catch (exception) {
+        e = H.unwrapException(exception);
+        s = H.getTraceFromException(exception);
+        $.Zone__current = currentZone;
+        t1 = e;
+        t1 = (error == null ? t1 == null : error === t1) ? stackTrace : s;
+        parentZone._processUncaughtError$3(implZone, e, t1);
+      }
     },
-    $isZoneDelegate: 1
+    $isZone: 1
   };
-  P._Zone.prototype = {$isZone: 1};
   P._CustomZone.prototype = {
-    get$_delegate: function() {
+    get$_delegate() {
       var t1 = this._delegateCache;
       return t1 == null ? this._delegateCache = new P._ZoneDelegate(this) : t1;
     },
-    get$_parentDelegate: function() {
+    get$_parentDelegate() {
       return this.parent.get$_delegate();
     },
-    get$errorZone: function() {
+    get$errorZone() {
       return this._handleUncaughtError.zone;
     },
-    runGuarded$1: function(f) {
+    runGuarded$1(f) {
       var e, s, exception;
       type$.void_Function._as(f);
       try {
@@ -12752,10 +12815,10 @@
       } catch (exception) {
         e = H.unwrapException(exception);
         s = H.getTraceFromException(exception);
-        this.handleUncaughtError$2(e, s);
+        this._processUncaughtError$3(this, e, type$.StackTrace._as(s));
       }
     },
-    runUnaryGuarded$1$2: function(f, arg, $T) {
+    runUnaryGuarded$1$2(f, arg, $T) {
       var e, s, exception;
       $T._eval$1("~(0)")._as(f);
       $T._as(arg);
@@ -12764,10 +12827,10 @@
       } catch (exception) {
         e = H.unwrapException(exception);
         s = H.getTraceFromException(exception);
-        this.handleUncaughtError$2(e, s);
+        this._processUncaughtError$3(this, e, type$.StackTrace._as(s));
       }
     },
-    runBinaryGuarded$2$3: function(f, arg1, arg2, T1, T2) {
+    runBinaryGuarded$2$3(f, arg1, arg2, T1, T2) {
       var e, s, exception;
       T1._eval$1("@<0>")._bind$1(T2)._eval$1("~(1,2)")._as(f);
       T1._as(arg1);
@@ -12777,41 +12840,37 @@
       } catch (exception) {
         e = H.unwrapException(exception);
         s = H.getTraceFromException(exception);
-        this.handleUncaughtError$2(e, s);
+        this._processUncaughtError$3(this, e, type$.StackTrace._as(s));
       }
     },
-    bindCallback$1$1: function(f, $R) {
+    bindCallback$1$1(f, $R) {
       return new P._CustomZone_bindCallback_closure(this, this.registerCallback$1$1($R._eval$1("0()")._as(f), $R), $R);
     },
-    bindUnaryCallback$2$1: function(f, $R, $T) {
+    bindUnaryCallback$2$1(f, $R, $T) {
       return new P._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$2$1($R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f), $R, $T), $T, $R);
     },
-    bindCallbackGuarded$1: function(f) {
+    bindCallbackGuarded$1(f) {
       return new P._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1$1(type$.void_Function._as(f), type$.void));
     },
-    bindUnaryCallbackGuarded$1$1: function(f, $T) {
+    bindUnaryCallbackGuarded$1$1(f, $T) {
       return new P._CustomZone_bindUnaryCallbackGuarded_closure(this, this.registerUnaryCallback$2$1($T._eval$1("~(0)")._as(f), type$.void, $T), $T);
     },
-    handleUncaughtError$2: function(error, stackTrace) {
-      var implementation, t1;
-      type$.StackTrace._as(stackTrace);
-      implementation = this._handleUncaughtError;
-      t1 = implementation.zone;
-      return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, error, stackTrace);
+    handleUncaughtError$2(error, stackTrace) {
+      this._processUncaughtError$3(this, error, type$.StackTrace._as(stackTrace));
     },
-    fork$2$specification$zoneValues: function(specification, zoneValues) {
+    fork$2$specification$zoneValues(specification, zoneValues) {
       var implementation = this._fork,
         t1 = implementation.zone;
       return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, specification, zoneValues);
     },
-    run$1$1: function(f, $R) {
+    run$1$1(f, $R) {
       var implementation, t1;
       $R._eval$1("0()")._as(f);
       implementation = this._run;
       t1 = implementation.zone;
       return implementation.$function.call$1$4(t1, t1.get$_parentDelegate(), this, f, $R);
     },
-    runUnary$2$2: function(f, arg, $R, $T) {
+    runUnary$2$2(f, arg, $R, $T) {
       var implementation, t1;
       $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f);
       $T._as(arg);
@@ -12819,7 +12878,7 @@
       t1 = implementation.zone;
       return implementation.$function.call$2$5(t1, t1.get$_parentDelegate(), this, f, arg, $R, $T);
     },
-    runBinary$3$3: function(f, arg1, arg2, $R, T1, T2) {
+    runBinary$3$3(f, arg1, arg2, $R, T1, T2) {
       var implementation, t1;
       $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
       T1._as(arg1);
@@ -12828,28 +12887,28 @@
       t1 = implementation.zone;
       return implementation.$function.call$3$6(t1, t1.get$_parentDelegate(), this, f, arg1, arg2, $R, T1, T2);
     },
-    registerCallback$1$1: function(callback, $R) {
+    registerCallback$1$1(callback, $R) {
       var implementation, t1;
       $R._eval$1("0()")._as(callback);
       implementation = this._registerCallback;
       t1 = implementation.zone;
       return implementation.$function.call$1$4(t1, t1.get$_parentDelegate(), this, callback, $R);
     },
-    registerUnaryCallback$2$1: function(callback, $R, $T) {
+    registerUnaryCallback$2$1(callback, $R, $T) {
       var implementation, t1;
       $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(callback);
       implementation = this._registerUnaryCallback;
       t1 = implementation.zone;
       return implementation.$function.call$2$4(t1, t1.get$_parentDelegate(), this, callback, $R, $T);
     },
-    registerBinaryCallback$3$1: function(callback, $R, T1, T2) {
+    registerBinaryCallback$3$1(callback, $R, T1, T2) {
       var implementation, t1;
       $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(callback);
       implementation = this._registerBinaryCallback;
       t1 = implementation.zone;
       return implementation.$function.call$3$4(t1, t1.get$_parentDelegate(), this, callback, $R, T1, T2);
     },
-    errorCallback$2: function(error, stackTrace) {
+    errorCallback$2(error, stackTrace) {
       var implementation, implementationZone;
       type$.nullable_StackTrace._as(stackTrace);
       H.checkNotNullable(error, "error", type$.Object);
@@ -12859,108 +12918,109 @@
         return null;
       return implementation.$function.call$5(implementationZone, implementationZone.get$_parentDelegate(), this, error, stackTrace);
     },
-    scheduleMicrotask$1: function(f) {
+    scheduleMicrotask$1(f) {
       var implementation, t1;
       type$.void_Function._as(f);
       implementation = this._scheduleMicrotask;
       t1 = implementation.zone;
       return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f);
     },
-    createTimer$2: function(duration, f) {
+    createTimer$2(duration, f) {
       var implementation, t1;
       type$.void_Function._as(f);
       implementation = this._createTimer;
       t1 = implementation.zone;
       return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, duration, f);
     },
-    print$1: function(_, line) {
+    print$1(_, line) {
       var implementation = this._print,
         t1 = implementation.zone;
       return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, line);
     },
-    set$_handleUncaughtError: function(_handleUncaughtError) {
+    set$_handleUncaughtError(_handleUncaughtError) {
       this._handleUncaughtError = type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace._as(_handleUncaughtError);
     },
-    get$_run: function() {
+    get$_run() {
       return this._run;
     },
-    get$_runUnary: function() {
+    get$_runUnary() {
       return this._runUnary;
     },
-    get$_runBinary: function() {
+    get$_runBinary() {
       return this._runBinary;
     },
-    get$_registerCallback: function() {
+    get$_registerCallback() {
       return this._registerCallback;
     },
-    get$_registerUnaryCallback: function() {
+    get$_registerUnaryCallback() {
       return this._registerUnaryCallback;
     },
-    get$_registerBinaryCallback: function() {
+    get$_registerBinaryCallback() {
       return this._registerBinaryCallback;
     },
-    get$_errorCallback: function() {
+    get$_errorCallback() {
       return this._errorCallback;
     },
-    get$_scheduleMicrotask: function() {
+    get$_scheduleMicrotask() {
       return this._scheduleMicrotask;
     },
-    get$_createTimer: function() {
+    get$_createTimer() {
       return this._createTimer;
     },
-    get$_createPeriodicTimer: function() {
+    get$_createPeriodicTimer() {
       return this._createPeriodicTimer;
     },
-    get$_print: function() {
+    get$_print() {
       return this._print;
     },
-    get$_fork: function() {
+    get$_fork() {
       return this._fork;
     },
-    get$_handleUncaughtError: function() {
+    get$_handleUncaughtError() {
       return this._handleUncaughtError;
     },
-    get$_async$_map: function() {
+    get$parent(receiver) {
+      return this.parent;
+    },
+    get$_async$_map() {
       return this._async$_map;
     }
   };
   P._CustomZone_bindCallback_closure.prototype = {
-    call$0: function() {
+    call$0() {
       return this.$this.run$1$1(this.registered, this.R);
     },
-    $signature: function() {
+    $signature() {
       return this.R._eval$1("0()");
     }
   };
   P._CustomZone_bindUnaryCallback_closure.prototype = {
-    call$1: function(arg) {
+    call$1(arg) {
       var _this = this,
         t1 = _this.T;
       return _this.$this.runUnary$2$2(_this.registered, t1._as(arg), _this.R, t1);
     },
-    $signature: function() {
+    $signature() {
       return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)");
     }
   };
   P._CustomZone_bindCallbackGuarded_closure.prototype = {
-    call$0: function() {
+    call$0() {
       return this.$this.runGuarded$1(this.registered);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._CustomZone_bindUnaryCallbackGuarded_closure.prototype = {
-    call$1: function(arg) {
+    call$1(arg) {
       var t1 = this.T;
       return this.$this.runUnaryGuarded$1$2(this.registered, t1._as(arg), t1);
     },
-    $signature: function() {
+    $signature() {
       return this.T._eval$1("~(0)");
     }
   };
-  P._rootHandleUncaughtError_closure.prototype = {
-    call$0: function() {
+  P._rootHandleError_closure.prototype = {
+    call$0() {
       var error = H.wrapException(this.error);
       error.stack = J.toString$0$(this.stackTrace);
       throw error;
@@ -12968,76 +13028,79 @@
     $signature: 0
   };
   P._RootZone.prototype = {
-    get$_run: function() {
+    get$_run() {
       return C._RunNullaryZoneFunction__RootZone__rootRun;
     },
-    get$_runUnary: function() {
+    get$_runUnary() {
       return C._RunUnaryZoneFunction__RootZone__rootRunUnary;
     },
-    get$_runBinary: function() {
+    get$_runBinary() {
       return C._RunBinaryZoneFunction__RootZone__rootRunBinary;
     },
-    get$_registerCallback: function() {
+    get$_registerCallback() {
       return C._RegisterNullaryZoneFunction__RootZone__rootRegisterCallback;
     },
-    get$_registerUnaryCallback: function() {
+    get$_registerUnaryCallback() {
       return C._RegisterUnaryZoneFunction_Bqo;
     },
-    get$_registerBinaryCallback: function() {
+    get$_registerBinaryCallback() {
       return C._RegisterBinaryZoneFunction_kGu;
     },
-    get$_errorCallback: function() {
+    get$_errorCallback() {
       return C._ZoneFunction__RootZone__rootErrorCallback;
     },
-    get$_scheduleMicrotask: function() {
+    get$_scheduleMicrotask() {
       return C._ZoneFunction__RootZone__rootScheduleMicrotask;
     },
-    get$_createTimer: function() {
+    get$_createTimer() {
       return C._ZoneFunction__RootZone__rootCreateTimer;
     },
-    get$_createPeriodicTimer: function() {
+    get$_createPeriodicTimer() {
       return C._ZoneFunction_3bB;
     },
-    get$_print: function() {
+    get$_print() {
       return C._ZoneFunction__RootZone__rootPrint;
     },
-    get$_fork: function() {
+    get$_fork() {
       return C._ZoneFunction__RootZone__rootFork;
     },
-    get$_handleUncaughtError: function() {
+    get$_handleUncaughtError() {
       return C._ZoneFunction_NMc;
     },
-    get$_async$_map: function() {
+    get$parent(_) {
+      return null;
+    },
+    get$_async$_map() {
       return $.$get$_RootZone__rootMap();
     },
-    get$_delegate: function() {
+    get$_delegate() {
       var t1 = $._RootZone__rootDelegate;
       return t1 == null ? $._RootZone__rootDelegate = new P._ZoneDelegate(this) : t1;
     },
-    get$_parentDelegate: function() {
+    get$_parentDelegate() {
       var t1 = $._RootZone__rootDelegate;
       return t1 == null ? $._RootZone__rootDelegate = new P._ZoneDelegate(this) : t1;
     },
-    get$errorZone: function() {
+    get$errorZone() {
       return this;
     },
-    runGuarded$1: function(f) {
-      var e, s, exception, _null = null;
+    runGuarded$1(f) {
+      var e, s, exception;
       type$.void_Function._as(f);
       try {
         if (C.C__RootZone === $.Zone__current) {
           f.call$0();
           return;
         }
-        P._rootRun(_null, _null, this, f, type$.void);
+        P._rootRun(null, null, this, f, type$.void);
       } catch (exception) {
         e = H.unwrapException(exception);
         s = H.getTraceFromException(exception);
-        P._rootHandleUncaughtError(_null, _null, this, e, type$.StackTrace._as(s));
+        P._rootHandleError(e, type$.StackTrace._as(s));
       }
     },
-    runUnaryGuarded$1$2: function(f, arg, $T) {
-      var e, s, exception, _null = null;
+    runUnaryGuarded$1$2(f, arg, $T) {
+      var e, s, exception;
       $T._eval$1("~(0)")._as(f);
       $T._as(arg);
       try {
@@ -13045,15 +13108,15 @@
           f.call$1(arg);
           return;
         }
-        P._rootRunUnary(_null, _null, this, f, arg, type$.void, $T);
+        P._rootRunUnary(null, null, this, f, arg, type$.void, $T);
       } catch (exception) {
         e = H.unwrapException(exception);
         s = H.getTraceFromException(exception);
-        P._rootHandleUncaughtError(_null, _null, this, e, type$.StackTrace._as(s));
+        P._rootHandleError(e, type$.StackTrace._as(s));
       }
     },
-    runBinaryGuarded$2$3: function(f, arg1, arg2, T1, T2) {
-      var e, s, exception, _null = null;
+    runBinaryGuarded$2$3(f, arg1, arg2, T1, T2) {
+      var e, s, exception;
       T1._eval$1("@<0>")._bind$1(T2)._eval$1("~(1,2)")._as(f);
       T1._as(arg1);
       T2._as(arg2);
@@ -13062,42 +13125,45 @@
           f.call$2(arg1, arg2);
           return;
         }
-        P._rootRunBinary(_null, _null, this, f, arg1, arg2, type$.void, T1, T2);
+        P._rootRunBinary(null, null, this, f, arg1, arg2, type$.void, T1, T2);
       } catch (exception) {
         e = H.unwrapException(exception);
         s = H.getTraceFromException(exception);
-        P._rootHandleUncaughtError(_null, _null, this, e, type$.StackTrace._as(s));
+        P._rootHandleError(e, type$.StackTrace._as(s));
       }
     },
-    bindCallback$1$1: function(f, $R) {
+    bindCallback$1$1(f, $R) {
       return new P._RootZone_bindCallback_closure(this, $R._eval$1("0()")._as(f), $R);
     },
-    bindCallbackGuarded$1: function(f) {
+    bindUnaryCallback$2$1(f, $R, $T) {
+      return new P._RootZone_bindUnaryCallback_closure(this, $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f), $T, $R);
+    },
+    bindCallbackGuarded$1(f) {
       return new P._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f));
     },
-    bindUnaryCallbackGuarded$1$1: function(f, $T) {
+    bindUnaryCallbackGuarded$1$1(f, $T) {
       return new P._RootZone_bindUnaryCallbackGuarded_closure(this, $T._eval$1("~(0)")._as(f), $T);
     },
-    handleUncaughtError$2: function(error, stackTrace) {
-      P._rootHandleUncaughtError(null, null, this, error, type$.StackTrace._as(stackTrace));
+    handleUncaughtError$2(error, stackTrace) {
+      P._rootHandleError(error, type$.StackTrace._as(stackTrace));
     },
-    fork$2$specification$zoneValues: function(specification, zoneValues) {
+    fork$2$specification$zoneValues(specification, zoneValues) {
       return P._rootFork(null, null, this, specification, zoneValues);
     },
-    run$1$1: function(f, $R) {
+    run$1$1(f, $R) {
       $R._eval$1("0()")._as(f);
       if ($.Zone__current === C.C__RootZone)
         return f.call$0();
       return P._rootRun(null, null, this, f, $R);
     },
-    runUnary$2$2: function(f, arg, $R, $T) {
+    runUnary$2$2(f, arg, $R, $T) {
       $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f);
       $T._as(arg);
       if ($.Zone__current === C.C__RootZone)
         return f.call$1(arg);
       return P._rootRunUnary(null, null, this, f, arg, $R, $T);
     },
-    runBinary$3$3: function(f, arg1, arg2, $R, T1, T2) {
+    runBinary$3$3(f, arg1, arg2, $R, T1, T2) {
       $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
       T1._as(arg1);
       T2._as(arg2);
@@ -13105,57 +13171,65 @@
         return f.call$2(arg1, arg2);
       return P._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2);
     },
-    registerCallback$1$1: function(f, $R) {
+    registerCallback$1$1(f, $R) {
       return $R._eval$1("0()")._as(f);
     },
-    registerUnaryCallback$2$1: function(f, $R, $T) {
+    registerUnaryCallback$2$1(f, $R, $T) {
       return $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f);
     },
-    registerBinaryCallback$3$1: function(f, $R, T1, T2) {
+    registerBinaryCallback$3$1(f, $R, T1, T2) {
       return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
     },
-    errorCallback$2: function(error, stackTrace) {
+    errorCallback$2(error, stackTrace) {
       type$.nullable_StackTrace._as(stackTrace);
       return null;
     },
-    scheduleMicrotask$1: function(f) {
+    scheduleMicrotask$1(f) {
       P._rootScheduleMicrotask(null, null, this, type$.void_Function._as(f));
     },
-    createTimer$2: function(duration, f) {
+    createTimer$2(duration, f) {
       return P.Timer__createTimer(duration, type$.void_Function._as(f));
     },
-    print$1: function(_, line) {
+    print$1(_, line) {
       H.printString(line);
     }
   };
   P._RootZone_bindCallback_closure.prototype = {
-    call$0: function() {
+    call$0() {
       return this.$this.run$1$1(this.f, this.R);
     },
-    $signature: function() {
+    $signature() {
       return this.R._eval$1("0()");
     }
   };
+  P._RootZone_bindUnaryCallback_closure.prototype = {
+    call$1(arg) {
+      var _this = this,
+        t1 = _this.T;
+      return _this.$this.runUnary$2$2(_this.f, t1._as(arg), _this.R, t1);
+    },
+    $signature() {
+      return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)");
+    }
+  };
   P._RootZone_bindCallbackGuarded_closure.prototype = {
-    call$0: function() {
+    call$0() {
       return this.$this.runGuarded$1(this.f);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   P._RootZone_bindUnaryCallbackGuarded_closure.prototype = {
-    call$1: function(arg) {
+    call$1(arg) {
       var t1 = this.T;
       return this.$this.runUnaryGuarded$1$2(this.f, t1._as(arg), t1);
     },
-    $signature: function() {
+    $signature() {
       return this.T._eval$1("~(0)");
     }
   };
   P.runZonedGuarded_closure.prototype = {
-    call$5: function($self, $parent, zone, error, stackTrace) {
-      var e, s, exception,
+    call$5($self, $parent, zone, error, stackTrace) {
+      var e, s, exception, t2, t3,
         t1 = type$.StackTrace;
       t1._as(stackTrace);
       try {
@@ -13163,26 +13237,27 @@
       } catch (exception) {
         e = H.unwrapException(exception);
         s = H.getTraceFromException(exception);
-        t1 = e;
-        if (t1 == null ? error == null : t1 === error)
-          $parent.handleUncaughtError$3(zone, error, stackTrace);
+        t2 = e;
+        t3 = $parent._delegationTarget;
+        if (t2 == null ? error == null : t2 === error)
+          t3._processUncaughtError$3(zone, error, stackTrace);
         else
-          $parent.handleUncaughtError$3(zone, e, s);
+          t3._processUncaughtError$3(zone, e, t1._as(s));
       }
     },
     $signature: 60
   };
   P._HashMap.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return this._collection$_length;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this._collection$_length === 0;
     },
-    get$keys: function(_) {
+    get$keys(_) {
       return new P._HashMapKeyIterable(this, H._instanceType(this)._eval$1("_HashMapKeyIterable<1>"));
     },
-    containsKey$1: function(_, key) {
+    containsKey$1(_, key) {
       var strings, nums;
       if (typeof key == "string" && key !== "__proto__") {
         strings = this._collection$_strings;
@@ -13193,13 +13268,13 @@
       } else
         return this._containsKey$1(key);
     },
-    _containsKey$1: function(key) {
+    _containsKey$1(key) {
       var rest = this._collection$_rest;
       if (rest == null)
         return false;
       return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0;
     },
-    $index: function(_, key) {
+    $index(_, key) {
       var strings, t1, nums;
       if (typeof key == "string" && key !== "__proto__") {
         strings = this._collection$_strings;
@@ -13212,7 +13287,7 @@
       } else
         return this._get$1(0, key);
     },
-    _get$1: function(_, key) {
+    _get$1(_, key) {
       var bucket, index,
         rest = this._collection$_rest;
       if (rest == null)
@@ -13221,7 +13296,7 @@
       index = this._findBucketIndex$2(bucket, key);
       return index < 0 ? null : bucket[index + 1];
     },
-    $indexSet: function(_, key, value) {
+    $indexSet(_, key, value) {
       var strings, nums, _this = this,
         t1 = H._instanceType(_this);
       t1._precomputed1._as(key);
@@ -13235,7 +13310,7 @@
       } else
         _this._set$2(key, value);
     },
-    _set$2: function(key, value) {
+    _set$2(key, value) {
       var rest, hash, bucket, index, _this = this,
         t1 = H._instanceType(_this);
       t1._precomputed1._as(key);
@@ -13260,7 +13335,7 @@
         }
       }
     },
-    remove$1: function(_, key) {
+    remove$1(_, key) {
       var _this = this;
       if (typeof key == "string" && key !== "__proto__")
         return _this._removeHashTableEntry$2(_this._collection$_strings, key);
@@ -13269,7 +13344,7 @@
       else
         return _this._remove$1(0, key);
     },
-    _remove$1: function(_, key) {
+    _remove$1(_, key) {
       var hash, bucket, index, result, _this = this,
         rest = _this._collection$_rest;
       if (rest == null)
@@ -13286,7 +13361,7 @@
         delete rest[hash];
       return result;
     },
-    forEach$1: function(_, action) {
+    forEach$1(_, action) {
       var keys, $length, i, key, _this = this,
         t1 = H._instanceType(_this);
       t1._eval$1("~(1,2)")._as(action);
@@ -13298,7 +13373,7 @@
           throw H.wrapException(P.ConcurrentModificationError$(_this));
       }
     },
-    _computeKeys$0: function() {
+    _computeKeys$0() {
       var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
         result = _this._keys;
       if (result != null)
@@ -13338,7 +13413,7 @@
       }
       return _this._keys = result;
     },
-    _collection$_addHashTableEntry$3: function(table, key, value) {
+    _collection$_addHashTableEntry$3(table, key, value) {
       var t1 = H._instanceType(this);
       t1._precomputed1._as(key);
       t1._rest[1]._as(value);
@@ -13348,7 +13423,7 @@
       }
       P._HashMap__setTableEntry(table, key, value);
     },
-    _removeHashTableEntry$2: function(table, key) {
+    _removeHashTableEntry$2(table, key) {
       var value;
       if (table != null && table[key] != null) {
         value = H._instanceType(this)._rest[1]._as(P._HashMap__getTableEntry(table, key));
@@ -13359,13 +13434,13 @@
       } else
         return null;
     },
-    _computeHashCode$1: function(key) {
+    _computeHashCode$1(key) {
       return J.get$hashCode$(key) & 1073741823;
     },
-    _getBucket$2: function(table, key) {
+    _getBucket$2(table, key) {
       return table[this._computeHashCode$1(key)];
     },
-    _findBucketIndex$2: function(bucket, key) {
+    _findBucketIndex$2(bucket, key) {
       var $length, i;
       if (bucket == null)
         return -1;
@@ -13378,10 +13453,10 @@
     $isHashMap: 1
   };
   P._IdentityHashMap.prototype = {
-    _computeHashCode$1: function(key) {
+    _computeHashCode$1(key) {
       return H.objectHashCode(key) & 1073741823;
     },
-    _findBucketIndex$2: function(bucket, key) {
+    _findBucketIndex$2(bucket, key) {
       var $length, i, t1;
       if (bucket == null)
         return -1;
@@ -13395,29 +13470,29 @@
     }
   };
   P._CustomHashMap.prototype = {
-    $index: function(_, key) {
+    $index(_, key) {
       if (!H.boolConversionCheck(this._validKey.call$1(key)))
         return null;
       return this.super$_HashMap$_get(0, key);
     },
-    $indexSet: function(_, key, value) {
+    $indexSet(_, key, value) {
       var t1 = this.$ti;
       this.super$_HashMap$_set(t1._precomputed1._as(key), t1._rest[1]._as(value));
     },
-    containsKey$1: function(_, key) {
+    containsKey$1(_, key) {
       if (!H.boolConversionCheck(this._validKey.call$1(key)))
         return false;
       return this.super$_HashMap$_containsKey(key);
     },
-    remove$1: function(_, key) {
+    remove$1(_, key) {
       if (!H.boolConversionCheck(this._validKey.call$1(key)))
         return null;
       return this.super$_HashMap$_remove(0, key);
     },
-    _computeHashCode$1: function(key) {
+    _computeHashCode$1(key) {
       return this._hashCode.call$1(this.$ti._precomputed1._as(key)) & 1073741823;
     },
-    _findBucketIndex$2: function(bucket, key) {
+    _findBucketIndex$2(bucket, key) {
       var $length, t1, t2, i;
       if (bucket == null)
         return -1;
@@ -13429,31 +13504,31 @@
     }
   };
   P._CustomHashMap_closure.prototype = {
-    call$1: function(v) {
+    call$1(v) {
       return this.K._is(v);
     },
-    $signature: 17
+    $signature: 11
   };
   P._HashMapKeyIterable.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return this._collection$_map._collection$_length;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this._collection$_map._collection$_length === 0;
     },
-    get$iterator: function(_) {
+    get$iterator(_) {
       var t1 = this._collection$_map;
       return new P._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>"));
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       return this._collection$_map.containsKey$1(0, element);
     }
   };
   P._HashMapKeyIterator.prototype = {
-    get$current: function(_) {
+    get$current(_) {
       return this._collection$_current;
     },
-    moveNext$0: function() {
+    moveNext$0() {
       var _this = this,
         keys = _this._keys,
         offset = _this._offset,
@@ -13469,25 +13544,82 @@
         return true;
       }
     },
-    set$_collection$_current: function(_current) {
+    set$_collection$_current(_current) {
       this._collection$_current = this.$ti._eval$1("1?")._as(_current);
     },
     $isIterator: 1
   };
+  P._LinkedIdentityHashMap.prototype = {
+    internalComputeHashCode$1(key) {
+      return H.objectHashCode(key) & 1073741823;
+    },
+    internalFindBucketIndex$2(bucket, key) {
+      var $length, i, t1;
+      if (bucket == null)
+        return -1;
+      $length = bucket.length;
+      for (i = 0; i < $length; ++i) {
+        t1 = bucket[i].hashMapCellKey;
+        if (t1 == null ? key == null : t1 === key)
+          return i;
+      }
+      return -1;
+    }
+  };
+  P._LinkedCustomHashMap.prototype = {
+    $index(_, key) {
+      if (!H.boolConversionCheck(this._validKey.call$1(key)))
+        return null;
+      return this.super$JsLinkedHashMap$internalGet(key);
+    },
+    $indexSet(_, key, value) {
+      var t1 = this.$ti;
+      this.super$JsLinkedHashMap$internalSet(t1._precomputed1._as(key), t1._rest[1]._as(value));
+    },
+    containsKey$1(_, key) {
+      if (!H.boolConversionCheck(this._validKey.call$1(key)))
+        return false;
+      return this.super$JsLinkedHashMap$internalContainsKey(key);
+    },
+    remove$1(_, key) {
+      if (!H.boolConversionCheck(this._validKey.call$1(key)))
+        return null;
+      return this.super$JsLinkedHashMap$internalRemove(key);
+    },
+    internalComputeHashCode$1(key) {
+      return this._hashCode.call$1(this.$ti._precomputed1._as(key)) & 1073741823;
+    },
+    internalFindBucketIndex$2(bucket, key) {
+      var $length, t1, t2, i;
+      if (bucket == null)
+        return -1;
+      $length = bucket.length;
+      for (t1 = this.$ti._precomputed1, t2 = this._equals, i = 0; i < $length; ++i)
+        if (H.boolConversionCheck(t2.call$2(t1._as(bucket[i].hashMapCellKey), t1._as(key))))
+          return i;
+      return -1;
+    }
+  };
+  P._LinkedCustomHashMap_closure.prototype = {
+    call$1(v) {
+      return this.K._is(v);
+    },
+    $signature: 11
+  };
   P._HashSet.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       return new P._HashSetIterator(this, this._computeElements$0(), H._instanceType(this)._eval$1("_HashSetIterator<1>"));
     },
-    get$length: function(_) {
+    get$length(_) {
       return this._collection$_length;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this._collection$_length === 0;
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return this._collection$_length !== 0;
     },
-    contains$1: function(_, object) {
+    contains$1(_, object) {
       var strings, nums;
       if (typeof object == "string" && object !== "__proto__") {
         strings = this._collection$_strings;
@@ -13498,13 +13630,13 @@
       } else
         return this._contains$1(object);
     },
-    _contains$1: function(object) {
+    _contains$1(object) {
       var rest = this._collection$_rest;
       if (rest == null)
         return false;
       return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
     },
-    add$1: function(_, element) {
+    add$1(_, element) {
       var strings, nums, _this = this;
       H._instanceType(_this)._precomputed1._as(element);
       if (typeof element == "string" && element !== "__proto__") {
@@ -13516,7 +13648,7 @@
       } else
         return _this._collection$_add$1(0, element);
     },
-    _collection$_add$1: function(_, element) {
+    _collection$_add$1(_, element) {
       var rest, hash, bucket, _this = this;
       H._instanceType(_this)._precomputed1._as(element);
       rest = _this._collection$_rest;
@@ -13535,7 +13667,7 @@
       _this._elements = null;
       return true;
     },
-    remove$1: function(_, object) {
+    remove$1(_, object) {
       var _this = this;
       if (typeof object == "string" && object !== "__proto__")
         return _this._removeHashTableEntry$2(_this._collection$_strings, object);
@@ -13544,7 +13676,7 @@
       else
         return _this._remove$1(0, object);
     },
-    _remove$1: function(_, object) {
+    _remove$1(_, object) {
       var hash, bucket, index, _this = this,
         rest = _this._collection$_rest;
       if (rest == null)
@@ -13561,7 +13693,7 @@
         delete rest[hash];
       return true;
     },
-    _computeElements$0: function() {
+    _computeElements$0() {
       var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
         result = _this._elements;
       if (result != null)
@@ -13601,7 +13733,7 @@
       }
       return _this._elements = result;
     },
-    _collection$_addHashTableEntry$2: function(table, element) {
+    _collection$_addHashTableEntry$2(table, element) {
       H._instanceType(this)._precomputed1._as(element);
       if (table[element] != null)
         return false;
@@ -13610,7 +13742,7 @@
       this._elements = null;
       return true;
     },
-    _removeHashTableEntry$2: function(table, element) {
+    _removeHashTableEntry$2(table, element) {
       if (table != null && table[element] != null) {
         delete table[element];
         --this._collection$_length;
@@ -13619,10 +13751,10 @@
       } else
         return false;
     },
-    _computeHashCode$1: function(element) {
+    _computeHashCode$1(element) {
       return J.get$hashCode$(element) & 1073741823;
     },
-    _findBucketIndex$2: function(bucket, element) {
+    _findBucketIndex$2(bucket, element) {
       var $length, i;
       if (bucket == null)
         return -1;
@@ -13634,10 +13766,10 @@
     }
   };
   P._HashSetIterator.prototype = {
-    get$current: function(_) {
+    get$current(_) {
       return this._collection$_current;
     },
-    moveNext$0: function() {
+    moveNext$0() {
       var _this = this,
         elements = _this._elements,
         offset = _this._offset,
@@ -13653,28 +13785,28 @@
         return true;
       }
     },
-    set$_collection$_current: function(_current) {
+    set$_collection$_current(_current) {
       this._collection$_current = this.$ti._eval$1("1?")._as(_current);
     },
     $isIterator: 1
   };
   P._LinkedHashSet.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       var _this = this,
         t1 = new P._LinkedHashSetIterator(_this, _this._collection$_modifications, H._instanceType(_this)._eval$1("_LinkedHashSetIterator<1>"));
       t1._collection$_cell = _this._collection$_first;
       return t1;
     },
-    get$length: function(_) {
+    get$length(_) {
       return this._collection$_length;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this._collection$_length === 0;
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return this._collection$_length !== 0;
     },
-    contains$1: function(_, object) {
+    contains$1(_, object) {
       var strings, nums;
       if (typeof object == "string" && object !== "__proto__") {
         strings = this._collection$_strings;
@@ -13689,19 +13821,19 @@
       } else
         return this._contains$1(object);
     },
-    _contains$1: function(object) {
+    _contains$1(object) {
       var rest = this._collection$_rest;
       if (rest == null)
         return false;
       return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
     },
-    get$first: function(_) {
+    get$first(_) {
       var first = this._collection$_first;
       if (first == null)
         throw H.wrapException(P.StateError$("No elements"));
       return H._instanceType(this)._precomputed1._as(first._collection$_element);
     },
-    add$1: function(_, element) {
+    add$1(_, element) {
       var strings, nums, _this = this;
       H._instanceType(_this)._precomputed1._as(element);
       if (typeof element == "string" && element !== "__proto__") {
@@ -13713,7 +13845,7 @@
       } else
         return _this._collection$_add$1(0, element);
     },
-    _collection$_add$1: function(_, element) {
+    _collection$_add$1(_, element) {
       var rest, hash, bucket, _this = this;
       H._instanceType(_this)._precomputed1._as(element);
       rest = _this._collection$_rest;
@@ -13730,14 +13862,14 @@
       }
       return true;
     },
-    _collection$_addHashTableEntry$2: function(table, element) {
+    _collection$_addHashTableEntry$2(table, element) {
       H._instanceType(this)._precomputed1._as(element);
       if (type$.nullable__LinkedHashSetCell._as(table[element]) != null)
         return false;
       table[element] = this._collection$_newLinkedCell$1(element);
       return true;
     },
-    _collection$_newLinkedCell$1: function(element) {
+    _collection$_newLinkedCell$1(element) {
       var _this = this,
         cell = new P._LinkedHashSetCell(H._instanceType(_this)._precomputed1._as(element));
       if (_this._collection$_first == null)
@@ -13748,10 +13880,10 @@
       _this._collection$_modifications = _this._collection$_modifications + 1 & 1073741823;
       return cell;
     },
-    _computeHashCode$1: function(element) {
+    _computeHashCode$1(element) {
       return J.get$hashCode$(element) & 1073741823;
     },
-    _findBucketIndex$2: function(bucket, element) {
+    _findBucketIndex$2(bucket, element) {
       var $length, i;
       if (bucket == null)
         return -1;
@@ -13764,10 +13896,10 @@
   };
   P._LinkedHashSetCell.prototype = {};
   P._LinkedHashSetIterator.prototype = {
-    get$current: function(_) {
+    get$current(_) {
       return this._collection$_current;
     },
-    moveNext$0: function() {
+    moveNext$0() {
       var _this = this,
         cell = _this._collection$_cell,
         t1 = _this._set;
@@ -13782,73 +13914,73 @@
         return true;
       }
     },
-    set$_collection$_current: function(_current) {
+    set$_collection$_current(_current) {
       this._collection$_current = this.$ti._eval$1("1?")._as(_current);
     },
     $isIterator: 1
   };
   P.UnmodifiableListView.prototype = {
-    cast$1$0: function(_, $R) {
+    cast$1$0(_, $R) {
       return new P.UnmodifiableListView(J.cast$1$0$ax(this._collection$_source, $R), $R._eval$1("UnmodifiableListView<0>"));
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this._collection$_source);
     },
-    $index: function(_, index) {
+    $index(_, index) {
       return J.elementAt$1$ax(this._collection$_source, index);
     }
   };
   P.IterableMixin.prototype = {
-    map$1$1: function(_, f, $T) {
+    map$1$1(_, toElement, $T) {
       var t1 = this.$ti;
-      return H.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._precomputed1, $T);
+      return H.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(toElement), t1._precomputed1, $T);
     },
-    map$1: function($receiver, f) {
-      return this.map$1$1($receiver, f, type$.dynamic);
+    map$1($receiver, toElement) {
+      return this.map$1$1($receiver, toElement, type$.dynamic);
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       var t1;
-      for (t1 = this.$ti, t1 = new P._SplayTreeKeyIterator(this, H.setRuntimeTypeInfo([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")); t1.moveNext$0();)
+      for (t1 = this.$ti, t1 = new P._SplayTreeKeyIterator(this, H._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")); t1.moveNext$0();)
         if (J.$eq$(t1.get$current(t1), element))
           return true;
       return false;
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       return P.List_List$from(this, true, this.$ti._precomputed1);
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     },
-    get$length: function(_) {
+    get$length(_) {
       var count,
         t1 = this.$ti,
-        it = new P._SplayTreeKeyIterator(this, H.setRuntimeTypeInfo([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
+        it = new P._SplayTreeKeyIterator(this, H._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
       for (count = 0; it.moveNext$0();)
         ++count;
       return count;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       var t1 = this.$ti;
-      return !new P._SplayTreeKeyIterator(this, H.setRuntimeTypeInfo([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")).moveNext$0();
+      return !new P._SplayTreeKeyIterator(this, H._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")).moveNext$0();
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return this._root != null;
     },
-    skip$1: function(_, count) {
+    skip$1(_, count) {
       return H.SkipIterable_SkipIterable(this, count, this.$ti._precomputed1);
     },
-    get$first: function(_) {
+    get$first(_) {
       var t1 = this.$ti,
-        it = new P._SplayTreeKeyIterator(this, H.setRuntimeTypeInfo([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
+        it = new P._SplayTreeKeyIterator(this, H._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
       if (!it.moveNext$0())
         throw H.wrapException(H.IterableElementError_noElement());
       return it.get$current(it);
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       var t1, elementIndex, element, _this = this, _s5_ = "index";
       H.checkNotNullable(index, _s5_, type$.int);
       P.RangeError_checkNotNegative(index, _s5_);
-      for (t1 = _this.$ti, t1 = new P._SplayTreeKeyIterator(_this, H.setRuntimeTypeInfo([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), _this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")), elementIndex = 0; t1.moveNext$0();) {
+      for (t1 = _this.$ti, t1 = new P._SplayTreeKeyIterator(_this, H._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), _this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")), elementIndex = 0; t1.moveNext$0();) {
         element = t1.get$current(t1);
         if (index === elementIndex)
           return element;
@@ -13856,26 +13988,26 @@
       }
       throw H.wrapException(P.IndexError$(index, _this, _s5_, null, elementIndex));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return P.IterableBase_iterableToShortString(this, "(", ")");
     }
   };
   P.IterableBase.prototype = {};
   P.LinkedHashMap_LinkedHashMap$from_closure.prototype = {
-    call$2: function(k, v) {
+    call$2(k, v) {
       this.result.$indexSet(0, this.K._as(k), this.V._as(v));
     },
     $signature: 8
   };
   P.ListBase.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
   P.ListMixin.prototype = {
-    get$iterator: function(receiver) {
+    get$iterator(receiver) {
       return new H.ListIterator(receiver, this.get$length(receiver), H.instanceType(receiver)._eval$1("ListIterator<ListMixin.E>"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       return this.$index(receiver, index);
     },
-    forEach$1: function(receiver, action) {
+    forEach$1(receiver, action) {
       var $length, i;
       H.instanceType(receiver)._eval$1("~(ListMixin.E)")._as(action);
       $length = this.get$length(receiver);
@@ -13885,18 +14017,18 @@
           throw H.wrapException(P.ConcurrentModificationError$(receiver));
       }
     },
-    get$isEmpty: function(receiver) {
+    get$isEmpty(receiver) {
       return this.get$length(receiver) === 0;
     },
-    get$isNotEmpty: function(receiver) {
+    get$isNotEmpty(receiver) {
       return !this.get$isEmpty(receiver);
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (this.get$length(receiver) === 0)
         throw H.wrapException(H.IterableElementError_noElement());
       return this.$index(receiver, 0);
     },
-    contains$1: function(receiver, element) {
+    contains$1(receiver, element) {
       var i,
         $length = this.get$length(receiver);
       for (i = 0; i < $length; ++i) {
@@ -13907,14 +14039,14 @@
       }
       return false;
     },
-    map$1$1: function(receiver, f, $T) {
+    map$1$1(receiver, f, $T) {
       var t1 = H.instanceType(receiver);
       return new H.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListMixin.E)")._as(f), t1._eval$1("@<ListMixin.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
     },
-    map$1: function($receiver, f) {
+    map$1($receiver, f) {
       return this.map$1$1($receiver, f, type$.dynamic);
     },
-    fold$1$2: function(receiver, initialValue, combine, $T) {
+    fold$1$2(receiver, initialValue, combine, $T) {
       var $length, value, i;
       $T._as(initialValue);
       H.instanceType(receiver)._bind$1($T)._eval$1("1(1,ListMixin.E)")._as(combine);
@@ -13926,10 +14058,10 @@
       }
       return value;
     },
-    skip$1: function(receiver, count) {
+    skip$1(receiver, count) {
       return H.SubListIterable$(receiver, count, null, H.instanceType(receiver)._eval$1("ListMixin.E"));
     },
-    toList$1$growable: function(receiver, growable) {
+    toList$1$growable(receiver, growable) {
       var t1, first, result, i, _this = this;
       if (_this.get$isEmpty(receiver)) {
         t1 = J.JSArray_JSArray$growable(0, H.instanceType(receiver)._eval$1("ListMixin.E"));
@@ -13941,61 +14073,61 @@
         C.JSArray_methods.$indexSet(result, i, _this.$index(receiver, i));
       return result;
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     },
-    add$1: function(receiver, element) {
+    add$1(receiver, element) {
       var t1;
       H.instanceType(receiver)._eval$1("ListMixin.E")._as(element);
       t1 = this.get$length(receiver);
       this.set$length(receiver, t1 + 1);
       this.$indexSet(receiver, t1, element);
     },
-    cast$1$0: function(receiver, $R) {
+    cast$1$0(receiver, $R) {
       return new H.CastList(receiver, H.instanceType(receiver)._eval$1("@<ListMixin.E>")._bind$1($R)._eval$1("CastList<1,2>"));
     },
-    sort$1: function(receiver, compare) {
+    sort$1(receiver, compare) {
       var t2,
         t1 = H.instanceType(receiver);
       t1._eval$1("int(ListMixin.E,ListMixin.E)?")._as(compare);
       t2 = compare == null ? P.collection_ListMixin__compareAny$closure() : compare;
       H.Sort_sort(receiver, t2, t1._eval$1("ListMixin.E"));
     },
-    $add: function(receiver, other) {
+    $add(receiver, other) {
       var t1 = H.instanceType(receiver);
       t1._eval$1("List<ListMixin.E>")._as(other);
       t1 = P.List_List$of(receiver, true, t1._eval$1("ListMixin.E"));
       C.JSArray_methods.addAll$1(t1, other);
       return t1;
     },
-    sublist$2: function(receiver, start, end) {
+    sublist$2(receiver, start, end) {
       var listLength = this.get$length(receiver);
       if (end == null)
         end = listLength;
       P.RangeError_checkValidRange(start, end, listLength);
       return P.List_List$from(this.getRange$2(receiver, start, end), true, H.instanceType(receiver)._eval$1("ListMixin.E"));
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    getRange$2: function(receiver, start, end) {
+    getRange$2(receiver, start, end) {
       P.RangeError_checkValidRange(start, end, this.get$length(receiver));
       return H.SubListIterable$(receiver, start, end, H.instanceType(receiver)._eval$1("ListMixin.E"));
     },
-    fillRange$3: function(receiver, start, end, fill) {
+    fillRange$3(receiver, start, end, fill) {
       var i;
       H.instanceType(receiver)._eval$1("ListMixin.E?")._as(fill);
       P.RangeError_checkValidRange(start, end, this.get$length(receiver));
       for (i = start; i < end; ++i)
         this.$indexSet(receiver, i, fill);
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return P.IterableBase_iterableToFullString(receiver, "[", "]");
     }
   };
   P.MapBase.prototype = {};
   P.MapBase_mapToString_closure.prototype = {
-    call$2: function(k, v) {
+    call$2(k, v) {
       var t2,
         t1 = this._box_0;
       if (!t1.first)
@@ -14009,11 +14141,11 @@
     $signature: 18
   };
   P.MapMixin.prototype = {
-    cast$2$0: function(receiver, RK, RV) {
+    cast$2$0(receiver, RK, RV) {
       var t1 = H.instanceType(receiver);
       return P.Map_castFrom(receiver, t1._eval$1("MapMixin.K"), t1._eval$1("MapMixin.V"), RK, RV);
     },
-    forEach$1: function(receiver, action) {
+    forEach$1(receiver, action) {
       var t1, key;
       H.instanceType(receiver)._eval$1("~(MapMixin.K,MapMixin.V)")._as(action);
       for (t1 = J.get$iterator$ax(this.get$keys(receiver)); t1.moveNext$0();) {
@@ -14021,7 +14153,7 @@
         action.call$2(key, this.$index(receiver, key));
       }
     },
-    map$2$1: function(receiver, transform, K2, V2) {
+    map$2$1(receiver, transform, K2, V2) {
       var result, t1, key, entry;
       H.instanceType(receiver)._bind$1(K2)._bind$1(V2)._eval$1("MapEntry<1,2>(MapMixin.K,MapMixin.V)")._as(transform);
       result = P.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
@@ -14032,91 +14164,91 @@
       }
       return result;
     },
-    map$1: function($receiver, transform) {
+    map$1($receiver, transform) {
       return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
     },
-    containsKey$1: function(receiver, key) {
+    containsKey$1(receiver, key) {
       return J.contains$1$asx(this.get$keys(receiver), key);
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return J.get$length$asx(this.get$keys(receiver));
     },
-    get$isEmpty: function(receiver) {
+    get$isEmpty(receiver) {
       return J.get$isEmpty$asx(this.get$keys(receiver));
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return P.MapBase_mapToString(receiver);
     },
     $isMap: 1
   };
   P._UnmodifiableMapMixin.prototype = {
-    $indexSet: function(_, key, value) {
+    $indexSet(_, key, value) {
       var t1 = H._instanceType(this);
       t1._precomputed1._as(key);
       t1._rest[1]._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
     },
-    remove$1: function(_, key) {
+    remove$1(_, key) {
       throw H.wrapException(P.UnsupportedError$("Cannot modify unmodifiable map"));
     }
   };
   P.MapView.prototype = {
-    cast$2$0: function(_, RK, RV) {
+    cast$2$0(_, RK, RV) {
       return J.cast$2$0$ax(this._collection$_map, RK, RV);
     },
-    $index: function(_, key) {
+    $index(_, key) {
       return J.$index$asx(this._collection$_map, key);
     },
-    $indexSet: function(_, key, value) {
+    $indexSet(_, key, value) {
       var t1 = H._instanceType(this);
       J.$indexSet$ax(this._collection$_map, t1._precomputed1._as(key), t1._rest[1]._as(value));
     },
-    containsKey$1: function(_, key) {
+    containsKey$1(_, key) {
       return J.containsKey$1$x(this._collection$_map, key);
     },
-    forEach$1: function(_, action) {
+    forEach$1(_, action) {
       J.forEach$1$ax(this._collection$_map, H._instanceType(this)._eval$1("~(1,2)")._as(action));
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return J.get$isEmpty$asx(this._collection$_map);
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this._collection$_map);
     },
-    get$keys: function(_) {
+    get$keys(_) {
       return J.get$keys$x(this._collection$_map);
     },
-    remove$1: function(_, key) {
+    remove$1(_, key) {
       return J.remove$1$x(this._collection$_map, key);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$(this._collection$_map);
     },
-    map$2$1: function(_, transform, K2, V2) {
+    map$2$1(_, transform, K2, V2) {
       return J.map$2$1$ax(this._collection$_map, H._instanceType(this)._bind$1(K2)._bind$1(V2)._eval$1("MapEntry<1,2>(3,4)")._as(transform), K2, V2);
     },
-    map$1: function($receiver, transform) {
+    map$1($receiver, transform) {
       return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
     },
     $isMap: 1
   };
   P.UnmodifiableMapView.prototype = {
-    cast$2$0: function(_, RK, RV) {
+    cast$2$0(_, RK, RV) {
       return new P.UnmodifiableMapView(J.cast$2$0$ax(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>"));
     }
   };
   P.ListQueue.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       var _this = this;
       return new P._ListQueueIterator(_this, _this._tail, _this._modificationCount, _this._head, _this.$ti._eval$1("_ListQueueIterator<1>"));
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this._head === this._tail;
     },
-    get$length: function(_) {
+    get$length(_) {
       return (this._tail - this._head & this._table.length - 1) >>> 0;
     },
-    get$first: function(_) {
+    get$first(_) {
       var t2,
         t1 = this._head;
       if (t1 === this._tail)
@@ -14126,7 +14258,7 @@
         return H.ioore(t2, t1);
       return t2[t1];
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       var t1, t2, t3, _this = this,
         $length = _this.get$length(_this);
       if (0 > index || index >= $length)
@@ -14138,7 +14270,7 @@
         return H.ioore(t1, t3);
       return t1[t3];
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       var t1, list, i, t2, _this = this,
         mask = _this._table.length - 1,
         $length = (_this._tail - _this._head & mask) >>> 0;
@@ -14156,13 +14288,13 @@
       }
       return list;
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return P.IterableBase_iterableToFullString(this, "{", "}");
     },
-    removeFirst$0: function() {
+    removeFirst$0() {
       var t2, result, _this = this,
         t1 = _this._head;
       if (t1 === _this._tail)
@@ -14176,7 +14308,7 @@
       _this._head = (_this._head + 1 & _this._table.length - 1) >>> 0;
       return result;
     },
-    _collection$_add$1: function(_, element) {
+    _collection$_add$1(_, element) {
       var t2, t3, newTable, split, _this = this,
         t1 = _this.$ti;
       t1._precomputed1._as(element);
@@ -14198,16 +14330,16 @@
       }
       ++_this._modificationCount;
     },
-    set$_table: function(_table) {
+    set$_table(_table) {
       this._table = this.$ti._eval$1("List<1?>")._as(_table);
     },
     $isQueue: 1
   };
   P._ListQueueIterator.prototype = {
-    get$current: function(_) {
+    get$current(_) {
       return this._collection$_current;
     },
-    moveNext$0: function() {
+    moveNext$0() {
       var t2, t3, _this = this,
         t1 = _this._queue;
       if (_this._modificationCount !== t1._modificationCount)
@@ -14224,56 +14356,56 @@
       _this._collection$_position = (_this._collection$_position + 1 & t1._table.length - 1) >>> 0;
       return true;
     },
-    set$_collection$_current: function(_current) {
+    set$_collection$_current(_current) {
       this._collection$_current = this.$ti._eval$1("1?")._as(_current);
     },
     $isIterator: 1
   };
   P.SetMixin.prototype = {
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this.get$length(this) === 0;
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return this.get$length(this) !== 0;
     },
-    addAll$1: function(_, elements) {
+    addAll$1(_, elements) {
       var t1;
       for (t1 = J.get$iterator$ax(H._instanceType(this)._eval$1("Iterable<1>")._as(elements)); t1.moveNext$0();)
         this.add$1(0, t1.get$current(t1));
     },
-    containsAll$1: function(other) {
+    containsAll$1(other) {
       var t1;
       for (t1 = other._set$_set, t1 = t1.get$iterator(t1); t1.moveNext$0();)
         if (!this.contains$1(0, t1.get$current(t1)))
           return false;
       return true;
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       return P.List_List$of(this, true, H._instanceType(this)._precomputed1);
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     },
-    map$1$1: function(_, f, $T) {
+    map$1$1(_, f, $T) {
       var t1 = H._instanceType(this);
       return new H.EfficientLengthMappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
     },
-    map$1: function($receiver, f) {
+    map$1($receiver, f) {
       return this.map$1$1($receiver, f, type$.dynamic);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return P.IterableBase_iterableToFullString(this, "{", "}");
     },
-    skip$1: function(_, n) {
+    skip$1(_, n) {
       return H.SkipIterable_SkipIterable(this, n, H._instanceType(this)._precomputed1);
     },
-    get$first: function(_) {
+    get$first(_) {
       var it = this.get$iterator(this);
       if (!it.moveNext$0())
         throw H.wrapException(H.IterableElementError_noElement());
       return it.get$current(it);
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       var t1, elementIndex, element, _s5_ = "index";
       H.checkNotNullable(index, _s5_, type$.int);
       P.RangeError_checkNotNegative(index, _s5_);
@@ -14288,16 +14420,16 @@
   };
   P._SetBase.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isSet: 1};
   P._SplayTreeNode.prototype = {
-    set$_left: function(_, _left) {
+    set$_left(_, _left) {
       this._left = this.$ti._eval$1("_SplayTreeNode.1?")._as(_left);
     },
-    set$_right: function(_, _right) {
+    set$_right(_, _right) {
       this._right = this.$ti._eval$1("_SplayTreeNode.1?")._as(_right);
     }
   };
   P._SplayTreeSetNode.prototype = {};
   P._SplayTree.prototype = {
-    _splay$1: function(key) {
+    _splay$1(key) {
       var root, compare, comp, current, newTreeLeft, left, newTreeRight, right, currentLeft, currentLeft0, currentRight, currentRight0, _this = this, _null = null;
       _this.$ti._eval$1("_SplayTree.K")._as(key);
       root = _this._root;
@@ -14377,7 +14509,7 @@
       }
       return comp;
     },
-    _splayMin$1: function(node) {
+    _splayMin$1(node) {
       var nextLeft, current, nextLeft0;
       this.$ti._eval$1("_SplayTree.1")._as(node);
       nextLeft = node._left;
@@ -14388,7 +14520,7 @@
       }
       return current;
     },
-    _splayMax$1: function(node) {
+    _splayMax$1(node) {
       var nextRight, current, nextRight0;
       this.$ti._eval$1("_SplayTree.1")._as(node);
       nextRight = node._right;
@@ -14399,7 +14531,7 @@
       }
       return current;
     },
-    _remove$1: function(_, key) {
+    _remove$1(_, key) {
       var root, left, t1, root0, _this = this;
       _this.$ti._eval$1("_SplayTree.K")._as(key);
       if (_this._root == null)
@@ -14420,7 +14552,7 @@
       ++_this._modificationCount;
       return root;
     },
-    _addNewRoot$2: function(node, comp) {
+    _addNewRoot$2(node, comp) {
       var root, _this = this;
       _this.$ti._eval$1("_SplayTree.1")._as(node);
       ++_this._count;
@@ -14443,7 +14575,7 @@
       }
       _this.set$_root(node);
     },
-    get$_collection$_first: function() {
+    get$_collection$_first() {
       var _this = this,
         root = _this._root;
       if (root == null)
@@ -14453,13 +14585,13 @@
     }
   };
   P._SplayTreeIterator.prototype = {
-    get$current: function(_) {
+    get$current(_) {
       var t1 = this._path;
       if (t1.length === 0)
         return null;
       return this.$ti._rest[1]._as(C.JSArray_methods.get$last(t1)).key;
     },
-    moveNext$0: function() {
+    moveNext$0() {
       var node, next, _this = this,
         t1 = _this._modificationCount,
         t2 = _this._tree,
@@ -14513,31 +14645,31 @@
   };
   P._SplayTreeKeyIterator.prototype = {};
   P.SplayTreeSet.prototype = {
-    get$iterator: function(_) {
+    get$iterator(_) {
       var t1 = this.$ti;
-      return new P._SplayTreeKeyIterator(this, H.setRuntimeTypeInfo([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
+      return new P._SplayTreeKeyIterator(this, H._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
     },
-    get$length: function(_) {
+    get$length(_) {
       return this._count;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this._root == null;
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return this._root != null;
     },
-    get$first: function(_) {
+    get$first(_) {
       if (this._count === 0)
         throw H.wrapException(H.IterableElementError_noElement());
       return this.get$_collection$_first().key;
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       return H.boolConversionCheck(this._validKey.call$1(element)) && this._splay$1(this.$ti._precomputed1._as(element)) === 0;
     },
-    add$1: function(_, element) {
+    add$1(_, element) {
       return this._collection$_add$1(0, this.$ti._precomputed1._as(element));
     },
-    _collection$_add$1: function(_, element) {
+    _collection$_add$1(_, element) {
       var compare,
         t1 = this.$ti;
       t1._precomputed1._as(element);
@@ -14547,20 +14679,20 @@
       this._addNewRoot$2(new P._SplayTreeSetNode(element, t1._eval$1("_SplayTreeSetNode<1>")), compare);
       return true;
     },
-    remove$1: function(_, object) {
+    remove$1(_, object) {
       if (!H.boolConversionCheck(this._validKey.call$1(object)))
         return false;
       return this._remove$1(0, this.$ti._precomputed1._as(object)) != null;
     },
-    addAll$1: function(_, elements) {
+    addAll$1(_, elements) {
       var t1;
       for (t1 = J.get$iterator$ax(this.$ti._eval$1("Iterable<1>")._as(elements)); t1.moveNext$0();)
         this._collection$_add$1(0, t1.get$current(t1));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return P.IterableBase_iterableToFullString(this, "{", "}");
     },
-    set$_root: function(_root) {
+    set$_root(_root) {
       this._root = this.$ti._eval$1("_SplayTreeSetNode<1>?")._as(_root);
     },
     $isEfficientLengthIterable: 1,
@@ -14568,10 +14700,10 @@
     $isSet: 1
   };
   P.SplayTreeSet_closure.prototype = {
-    call$1: function(v) {
+    call$1(v) {
       return this.E._is(v);
     },
-    $signature: 17
+    $signature: 11
   };
   P._ListBase_Object_ListMixin.prototype = {};
   P._SplayTreeSet__SplayTree_IterableMixin.prototype = {};
@@ -14579,7 +14711,7 @@
   P._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {};
   P.__SetBase_Object_SetMixin.prototype = {};
   P._JsonMap.prototype = {
-    $index: function(_, key) {
+    $index(_, key) {
       var result,
         t1 = this._processed;
       if (t1 == null)
@@ -14591,7 +14723,7 @@
         return typeof result == "undefined" ? this._process$1(key) : result;
       }
     },
-    get$length: function(_) {
+    get$length(_) {
       var t1;
       if (this._processed == null) {
         t1 = this._data;
@@ -14600,10 +14732,10 @@
         t1 = this._convert$_computeKeys$0().length;
       return t1;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this.get$length(this) === 0;
     },
-    get$keys: function(_) {
+    get$keys(_) {
       var t1;
       if (this._processed == null) {
         t1 = this._data;
@@ -14611,7 +14743,7 @@
       }
       return new P._JsonMapKeyIterable(this);
     },
-    $indexSet: function(_, key, value) {
+    $indexSet(_, key, value) {
       var processed, original, _this = this;
       H._asStringS(key);
       if (_this._processed == null)
@@ -14625,19 +14757,19 @@
       } else
         _this._upgrade$0().$indexSet(0, key, value);
     },
-    containsKey$1: function(_, key) {
+    containsKey$1(_, key) {
       if (this._processed == null)
         return this._data.containsKey$1(0, key);
       if (typeof key != "string")
         return false;
       return Object.prototype.hasOwnProperty.call(this._original, key);
     },
-    remove$1: function(_, key) {
+    remove$1(_, key) {
       if (this._processed != null && !this.containsKey$1(0, key))
         return null;
       return this._upgrade$0().remove$1(0, key);
     },
-    forEach$1: function(_, f) {
+    forEach$1(_, f) {
       var keys, i, key, value, _this = this;
       type$.void_Function_String_dynamic._as(f);
       if (_this._processed == null)
@@ -14655,13 +14787,13 @@
           throw H.wrapException(P.ConcurrentModificationError$(_this));
       }
     },
-    _convert$_computeKeys$0: function() {
+    _convert$_computeKeys$0() {
       var keys = type$.nullable_List_dynamic._as(this._data);
       if (keys == null)
-        keys = this._data = H.setRuntimeTypeInfo(Object.keys(this._original), type$.JSArray_String);
+        keys = this._data = H._setArrayType(Object.keys(this._original), type$.JSArray_String);
       return keys;
     },
-    _upgrade$0: function() {
+    _upgrade$0() {
       var result, keys, i, t1, key, _this = this;
       if (_this._processed == null)
         return _this._data;
@@ -14678,7 +14810,7 @@
       _this._original = _this._processed = null;
       return _this._data = result;
     },
-    _process$1: function(key) {
+    _process$1(key) {
       var result;
       if (!Object.prototype.hasOwnProperty.call(this._original, key))
         return null;
@@ -14687,11 +14819,11 @@
     }
   };
   P._JsonMapKeyIterable.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       var t1 = this._parent;
       return t1.get$length(t1);
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       var t1 = this._parent;
       if (t1._processed == null)
         t1 = t1.get$keys(t1).elementAt$1(0, index);
@@ -14703,7 +14835,7 @@
       }
       return t1;
     },
-    get$iterator: function(_) {
+    get$iterator(_) {
       var t1 = this._parent;
       if (t1._processed == null) {
         t1 = t1.get$keys(t1);
@@ -14714,12 +14846,12 @@
       }
       return t1;
     },
-    contains$1: function(_, key) {
+    contains$1(_, key) {
       return this._parent.containsKey$1(0, key);
     }
   };
   P.Base64Codec.prototype = {
-    normalize$3: function(_, source, start, end) {
+    normalize$3(_, source, start, end) {
       var inverseAlphabet, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, digit2, char0, value, t1, t2, endLength, $length,
         _s31_ = "Invalid base64 encoding length ";
       end = P.RangeError_checkValidRange(start, end, source.length);
@@ -14770,8 +14902,8 @@
               t1 = buffer;
             } else
               t1 = buffer;
-            t1._contents += C.JSString_methods.substring$2(source, sliceStart, i);
-            t1._contents += H.Primitives_stringFromCharCode(char);
+            t2 = t1._contents += C.JSString_methods.substring$2(source, sliceStart, i);
+            t1._contents = t2 + H.Primitives_stringFromCharCode(char);
             sliceStart = i0;
             continue;
           }
@@ -14814,40 +14946,40 @@
   P.Converter.prototype = {};
   P.Encoding.prototype = {};
   P.JsonUnsupportedObjectError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var safeString = P.Error_safeToString(this.unsupportedObject);
       return (this.cause != null ? "Converting object to an encodable object failed:" : "Converting object did not return an encodable object:") + " " + safeString;
     }
   };
   P.JsonCyclicError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Cyclic error in JSON stringify";
     }
   };
   P.JsonCodec.prototype = {
-    decode$2$reviver: function(_, source, reviver) {
+    decode$2$reviver(_, source, reviver) {
       var t1;
       type$.nullable_nullable_Object_Function_2_nullable_Object_and_nullable_Object._as(reviver);
       t1 = P._parseJson(source, this.get$decoder()._reviver);
       return t1;
     },
-    encode$2$toEncodable: function(value, toEncodable) {
+    encode$2$toEncodable(value, toEncodable) {
       var t1;
       type$.nullable_nullable_Object_Function_dynamic._as(toEncodable);
       t1 = P._JsonStringStringifier_stringify(value, this.get$encoder()._toEncodable, null);
       return t1;
     },
-    get$encoder: function() {
+    get$encoder() {
       return C.JsonEncoder_null;
     },
-    get$decoder: function() {
+    get$decoder() {
       return C.JsonDecoder_null;
     }
   };
   P.JsonEncoder.prototype = {};
   P.JsonDecoder.prototype = {};
   P._JsonStringifier.prototype = {
-    writeStringContent$1: function(s) {
+    writeStringContent$1(s) {
       var t1, offset, i, charCode, t2, t3, _this = this,
         $length = s.length;
       for (t1 = J.getInterceptor$s(s), offset = 0, i = 0; i < $length; ++i) {
@@ -14929,7 +15061,7 @@
       else if (offset < $length)
         _this.writeStringSlice$3(s, offset, $length);
     },
-    _checkCycle$1: function(object) {
+    _checkCycle$1(object) {
       var t1, t2, i, t3;
       for (t1 = this._seen, t2 = t1.length, i = 0; i < t2; ++i) {
         t3 = t1[i];
@@ -14938,7 +15070,7 @@
       }
       C.JSArray_methods.add$1(t1, object);
     },
-    writeObject$1: function(object) {
+    writeObject$1(object) {
       var customJson, e, t1, exception, _this = this;
       if (_this.writeJsonValue$1(object))
         return;
@@ -14959,7 +15091,7 @@
         throw H.wrapException(t1);
       }
     },
-    writeJsonValue$1: function(object) {
+    writeJsonValue$1(object) {
       var t1, success, _this = this;
       if (typeof object == "number") {
         if (!isFinite(object))
@@ -14999,7 +15131,7 @@
       } else
         return false;
     },
-    writeList$1: function(list) {
+    writeList$1(list) {
       var t1, i, _this = this;
       _this.writeString$1("[");
       t1 = J.getInterceptor$asx(list);
@@ -15012,7 +15144,7 @@
       }
       _this.writeString$1("]");
     },
-    writeMap$1: function(map) {
+    writeMap$1(map) {
       var t2, keyValueList, i, separator, _this = this, _box_0 = {},
         t1 = J.getInterceptor$asx(map);
       if (t1.get$isEmpty(map)) {
@@ -15044,7 +15176,7 @@
     }
   };
   P._JsonStringifier_writeMap_closure.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       var t1, t2;
       if (typeof key != "string")
         this._box_0.allStringKeys = false;
@@ -15056,30 +15188,30 @@
     $signature: 18
   };
   P._JsonStringStringifier.prototype = {
-    get$_partialResult: function() {
+    get$_partialResult() {
       var t1 = this._convert$_sink;
       return t1 instanceof P.StringBuffer ? t1.toString$0(0) : null;
     },
-    writeNumber$1: function(number) {
+    writeNumber$1(number) {
       this._convert$_sink.write$1(0, C.JSNumber_methods.toString$0(number));
     },
-    writeString$1: function(string) {
+    writeString$1(string) {
       this._convert$_sink.write$1(0, string);
     },
-    writeStringSlice$3: function(string, start, end) {
+    writeStringSlice$3(string, start, end) {
       this._convert$_sink.write$1(0, C.JSString_methods.substring$2(string, start, end));
     },
-    writeCharCode$1: function(charCode) {
+    writeCharCode$1(charCode) {
       this._convert$_sink.writeCharCode$1(charCode);
     }
   };
   P.Utf8Codec.prototype = {
-    get$encoder: function() {
+    get$encoder() {
       return C.C_Utf8Encoder;
     }
   };
   P.Utf8Encoder.prototype = {
-    convert$1: function(string) {
+    convert$1(string) {
       var end, $length, t1, encoder;
       H._asStringS(string);
       end = P.RangeError_checkValidRange(0, null, string.length);
@@ -15096,7 +15228,7 @@
     }
   };
   P._Utf8Encoder.prototype = {
-    _writeReplacementCharacter$0: function() {
+    _writeReplacementCharacter$0() {
       var _this = this,
         t1 = _this._buffer,
         t2 = _this._bufferIndex,
@@ -15114,7 +15246,7 @@
         return H.ioore(t1, t2);
       t1[t2] = 189;
     },
-    _writeSurrogate$2: function(leadingSurrogate, nextCodeUnit) {
+    _writeSurrogate$2(leadingSurrogate, nextCodeUnit) {
       var rune, t1, t2, t3, t4, _this = this;
       if ((nextCodeUnit & 64512) === 56320) {
         rune = 65536 + ((leadingSurrogate & 1023) << 10) | nextCodeUnit & 1023;
@@ -15143,7 +15275,7 @@
         return false;
       }
     },
-    _fillBuffer$3: function(str, start, end) {
+    _fillBuffer$3(str, start, end) {
       var t1, t2, t3, stringIndex, codeUnit, t4, stringIndex0, t5, _this = this;
       if (start !== end && (J.codeUnitAt$1$s(str, end - 1) & 64512) === 55296)
         --end;
@@ -15201,19 +15333,19 @@
     }
   };
   P._symbolMapToStringMap_closure.prototype = {
-    call$2: function(key, value) {
-      this.result.$indexSet(0, type$.Symbol._as(key).__internal$_name, value);
+    call$2(key, value) {
+      this.result.$indexSet(0, type$.Symbol._as(key)._name, value);
     },
     $signature: 19
   };
   P.NoSuchMethodError_toString_closure.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       var t1, t2, t3;
       type$.Symbol._as(key);
       t1 = this.sb;
       t2 = this._box_0;
       t1._contents += t2.comma;
-      t3 = t1._contents += H.S(key.__internal$_name);
+      t3 = t1._contents += H.S(key._name);
       t1._contents = t3 + ": ";
       t1._contents += P.Error_safeToString(value);
       t2.comma = ", ";
@@ -15221,7 +15353,7 @@
     $signature: 19
   };
   P._BigIntImpl.prototype = {
-    $negate: function(_) {
+    $negate(_) {
       var t2, t3, _this = this,
         t1 = _this._used;
       if (t1 === 0)
@@ -15231,7 +15363,7 @@
       t1 = P._BigIntImpl__normalize(t1, t3);
       return new P._BigIntImpl(t1 === 0 ? false : t2, t3, t1);
     },
-    _drShift$1: function(n) {
+    _drShift$1(n) {
       var resultUsed, digits, resultDigits, t1, i, t2, t3, result, _this = this,
         used = _this._used;
       if (used === 0)
@@ -15262,12 +15394,12 @@
         }
       return result;
     },
-    $shr: function(_, shiftAmount) {
+    $shr(_, shiftAmount) {
       var t1, digitShift, bitShift, resultUsed, digits, resultDigits, t2, result, i, _this = this;
       if (typeof shiftAmount !== "number")
         return shiftAmount.$lt();
       if (shiftAmount < 0)
-        throw H.wrapException(P.ArgumentError$("shift-amount must be posititve " + shiftAmount));
+        throw H.wrapException(P.ArgumentError$("shift-amount must be posititve " + shiftAmount, null));
       t1 = _this._used;
       if (t1 === 0)
         return _this;
@@ -15299,7 +15431,7 @@
       }
       return result;
     },
-    compareTo$1: function(_, other) {
+    compareTo$1(_, other) {
       var t1, result;
       type$._BigIntImpl._as(other);
       t1 = this._isNegative;
@@ -15309,7 +15441,7 @@
       }
       return t1 ? -1 : 1;
     },
-    _absAddSetSign$2: function(other, isNegative) {
+    _absAddSetSign$2(other, isNegative) {
       var resultUsed, resultDigits, t1, _this = this,
         used = _this._used,
         otherUsed = other._used;
@@ -15325,7 +15457,7 @@
       t1 = P._BigIntImpl__normalize(resultUsed, resultDigits);
       return new P._BigIntImpl(t1 === 0 ? false : isNegative, resultDigits, t1);
     },
-    _absSubSetSign$2: function(other, isNegative) {
+    _absSubSetSign$2(other, isNegative) {
       var otherUsed, resultDigits, t1, _this = this,
         used = _this._used;
       if (used === 0)
@@ -15338,7 +15470,7 @@
       t1 = P._BigIntImpl__normalize(used, resultDigits);
       return new P._BigIntImpl(t1 === 0 ? false : isNegative, resultDigits, t1);
     },
-    $add: function(_, other) {
+    $add(_, other) {
       var t1, t2, isNegative, _this = this;
       type$._BigIntImpl._as(other);
       t1 = _this._used;
@@ -15354,7 +15486,7 @@
         return _this._absSubSetSign$2(other, isNegative);
       return other._absSubSetSign$2(_this, !isNegative);
     },
-    $sub: function(_, other) {
+    $sub(_, other) {
       var t1, t2, isNegative, _this = this;
       type$._BigIntImpl._as(other);
       t1 = _this._used;
@@ -15370,7 +15502,7 @@
         return _this._absSubSetSign$2(other, isNegative);
       return other._absSubSetSign$2(_this, !isNegative);
     },
-    $mul: function(_, other) {
+    $mul(_, other) {
       var resultUsed, digits, otherDigits, resultDigits, t1, i, t2,
         used = this._used,
         otherUsed = other._used;
@@ -15390,51 +15522,39 @@
       t2 = P._BigIntImpl__normalize(resultUsed, resultDigits);
       return new P._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2);
     },
-    _div$1: function(other) {
-      var t1, t2, t3, t4, lastQuo_used, quo_digits, quo;
+    _div$1(other) {
+      var t1, t2, lastQuo_used, quo_digits, quo;
       if (this._used < other._used)
         return $.$get$_BigIntImpl_zero();
       this._divRem$1(other);
-      t1 = $._BigIntImpl____lastQuoRemUsed;
-      t2 = t1 === $ ? H.throwExpression(H.LateError$fieldNI("_lastQuoRemUsed")) : t1;
-      t3 = $._BigIntImpl____lastRemUsed;
-      t4 = t3 === $ ? H.throwExpression(H.LateError$fieldNI("_lastRemUsed")) : t3;
+      t1 = $._BigIntImpl__lastQuoRemUsed._readField$0();
+      t2 = $._BigIntImpl__lastRemUsed._readField$0();
+      if (typeof t1 !== "number")
+        return t1.$sub();
       if (typeof t2 !== "number")
-        return t2.$sub();
-      if (typeof t4 !== "number")
-        return H.iae(t4);
-      lastQuo_used = t2 - t4;
-      t4 = $._BigIntImpl____lastQuoRemDigits;
-      t2 = t4 === $ ? H.throwExpression(H.LateError$fieldNI("_lastQuoRemDigits")) : t4;
-      quo_digits = P._BigIntImpl__cloneDigits(t2, t3, t1, lastQuo_used);
-      t1 = P._BigIntImpl__normalize(lastQuo_used, quo_digits);
-      quo = new P._BigIntImpl(false, quo_digits, t1);
-      return this._isNegative !== other._isNegative && t1 > 0 ? quo.$negate(0) : quo;
+        return H.iae(t2);
+      lastQuo_used = t1 - t2;
+      quo_digits = P._BigIntImpl__cloneDigits($._BigIntImpl__lastQuoRemDigits._readField$0(), $._BigIntImpl__lastRemUsed._readField$0(), $._BigIntImpl__lastQuoRemUsed._readField$0(), lastQuo_used);
+      t2 = P._BigIntImpl__normalize(lastQuo_used, quo_digits);
+      quo = new P._BigIntImpl(false, quo_digits, t2);
+      return this._isNegative !== other._isNegative && t2 > 0 ? quo.$negate(0) : quo;
     },
-    _rem$1: function(other) {
-      var t1, t2, t3, remDigits, rem, _this = this,
-        _s12_ = "_lastRemUsed";
+    _rem$1(other) {
+      var remDigits, t1, rem, _this = this;
       if (_this._used < other._used)
         return _this;
       _this._divRem$1(other);
-      t1 = $._BigIntImpl____lastQuoRemDigits;
-      if (t1 === $)
-        t1 = H.throwExpression(H.LateError$fieldNI("_lastQuoRemDigits"));
-      t2 = $._BigIntImpl____lastRemUsed;
-      t3 = t2 === $ ? H.throwExpression(H.LateError$fieldNI(_s12_)) : t2;
-      remDigits = P._BigIntImpl__cloneDigits(t1, 0, t3, t2);
-      t1 = $._BigIntImpl____lastRemUsed;
-      t1 = P._BigIntImpl__normalize(t1 === $ ? H.throwExpression(H.LateError$fieldNI(_s12_)) : t1, remDigits);
+      remDigits = P._BigIntImpl__cloneDigits($._BigIntImpl__lastQuoRemDigits._readField$0(), 0, $._BigIntImpl__lastRemUsed._readField$0(), $._BigIntImpl__lastRemUsed._readField$0());
+      t1 = P._BigIntImpl__normalize($._BigIntImpl__lastRemUsed._readField$0(), remDigits);
       rem = new P._BigIntImpl(false, remDigits, t1);
-      t1 = $._BigIntImpl____lastRem_nsh;
-      t2 = t1 === $ ? H.throwExpression(H.LateError$fieldNI("_lastRem_nsh")) : t1;
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0)
-        rem = rem.$shr(0, t1);
+      t1 = $._BigIntImpl__lastRem_nsh._readField$0();
+      if (typeof t1 !== "number")
+        return t1.$gt();
+      if (t1 > 0)
+        rem = rem.$shr(0, $._BigIntImpl__lastRem_nsh._readField$0());
       return _this._isNegative && rem._used > 0 ? rem.$negate(0) : rem;
     },
-    _divRem$1: function(other) {
+    _divRem$1(other) {
       var yDigits, yUsed, t1, nsh, yDigits0, yUsed0, resultDigits, resultUsed0, topDigitDivisor, j, tmpDigits, tmpUsed, resultUsed1, t2, nyDigits, i, estimatedQuotientDigit, _this = this,
         resultUsed = _this._used;
       if (resultUsed === $._BigIntImpl__lastDividendUsed && other._used === $._BigIntImpl__lastDivisorUsed && _this._digits === $._BigIntImpl__lastDividendDigits && other._digits === $._BigIntImpl__lastDivisorDigits)
@@ -15500,12 +15620,12 @@
       $._BigIntImpl__lastDividendUsed = resultUsed;
       $._BigIntImpl__lastDivisorDigits = yDigits;
       $._BigIntImpl__lastDivisorUsed = yUsed;
-      $._BigIntImpl____lastQuoRemDigits = resultDigits;
-      $._BigIntImpl____lastQuoRemUsed = resultUsed1;
-      $._BigIntImpl____lastRemUsed = yUsed0;
-      $._BigIntImpl____lastRem_nsh = nsh;
+      $._BigIntImpl__lastQuoRemDigits.__late_helper$_value = resultDigits;
+      $._BigIntImpl__lastQuoRemUsed.__late_helper$_value = resultUsed1;
+      $._BigIntImpl__lastRemUsed.__late_helper$_value = yUsed0;
+      $._BigIntImpl__lastRem_nsh.__late_helper$_value = nsh;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var hash, t2, t3, i,
         combine = new P._BigIntImpl_hashCode_combine(),
         t1 = this._used;
@@ -15519,12 +15639,12 @@
       }
       return new P._BigIntImpl_hashCode_finish().call$1(hash);
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       return other instanceof P._BigIntImpl && this.compareTo$1(0, other) === 0;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var decimalDigitChunks, rest, t2, digits4, t3, _this = this,
         t1 = _this._used;
       if (t1 === 0)
@@ -15541,7 +15661,7 @@
           return H.ioore(t1, 0);
         return C.JSInt_methods.toString$0(t1[0]);
       }
-      decimalDigitChunks = H.setRuntimeTypeInfo([], type$.JSArray_String);
+      decimalDigitChunks = H._setArrayType([], type$.JSArray_String);
       t1 = _this._isNegative;
       rest = t1 ? _this.$negate(0) : _this;
       for (; rest._used > 1;) {
@@ -15571,7 +15691,7 @@
     $isComparable: 1
   };
   P._BigIntImpl_hashCode_combine.prototype = {
-    call$2: function(hash, value) {
+    call$2(hash, value) {
       hash = hash + value & 536870911;
       hash = hash + ((hash & 524287) << 10) & 536870911;
       return hash ^ hash >>> 6;
@@ -15579,7 +15699,7 @@
     $signature: 20
   };
   P._BigIntImpl_hashCode_finish.prototype = {
-    call$1: function(hash) {
+    call$1(hash) {
       hash = hash + ((hash & 67108863) << 3) & 536870911;
       hash ^= hash >>> 11;
       return hash + ((hash & 16383) << 15) & 536870911;
@@ -15587,19 +15707,19 @@
     $signature: 21
   };
   P.DateTime.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       return other instanceof P.DateTime && this._value === other._value && this.isUtc === other.isUtc;
     },
-    compareTo$1: function(_, other) {
+    compareTo$1(_, other) {
       return C.JSInt_methods.compareTo$1(this._value, type$.DateTime._as(other)._value);
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var t1 = this._value;
       return (t1 ^ C.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var _this = this,
         y = P.DateTime__fourDigits(H.Primitives_getYear(_this)),
         m = P.DateTime__twoDigits(H.Primitives_getMonth(_this)),
@@ -15616,24 +15736,24 @@
     $isComparable: 1
   };
   P.Duration.prototype = {
-    $add: function(_, other) {
+    $add(_, other) {
       return new P.Duration(C.JSInt_methods.$add(this._duration, type$.Duration._as(other).get$_duration()));
     },
-    $sub: function(_, other) {
+    $sub(_, other) {
       return new P.Duration(C.JSInt_methods.$sub(this._duration, type$.Duration._as(other).get$_duration()));
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       return other instanceof P.Duration && this._duration === other._duration;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return C.JSInt_methods.get$hashCode(this._duration);
     },
-    compareTo$1: function(_, other) {
+    compareTo$1(_, other) {
       return C.JSInt_methods.compareTo$1(this._duration, type$.Duration._as(other)._duration);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var twoDigitMinutes, twoDigitSeconds, sixDigitUs,
         t1 = new P.Duration_toString_twoDigits(),
         t2 = this._duration;
@@ -15647,7 +15767,7 @@
     $isComparable: 1
   };
   P.Duration_toString_sixDigits.prototype = {
-    call$1: function(n) {
+    call$1(n) {
       if (n >= 100000)
         return "" + n;
       if (n >= 10000)
@@ -15663,7 +15783,7 @@
     $signature: 22
   };
   P.Duration_toString_twoDigits.prototype = {
-    call$1: function(n) {
+    call$1(n) {
       if (n >= 10)
         return "" + n;
       return "0" + n;
@@ -15671,12 +15791,12 @@
     $signature: 22
   };
   P.Error.prototype = {
-    get$stackTrace: function() {
+    get$stackTrace() {
       return H.getTraceFromException(this.$thrownJsError);
     }
   };
   P.AssertionError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = this.message;
       if (t1 != null)
         return "Assertion failed: " + P.Error_safeToString(t1);
@@ -15685,18 +15805,18 @@
   };
   P.TypeError.prototype = {};
   P.NullThrownError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Throw of null.";
     }
   };
   P.ArgumentError.prototype = {
-    get$_errorName: function() {
+    get$_errorName() {
       return "Invalid argument" + (!this._hasValue ? "(s)" : "");
     },
-    get$_errorExplanation: function() {
+    get$_errorExplanation() {
       return "";
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var explanation, errorValue, _this = this,
         $name = _this.name,
         nameString = $name == null ? "" : " (" + $name + ")",
@@ -15711,10 +15831,10 @@
     }
   };
   P.RangeError.prototype = {
-    get$_errorName: function() {
+    get$_errorName() {
       return "RangeError";
     },
-    get$_errorExplanation: function() {
+    get$_errorExplanation() {
       var explanation,
         start = this.start,
         end = this.end;
@@ -15730,10 +15850,10 @@
     }
   };
   P.IndexError.prototype = {
-    get$_errorName: function() {
+    get$_errorName() {
       return "RangeError";
     },
-    get$_errorExplanation: function() {
+    get$_errorExplanation() {
       var t1,
         invalidValue = H._asIntS(this.invalidValue);
       if (typeof invalidValue !== "number")
@@ -15745,12 +15865,12 @@
         return ": no indices are valid";
       return ": index should be less than " + H.S(t1);
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return this.length;
     }
   };
   P.NoSuchMethodError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {},
         sb = new P.StringBuffer("");
       _box_0.comma = "";
@@ -15764,28 +15884,28 @@
       _this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(_box_0, sb));
       receiverText = P.Error_safeToString(_this._core$_receiver);
       actualParameters = sb.toString$0(0);
-      t1 = "NoSuchMethodError: method not found: '" + H.S(_this._core$_memberName.__internal$_name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
+      t1 = "NoSuchMethodError: method not found: '" + H.S(_this._core$_memberName._name) + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
       return t1;
     }
   };
   P.UnsupportedError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Unsupported operation: " + this.message;
     }
   };
   P.UnimplementedError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var message = this.message;
       return message != null ? "UnimplementedError: " + message : "UnimplementedError";
     }
   };
   P.StateError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Bad state: " + this.message;
     }
   };
   P.ConcurrentModificationError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = this.modifiedObject;
       if (t1 == null)
         return "Concurrent modification during iteration.";
@@ -15793,36 +15913,36 @@
     }
   };
   P.OutOfMemoryError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Out of Memory";
     },
-    get$stackTrace: function() {
+    get$stackTrace() {
       return null;
     },
     $isError: 1
   };
   P.StackOverflowError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Stack Overflow";
     },
-    get$stackTrace: function() {
+    get$stackTrace() {
       return null;
     },
     $isError: 1
   };
   P.CyclicInitializationError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var variableName = this.variableName;
       return variableName == null ? "Reading static variable during its initialization" : "Reading static variable '" + variableName + "' during its initialization";
     }
   };
   P._Exception.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Exception: " + this.message;
     }
   };
   P.FormatException.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var t1, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix, slice,
         message = this.message,
         report = message != null && "" !== message ? "FormatException: " + H.S(message) : "FormatException",
@@ -15893,39 +16013,39 @@
     }
   };
   P.IntegerDivisionByZeroException.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "IntegerDivisionByZeroException";
     }
   };
   P.Iterable.prototype = {
-    cast$1$0: function(_, $R) {
+    cast$1$0(_, $R) {
       return H.CastIterable_CastIterable(this, H._instanceType(this)._eval$1("Iterable.E"), $R);
     },
-    map$1$1: function(_, f, $T) {
+    map$1$1(_, toElement, $T) {
       var t1 = H._instanceType(this);
-      return H.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(f), t1._eval$1("Iterable.E"), $T);
+      return H.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(toElement), t1._eval$1("Iterable.E"), $T);
     },
-    map$1: function($receiver, f) {
-      return this.map$1$1($receiver, f, type$.dynamic);
+    map$1($receiver, toElement) {
+      return this.map$1$1($receiver, toElement, type$.dynamic);
     },
-    where$1: function(_, test) {
+    where$1(_, test) {
       var t1 = H._instanceType(this);
       return new H.WhereIterable(this, t1._eval$1("bool(Iterable.E)")._as(test), t1._eval$1("WhereIterable<Iterable.E>"));
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       var t1;
       for (t1 = this.get$iterator(this); t1.moveNext$0();)
         if (J.$eq$(t1.get$current(t1), element))
           return true;
       return false;
     },
-    forEach$1: function(_, f) {
+    forEach$1(_, action) {
       var t1;
-      H._instanceType(this)._eval$1("~(Iterable.E)")._as(f);
+      H._instanceType(this)._eval$1("~(Iterable.E)")._as(action);
       for (t1 = this.get$iterator(this); t1.moveNext$0();)
-        f.call$1(t1.get$current(t1));
+        action.call$1(t1.get$current(t1));
     },
-    fold$1$2: function(_, initialValue, combine, $T) {
+    fold$1$2(_, initialValue, combine, $T) {
       var t1, value;
       $T._as(initialValue);
       H._instanceType(this)._bind$1($T)._eval$1("1(1,Iterable.E)")._as(combine);
@@ -15933,35 +16053,35 @@
         value = combine.call$2(value, t1.get$current(t1));
       return value;
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       return P.List_List$of(this, growable, H._instanceType(this)._eval$1("Iterable.E"));
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     },
-    get$length: function(_) {
+    get$length(_) {
       var count,
         it = this.get$iterator(this);
       for (count = 0; it.moveNext$0();)
         ++count;
       return count;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return !this.get$iterator(this).moveNext$0();
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return !this.get$isEmpty(this);
     },
-    skip$1: function(_, count) {
+    skip$1(_, count) {
       return H.SkipIterable_SkipIterable(this, count, H._instanceType(this)._eval$1("Iterable.E"));
     },
-    get$first: function(_) {
+    get$first(_) {
       var it = this.get$iterator(this);
       if (!it.moveNext$0())
         throw H.wrapException(H.IterableElementError_noElement());
       return it.get$current(it);
     },
-    get$single: function(_) {
+    get$single(_) {
       var result,
         it = this.get$iterator(this);
       if (!it.moveNext$0())
@@ -15971,7 +16091,7 @@
         throw H.wrapException(H.IterableElementError_tooMany());
       return result;
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       var t1, elementIndex, element;
       P.RangeError_checkNotNegative(index, "index");
       for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) {
@@ -15982,79 +16102,79 @@
       }
       throw H.wrapException(P.IndexError$(index, this, "index", null, elementIndex));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return P.IterableBase_iterableToShortString(this, "(", ")");
     }
   };
   P.Iterator.prototype = {};
   P.Null.prototype = {
-    get$hashCode: function(_) {
-      return P.Object.prototype.get$hashCode.call(C.JSNull_methods, this);
+    get$hashCode(_) {
+      return P.Object.prototype.get$hashCode.call(this, this);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return "null";
     }
   };
-  P.Object.prototype = {constructor: P.Object, $isObject: 1,
-    $eq: function(_, other) {
+  P.Object.prototype = {$isObject: 1,
+    $eq(_, other) {
       return this === other;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return H.Primitives_objectHashCode(this);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return "Instance of '" + H.S(H.Primitives_objectTypeName(this)) + "'";
     },
-    noSuchMethod$1: function(_, invocation) {
+    noSuchMethod$1(_, invocation) {
       type$.Invocation._as(invocation);
       throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
     },
-    get$runtimeType: function(_) {
+    get$runtimeType(_) {
       return H.getRuntimeType(this);
     },
-    toString: function() {
+    toString() {
       return this.toString$0(this);
     }
   };
   P._StringStackTrace.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return this._stackTrace;
     },
     $isStackTrace: 1
   };
   P.StringBuffer.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return this._contents.length;
     },
-    write$1: function(_, obj) {
+    write$1(_, obj) {
       this._contents += H.S(obj);
     },
-    writeCharCode$1: function(charCode) {
+    writeCharCode$1(charCode) {
       this._contents += H.Primitives_stringFromCharCode(charCode);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = this._contents;
       return t1.charCodeAt(0) == 0 ? t1 : t1;
     },
     $isStringSink: 1
   };
   P.Uri__parseIPv4Address_error.prototype = {
-    call$2: function(msg, position) {
+    call$2(msg, position) {
       throw H.wrapException(P.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
     },
     $signature: 53
   };
   P.Uri_parseIPv6Address_error.prototype = {
-    call$2: function(msg, position) {
+    call$2(msg, position) {
       throw H.wrapException(P.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
     },
-    call$1: function(msg) {
+    call$1(msg) {
       return this.call$2(msg, null);
     },
     $signature: 54
   };
   P.Uri_parseIPv6Address_parseHex.prototype = {
-    call$2: function(start, end) {
+    call$2(start, end) {
       var value;
       if (end - start > 4)
         this.error.call$2("an IPv6 part can only contain a maximum of 4 hex digits", start);
@@ -16066,7 +16186,7 @@
     $signature: 20
   };
   P._Uri.prototype = {
-    get$_text: function() {
+    get$_text() {
       var t2, t3, t4, _this = this,
         t1 = _this.___Uri__text;
       if (t1 === $) {
@@ -16101,7 +16221,7 @@
       }
       return t1;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var _this = this,
         t1 = _this.___Uri_hashCode;
       if (t1 === $) {
@@ -16113,10 +16233,10 @@
       }
       return t1;
     },
-    get$userInfo: function() {
+    get$userInfo() {
       return this._userInfo;
     },
-    get$host: function(_) {
+    get$host(_) {
       var host = this._host;
       if (host == null)
         return "";
@@ -16124,25 +16244,25 @@
         return C.JSString_methods.substring$2(host, 1, host.length - 1);
       return host;
     },
-    get$port: function(_) {
+    get$port(_) {
       var t1 = this._port;
       return t1 == null ? P._Uri__defaultPort(this.scheme) : t1;
     },
-    get$query: function(_) {
+    get$query(_) {
       var t1 = this._query;
       return t1 == null ? "" : t1;
     },
-    get$fragment: function() {
+    get$fragment() {
       var t1 = this._fragment;
       return t1 == null ? "" : t1;
     },
-    isScheme$1: function(scheme) {
+    isScheme$1(scheme) {
       var thisScheme = this.scheme;
       if (scheme.length !== thisScheme.length)
         return false;
       return P._Uri__compareScheme(scheme, thisScheme);
     },
-    replace$1$scheme: function(_, scheme) {
+    replace$1$scheme(_, scheme) {
       var isFile, userInfo, port, host, currentPath, t1, path, _this = this;
       scheme = P._Uri__makeScheme(scheme, 0, scheme.length);
       isFile = scheme === "file";
@@ -16163,19 +16283,19 @@
       path = currentPath;
       return P._Uri$_internal(scheme, userInfo, host, port, path, _this._query, _this._fragment);
     },
-    get$hasAuthority: function() {
+    get$hasAuthority() {
       return this._host != null;
     },
-    get$hasQuery: function() {
+    get$hasQuery() {
       return this._query != null;
     },
-    get$hasFragment: function() {
+    get$hasFragment() {
       return this._fragment != null;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return this.get$_text();
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       var t1, t2, _this = this;
       if (other == null)
         return false;
@@ -16223,21 +16343,21 @@
       return t1;
     },
     $isUri: 1,
-    get$scheme: function() {
+    get$scheme() {
       return this.scheme;
     },
-    get$path: function(receiver) {
+    get$path(receiver) {
       return this.path;
     }
   };
   P._Uri__makePath_closure.prototype = {
-    call$1: function(s) {
+    call$1(s) {
       return P._Uri__uriEncode(C.List_qg40, H._asStringS(s), C.C_Utf8Codec, false);
     },
     $signature: 23
   };
   P.UriData.prototype = {
-    get$uri: function() {
+    get$uri() {
       var t2, queryIndex, end, query, _this = this, _null = null,
         t1 = _this._uriCache;
       if (t1 == null) {
@@ -16257,7 +16377,7 @@
       }
       return t1;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t2,
         t1 = this._separatorIndices;
       if (0 >= t1.length)
@@ -16267,7 +16387,7 @@
     }
   };
   P._createTables_build.prototype = {
-    call$2: function(state, defaultTransition) {
+    call$2(state, defaultTransition) {
       var t1 = this.tables;
       if (state >= t1.length)
         return H.ioore(t1, state);
@@ -16278,7 +16398,7 @@
     $signature: 61
   };
   P._createTables_setChars.prototype = {
-    call$3: function(target, chars, transition) {
+    call$3(target, chars, transition) {
       var t1, i, t2;
       for (t1 = chars.length, i = 0; i < t1; ++i) {
         t2 = C.JSString_methods._codeUnitAt$1(chars, i) ^ 96;
@@ -16290,7 +16410,7 @@
     $signature: 24
   };
   P._createTables_setRange.prototype = {
-    call$3: function(target, range, transition) {
+    call$3(target, range, transition) {
       var i, n, t1;
       for (i = C.JSString_methods._codeUnitAt$1(range, 0), n = C.JSString_methods._codeUnitAt$1(range, 1); i <= n; ++i) {
         t1 = (i ^ 96) >>> 0;
@@ -16302,19 +16422,19 @@
     $signature: 24
   };
   P._SimpleUri.prototype = {
-    get$hasAuthority: function() {
+    get$hasAuthority() {
       return this._hostStart > 0;
     },
-    get$hasPort: function() {
+    get$hasPort() {
       return this._hostStart > 0 && this._portStart + 1 < this._pathStart;
     },
-    get$hasQuery: function() {
+    get$hasQuery() {
       return this._queryStart < this._fragmentStart;
     },
-    get$hasFragment: function() {
+    get$hasFragment() {
       return this._fragmentStart < this._uri.length;
     },
-    isScheme$1: function(scheme) {
+    isScheme$1(scheme) {
       var t1 = scheme.length;
       if (t1 === 0)
         return this._schemeEnd < 0;
@@ -16322,11 +16442,11 @@
         return false;
       return P._Uri__compareScheme(scheme, this._uri);
     },
-    get$scheme: function() {
+    get$scheme() {
       var t1 = this._schemeCache;
       return t1 == null ? this._schemeCache = this._computeScheme$0() : t1;
     },
-    _computeScheme$0: function() {
+    _computeScheme$0() {
       var t2, _this = this,
         t1 = _this._schemeEnd;
       if (t1 <= 0)
@@ -16342,16 +16462,16 @@
         return "package";
       return C.JSString_methods.substring$2(_this._uri, 0, t1);
     },
-    get$userInfo: function() {
+    get$userInfo() {
       var t1 = this._hostStart,
         t2 = this._schemeEnd + 3;
       return t1 > t2 ? C.JSString_methods.substring$2(this._uri, t2, t1 - 1) : "";
     },
-    get$host: function(_) {
+    get$host(_) {
       var t1 = this._hostStart;
       return t1 > 0 ? C.JSString_methods.substring$2(this._uri, t1, this._portStart) : "";
     },
-    get$port: function(_) {
+    get$port(_) {
       var t1, _this = this;
       if (_this.get$hasPort())
         return P.int_parse(C.JSString_methods.substring$2(_this._uri, _this._portStart + 1, _this._pathStart), null);
@@ -16362,20 +16482,20 @@
         return 443;
       return 0;
     },
-    get$path: function(_) {
+    get$path(_) {
       return C.JSString_methods.substring$2(this._uri, this._pathStart, this._queryStart);
     },
-    get$query: function(_) {
+    get$query(_) {
       var t1 = this._queryStart,
         t2 = this._fragmentStart;
       return t1 < t2 ? C.JSString_methods.substring$2(this._uri, t1 + 1, t2) : "";
     },
-    get$fragment: function() {
+    get$fragment() {
       var t1 = this._fragmentStart,
         t2 = this._uri;
       return t1 < t2.length ? C.JSString_methods.substring$1(t2, t1 + 1) : "";
     },
-    replace$1$scheme: function(_, scheme) {
+    replace$1$scheme(_, scheme) {
       var schemeChanged, isFile, t1, userInfo, port, host, t2, path, t3, query, fragment, _this = this, _null = null;
       scheme = P._Uri__makeScheme(scheme, 0, scheme.length);
       schemeChanged = !(_this._schemeEnd === scheme.length && C.JSString_methods.startsWith$1(_this._uri, scheme));
@@ -16405,18 +16525,18 @@
       fragment = t2 < t1.length ? C.JSString_methods.substring$1(t1, t2 + 1) : _null;
       return P._Uri$_internal(scheme, userInfo, host, port, path, query, fragment);
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var t1 = this._hashCodeCache;
       return t1 == null ? this._hashCodeCache = C.JSString_methods.get$hashCode(this._uri) : t1;
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (this === other)
         return true;
       return type$.Uri._is(other) && this._uri === other.toString$0(0);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return this._uri;
     },
     $isUri: 1
@@ -16424,21 +16544,21 @@
   P._DataUri.prototype = {};
   W.HtmlElement.prototype = {$isHtmlElement: 1};
   W.AccessibleNodeList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.AnchorElement.prototype = {
-    set$href: function(receiver, value) {
+    set$href(receiver, value) {
       receiver.href = value;
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return String(receiver);
     },
     $isAnchorElement: 1
   };
   W.AreaElement.prototype = {
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return String(receiver);
     }
   };
@@ -16446,19 +16566,19 @@
   W.Blob.prototype = {$isBlob: 1};
   W.BodyElement.prototype = {$isBodyElement: 1};
   W.CharacterData.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.CloseEvent.prototype = {$isCloseEvent: 1};
   W.CssPerspective.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.CssRule.prototype = {$isCssRule: 1};
   W.CssStyleDeclaration.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
@@ -16466,60 +16586,60 @@
   W.CssStyleValue.prototype = {};
   W.CssTransformComponent.prototype = {};
   W.CssTransformValue.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.CssUnparsedValue.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.CustomEvent.prototype = {
-    _initCustomEvent$4: function(receiver, type, bubbles, cancelable, detail) {
+    _initCustomEvent$4(receiver, type, bubbles, cancelable, detail) {
       return receiver.initCustomEvent(type, true, true, detail);
     },
     $isCustomEvent: 1
   };
   W.DataTransferItemList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.Document.prototype = {$isDocument: 1};
   W.DomException.prototype = {
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return String(receiver);
     }
   };
   W.DomImplementation.prototype = {
-    createHtmlDocument$1: function(receiver, title) {
+    createHtmlDocument$1(receiver, title) {
       return receiver.createHTMLDocument(title);
     }
   };
   W.DomRectList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Rectangle_num._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -16530,7 +16650,7 @@
     $isList: 1
   };
   W.DomRectReadOnly.prototype = {
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       var t2,
         t1 = receiver.left;
       t1.toString;
@@ -16539,7 +16659,7 @@
       t2.toString;
       return t1 + H.S(t2) + ") " + H.S(this.get$width(receiver)) + " x " + H.S(this.get$height(receiver));
     },
-    $eq: function(receiver, other) {
+    $eq(receiver, other) {
       var t1, t2;
       if (other == null)
         return false;
@@ -16564,7 +16684,7 @@
         t1 = false;
       return t1;
     },
-    get$hashCode: function(receiver) {
+    get$hashCode(receiver) {
       var t2,
         t1 = receiver.left;
       t1.toString;
@@ -16573,18 +16693,18 @@
       t2.toString;
       return W._JenkinsSmiHash_hash4(t1, C.JSNumber_methods.get$hashCode(t2), J.get$hashCode$(this.get$width(receiver)), J.get$hashCode$(this.get$height(receiver)));
     },
-    get$_height: function(receiver) {
+    get$_height(receiver) {
       return receiver.height;
     },
-    get$height: function(receiver) {
+    get$height(receiver) {
       var t1 = this.get$_height(receiver);
       t1.toString;
       return t1;
     },
-    get$_width: function(receiver) {
+    get$_width(receiver) {
       return receiver.width;
     },
-    get$width: function(receiver) {
+    get$width(receiver) {
       var t1 = this.get$_width(receiver);
       t1.toString;
       return t1;
@@ -16592,28 +16712,28 @@
     $isRectangle: 1
   };
   W.DomStringList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       H._asStringS(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -16624,49 +16744,49 @@
     $isList: 1
   };
   W.DomTokenList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W._FrozenElementList.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return this._nodeList.length;
     },
-    $index: function(_, index) {
+    $index(_, index) {
       var t1 = this._nodeList;
       if (index < 0 || index >= t1.length)
         return H.ioore(t1, index);
       return this.$ti._precomputed1._as(t1[index]);
     },
-    $indexSet: function(_, index, value) {
+    $indexSet(_, index, value) {
       H._asIntS(index);
       this.$ti._precomputed1._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot modify list"));
     },
-    set$length: function(_, newLength) {
+    set$length(_, newLength) {
       throw H.wrapException(P.UnsupportedError$("Cannot modify list"));
     },
-    sort$1: function(_, compare) {
+    sort$1(_, compare) {
       this.$ti._eval$1("int(1,1)?")._as(compare);
       throw H.wrapException(P.UnsupportedError$("Cannot sort list"));
     },
-    get$first: function(_) {
+    get$first(_) {
       return this.$ti._precomputed1._as(C.NodeList_methods.get$first(this._nodeList));
     }
   };
   W.Element.prototype = {
-    get$attributes: function(receiver) {
+    get$attributes(receiver) {
       return new W._ElementAttributeMap(receiver);
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return receiver.localName;
     },
-    createFragment$3$treeSanitizer$validator: function(receiver, html, treeSanitizer, validator) {
+    createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) {
       var t1, t2, contextElement, fragment;
       if (treeSanitizer == null) {
         t1 = $.Element__defaultValidator;
         if (t1 == null) {
-          t1 = H.setRuntimeTypeInfo([], type$.JSArray_NodeValidator);
+          t1 = H._setArrayType([], type$.JSArray_NodeValidator);
           t2 = new W.NodeValidatorBuilder(t1);
           C.JSArray_methods.add$1(t1, W._Html5NodeValidator$(null));
           C.JSArray_methods.add$1(t1, W._TemplatingNodeValidator$());
@@ -16729,23 +16849,23 @@
       document.adoptNode(fragment);
       return fragment;
     },
-    createFragment$2$treeSanitizer: function($receiver, html, treeSanitizer) {
+    createFragment$2$treeSanitizer($receiver, html, treeSanitizer) {
       return this.createFragment$3$treeSanitizer$validator($receiver, html, treeSanitizer, null);
     },
-    setInnerHtml$1: function(receiver, html) {
+    setInnerHtml$1(receiver, html) {
       this.set$text(receiver, null);
       receiver.appendChild(this.createFragment$3$treeSanitizer$validator(receiver, html, null, null));
     },
-    set$_innerHtml: function(receiver, value) {
+    set$_innerHtml(receiver, value) {
       receiver.innerHTML = value;
     },
-    get$tagName: function(receiver) {
+    get$tagName(receiver) {
       return receiver.tagName;
     },
     $isElement: 1
   };
   W.Element_Element$html_closure.prototype = {
-    call$1: function(e) {
+    call$1(e) {
       return type$.Element._is(type$.Node._as(e));
     },
     $signature: 81
@@ -16753,46 +16873,46 @@
   W.Event.prototype = {$isEvent: 1};
   W.EventSource.prototype = {$isEventSource: 1};
   W.EventTarget.prototype = {
-    addEventListener$3: function(receiver, type, listener, useCapture) {
+    addEventListener$3(receiver, type, listener, useCapture) {
       type$.nullable_dynamic_Function_Event._as(listener);
       if (listener != null)
         this._addEventListener$3(receiver, type, listener, useCapture);
     },
-    addEventListener$2: function($receiver, type, listener) {
+    addEventListener$2($receiver, type, listener) {
       return this.addEventListener$3($receiver, type, listener, null);
     },
-    _addEventListener$3: function(receiver, type, listener, options) {
+    _addEventListener$3(receiver, type, listener, options) {
       return receiver.addEventListener(type, H.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), options);
     },
-    _removeEventListener$3: function(receiver, type, listener, options) {
+    _removeEventListener$3(receiver, type, listener, options) {
       return receiver.removeEventListener(type, H.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false);
     },
     $isEventTarget: 1
   };
   W.File.prototype = {$isFile: 1};
   W.FileList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.File._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -16804,44 +16924,44 @@
     $isFileList: 1
   };
   W.FileWriter.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.FormElement.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.Gamepad.prototype = {$isGamepad: 1};
   W.History.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.HtmlCollection.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Node._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -16852,21 +16972,21 @@
     $isList: 1
   };
   W.HtmlDocument.prototype = {
-    set$body: function(receiver, value) {
+    set$body(receiver, value) {
       receiver.body = value;
     }
   };
   W.HttpRequest.prototype = {
-    open$3$async: function(receiver, method, url, async) {
+    open$3$async(receiver, method, url, async) {
       return receiver.open(method, url, true);
     },
-    set$withCredentials: function(receiver, value) {
+    set$withCredentials(receiver, value) {
       receiver.withCredentials = true;
     },
     $isHttpRequest: 1
   };
   W.HttpRequest_request_closure.prototype = {
-    call$1: function(e) {
+    call$1(e) {
       var t1, t2, accepted, unknownRedirect, t3;
       type$.ProgressEvent._as(e);
       t1 = this.xhr;
@@ -16887,26 +17007,26 @@
   W.ImageData.prototype = {$isImageData: 1};
   W.KeyboardEvent.prototype = {$isKeyboardEvent: 1};
   W.Location.prototype = {
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return String(receiver);
     },
     $isLocation: 1
   };
   W.MediaList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.MessageEvent.prototype = {$isMessageEvent: 1};
   W.MessagePort.prototype = {$isMessagePort: 1};
   W.MidiInputMap.prototype = {
-    containsKey$1: function(receiver, key) {
+    containsKey$1(receiver, key) {
       return P.convertNativeToDart_Dictionary(receiver.get(H._asStringS(key))) != null;
     },
-    $index: function(receiver, key) {
+    $index(receiver, key) {
       return P.convertNativeToDart_Dictionary(receiver.get(H._asStringS(key)));
     },
-    forEach$1: function(receiver, f) {
+    forEach$1(receiver, f) {
       var entries, entry;
       type$.void_Function_String_dynamic._as(f);
       entries = receiver.entries();
@@ -16917,40 +17037,40 @@
         f.call$2(entry.value[0], P.convertNativeToDart_Dictionary(entry.value[1]));
       }
     },
-    get$keys: function(receiver) {
-      var keys = H.setRuntimeTypeInfo([], type$.JSArray_String);
+    get$keys(receiver) {
+      var keys = H._setArrayType([], type$.JSArray_String);
       this.forEach$1(receiver, new W.MidiInputMap_keys_closure(keys));
       return keys;
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.size;
     },
-    get$isEmpty: function(receiver) {
+    get$isEmpty(receiver) {
       return receiver.size === 0;
     },
-    $indexSet: function(receiver, key, value) {
+    $indexSet(receiver, key, value) {
       H._asStringS(key);
       throw H.wrapException(P.UnsupportedError$("Not supported"));
     },
-    remove$1: function(receiver, key) {
+    remove$1(receiver, key) {
       throw H.wrapException(P.UnsupportedError$("Not supported"));
     },
     $isMap: 1
   };
   W.MidiInputMap_keys_closure.prototype = {
-    call$2: function(k, v) {
+    call$2(k, v) {
       return C.JSArray_methods.add$1(this.keys, k);
     },
     $signature: 6
   };
   W.MidiOutputMap.prototype = {
-    containsKey$1: function(receiver, key) {
+    containsKey$1(receiver, key) {
       return P.convertNativeToDart_Dictionary(receiver.get(H._asStringS(key))) != null;
     },
-    $index: function(receiver, key) {
+    $index(receiver, key) {
       return P.convertNativeToDart_Dictionary(receiver.get(H._asStringS(key)));
     },
-    forEach$1: function(receiver, f) {
+    forEach$1(receiver, f) {
       var entries, entry;
       type$.void_Function_String_dynamic._as(f);
       entries = receiver.entries();
@@ -16961,56 +17081,56 @@
         f.call$2(entry.value[0], P.convertNativeToDart_Dictionary(entry.value[1]));
       }
     },
-    get$keys: function(receiver) {
-      var keys = H.setRuntimeTypeInfo([], type$.JSArray_String);
+    get$keys(receiver) {
+      var keys = H._setArrayType([], type$.JSArray_String);
       this.forEach$1(receiver, new W.MidiOutputMap_keys_closure(keys));
       return keys;
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.size;
     },
-    get$isEmpty: function(receiver) {
+    get$isEmpty(receiver) {
       return receiver.size === 0;
     },
-    $indexSet: function(receiver, key, value) {
+    $indexSet(receiver, key, value) {
       H._asStringS(key);
       throw H.wrapException(P.UnsupportedError$("Not supported"));
     },
-    remove$1: function(receiver, key) {
+    remove$1(receiver, key) {
       throw H.wrapException(P.UnsupportedError$("Not supported"));
     },
     $isMap: 1
   };
   W.MidiOutputMap_keys_closure.prototype = {
-    call$2: function(k, v) {
+    call$2(k, v) {
       return C.JSArray_methods.add$1(this.keys, k);
     },
     $signature: 6
   };
   W.MimeType.prototype = {$isMimeType: 1};
   W.MimeTypeArray.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.MimeType._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17021,13 +17141,13 @@
     $isList: 1
   };
   W._ChildNodeListLazy.prototype = {
-    get$first: function(_) {
+    get$first(_) {
       var result = this._this.firstChild;
       if (result == null)
         throw H.wrapException(P.StateError$("No elements"));
       return result;
     },
-    get$single: function(_) {
+    get$single(_) {
       var t1 = this._this,
         l = t1.childNodes.length;
       if (l === 0)
@@ -17038,10 +17158,10 @@
       t1.toString;
       return t1;
     },
-    add$1: function(_, value) {
+    add$1(_, value) {
       this._this.appendChild(type$.Node._as(value));
     },
-    addAll$1: function(_, iterable) {
+    addAll$1(_, iterable) {
       var t1, t2, len, i, t3;
       type$.Iterable_Node._as(iterable);
       if (iterable instanceof W._ChildNodeListLazy) {
@@ -17058,73 +17178,73 @@
       for (t1 = iterable.get$iterator(iterable), t2 = this._this; t1.moveNext$0();)
         t2.appendChild(t1.get$current(t1));
     },
-    $indexSet: function(_, index, value) {
+    $indexSet(_, index, value) {
       var t1;
       H._asIntS(index);
       t1 = this._this;
       t1.replaceChild(type$.Node._as(value), C.NodeList_methods.$index(t1.childNodes, index));
     },
-    get$iterator: function(_) {
+    get$iterator(_) {
       var t1 = this._this.childNodes;
       return new W.FixedSizeListIterator(t1, t1.length, H.instanceType(t1)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
     },
-    sort$1: function(_, compare) {
+    sort$1(_, compare) {
       type$.nullable_int_Function_Node_Node._as(compare);
       throw H.wrapException(P.UnsupportedError$("Cannot sort Node list"));
     },
-    get$length: function(_) {
+    get$length(_) {
       return this._this.childNodes.length;
     },
-    set$length: function(_, value) {
+    set$length(_, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot set length on immutable List."));
     },
-    $index: function(_, index) {
+    $index(_, index) {
       return C.NodeList_methods.$index(this._this.childNodes, index);
     }
   };
   W.Node.prototype = {
-    remove$0: function(receiver) {
+    remove$0(receiver) {
       var t1 = receiver.parentNode;
       if (t1 != null)
         t1.removeChild(receiver);
     },
-    _clearChildren$0: function(receiver) {
+    _clearChildren$0(receiver) {
       var t1;
       for (; t1 = receiver.firstChild, t1 != null;)
         receiver.removeChild(t1);
     },
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       var value = receiver.nodeValue;
       return value == null ? this.super$Interceptor$toString(receiver) : value;
     },
-    set$text: function(receiver, value) {
+    set$text(receiver, value) {
       receiver.textContent = value;
     },
     $isNode: 1
   };
   W.NodeList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Node._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17135,34 +17255,34 @@
     $isList: 1
   };
   W.Plugin.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
     $isPlugin: 1
   };
   W.PluginArray.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Plugin._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17174,13 +17294,13 @@
   };
   W.ProgressEvent.prototype = {$isProgressEvent: 1};
   W.RtcStatsReport.prototype = {
-    containsKey$1: function(receiver, key) {
+    containsKey$1(receiver, key) {
       return P.convertNativeToDart_Dictionary(receiver.get(H._asStringS(key))) != null;
     },
-    $index: function(receiver, key) {
+    $index(receiver, key) {
       return P.convertNativeToDart_Dictionary(receiver.get(H._asStringS(key)));
     },
-    forEach$1: function(receiver, f) {
+    forEach$1(receiver, f) {
       var entries, entry;
       type$.void_Function_String_dynamic._as(f);
       entries = receiver.entries();
@@ -17191,62 +17311,62 @@
         f.call$2(entry.value[0], P.convertNativeToDart_Dictionary(entry.value[1]));
       }
     },
-    get$keys: function(receiver) {
-      var keys = H.setRuntimeTypeInfo([], type$.JSArray_String);
+    get$keys(receiver) {
+      var keys = H._setArrayType([], type$.JSArray_String);
       this.forEach$1(receiver, new W.RtcStatsReport_keys_closure(keys));
       return keys;
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.size;
     },
-    get$isEmpty: function(receiver) {
+    get$isEmpty(receiver) {
       return receiver.size === 0;
     },
-    $indexSet: function(receiver, key, value) {
+    $indexSet(receiver, key, value) {
       H._asStringS(key);
       throw H.wrapException(P.UnsupportedError$("Not supported"));
     },
-    remove$1: function(receiver, key) {
+    remove$1(receiver, key) {
       throw H.wrapException(P.UnsupportedError$("Not supported"));
     },
     $isMap: 1
   };
   W.RtcStatsReport_keys_closure.prototype = {
-    call$2: function(k, v) {
+    call$2(k, v) {
       return C.JSArray_methods.add$1(this.keys, k);
     },
     $signature: 6
   };
   W.ScriptElement.prototype = {$isScriptElement: 1};
   W.SelectElement.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.SourceBuffer.prototype = {$isSourceBuffer: 1};
   W.SourceBufferList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.SourceBuffer._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17258,28 +17378,28 @@
   };
   W.SpeechGrammar.prototype = {$isSpeechGrammar: 1};
   W.SpeechGrammarList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.SpeechGrammar._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17290,29 +17410,29 @@
     $isList: 1
   };
   W.SpeechRecognitionResult.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
     $isSpeechRecognitionResult: 1
   };
   W.Storage.prototype = {
-    containsKey$1: function(receiver, key) {
+    containsKey$1(receiver, key) {
       return receiver.getItem(H._asStringS(key)) != null;
     },
-    $index: function(receiver, key) {
+    $index(receiver, key) {
       return receiver.getItem(H._asStringS(key));
     },
-    $indexSet: function(receiver, key, value) {
+    $indexSet(receiver, key, value) {
       receiver.setItem(H._asStringS(key), H._asStringS(value));
     },
-    remove$1: function(receiver, key) {
+    remove$1(receiver, key) {
       var value;
       H._asStringS(key);
       value = receiver.getItem(key);
       receiver.removeItem(key);
       return value;
     },
-    forEach$1: function(receiver, f) {
+    forEach$1(receiver, f) {
       var i, key, t1;
       type$.void_Function_String_String._as(f);
       for (i = 0; true; ++i) {
@@ -17324,28 +17444,28 @@
         f.call$2(key, t1);
       }
     },
-    get$keys: function(receiver) {
-      var keys = H.setRuntimeTypeInfo([], type$.JSArray_String);
+    get$keys(receiver) {
+      var keys = H._setArrayType([], type$.JSArray_String);
       this.forEach$1(receiver, new W.Storage_keys_closure(keys));
       return keys;
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    get$isEmpty: function(receiver) {
+    get$isEmpty(receiver) {
       return receiver.key(0) == null;
     },
     $isMap: 1
   };
   W.Storage_keys_closure.prototype = {
-    call$2: function(k, v) {
+    call$2(k, v) {
       return C.JSArray_methods.add$1(this.keys, k);
     },
     $signature: 34
   };
   W.StyleSheet.prototype = {$isStyleSheet: 1};
   W.TableElement.prototype = {
-    createFragment$3$treeSanitizer$validator: function(receiver, html, treeSanitizer, validator) {
+    createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) {
       var table, fragment;
       if ("createContextualFragment" in window.Range.prototype)
         return this.super$Element$createFragment(receiver, html, treeSanitizer, validator);
@@ -17358,7 +17478,7 @@
     }
   };
   W.TableRowElement.prototype = {
-    createFragment$3$treeSanitizer$validator: function(receiver, html, treeSanitizer, validator) {
+    createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) {
       var t1, fragment, section, row;
       if ("createContextualFragment" in window.Range.prototype)
         return this.super$Element$createFragment(receiver, html, treeSanitizer, validator);
@@ -17378,7 +17498,7 @@
     }
   };
   W.TableSectionElement.prototype = {
-    createFragment$3$treeSanitizer$validator: function(receiver, html, treeSanitizer, validator) {
+    createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) {
       var t1, fragment, section;
       if ("createContextualFragment" in window.Range.prototype)
         return this.super$Element$createFragment(receiver, html, treeSanitizer, validator);
@@ -17395,7 +17515,7 @@
     }
   };
   W.TemplateElement.prototype = {
-    setInnerHtml$1: function(receiver, html) {
+    setInnerHtml$1(receiver, html) {
       var t1, fragment;
       this.set$text(receiver, null);
       t1 = receiver.content;
@@ -17409,28 +17529,28 @@
   W.TextTrack.prototype = {$isTextTrack: 1};
   W.TextTrackCue.prototype = {$isTextTrackCue: 1};
   W.TextTrackCueList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.TextTrackCue._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17441,28 +17561,28 @@
     $isList: 1
   };
   W.TextTrackList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.TextTrack._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17473,34 +17593,34 @@
     $isList: 1
   };
   W.TimeRanges.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.Touch.prototype = {$isTouch: 1};
   W.TouchList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Touch._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17511,39 +17631,39 @@
     $isList: 1
   };
   W.TrackDefaultList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.UIEvent.prototype = {};
   W.Url.prototype = {
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       return String(receiver);
     }
   };
   W.VideoTrackList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   W.WebSocket.prototype = {
-    set$binaryType: function(receiver, value) {
+    set$binaryType(receiver, value) {
       receiver.binaryType = value;
     },
-    send$1: function(receiver, data) {
+    send$1(receiver, data) {
       return receiver.send(data);
     },
     $isWebSocket: 1
   };
   W.Window.prototype = {
-    open$2: function(receiver, url, $name) {
+    open$2(receiver, url, $name) {
       var t1 = W._DOMWindowCrossFrame__createSafe(receiver.open(url, $name));
       return t1;
     },
-    alert$1: function(receiver, message) {
+    alert$1(receiver, message) {
       return receiver.alert(message);
     },
-    confirm$1: function(receiver, message) {
+    confirm$1(receiver, message) {
       return receiver.confirm(message);
     },
     $isWindow: 1
@@ -17551,28 +17671,28 @@
   W.WorkerGlobalScope.prototype = {$isWorkerGlobalScope: 1};
   W._Attr.prototype = {$is_Attr: 1};
   W._CssRuleList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.CssRule._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17583,7 +17703,7 @@
     $isList: 1
   };
   W._DomRect.prototype = {
-    toString$0: function(receiver) {
+    toString$0(receiver) {
       var t2,
         t1 = receiver.left;
       t1.toString;
@@ -17598,7 +17718,7 @@
       t2.toString;
       return t1 + H.S(t2);
     },
-    $eq: function(receiver, other) {
+    $eq(receiver, other) {
       var t1, t2;
       if (other == null)
         return false;
@@ -17631,7 +17751,7 @@
         t1 = false;
       return t1;
     },
-    get$hashCode: function(receiver) {
+    get$hashCode(receiver) {
       var t2, t3, t4,
         t1 = receiver.left;
       t1.toString;
@@ -17646,46 +17766,46 @@
       t4.toString;
       return W._JenkinsSmiHash_hash4(t1, t2, t3, C.JSNumber_methods.get$hashCode(t4));
     },
-    get$_height: function(receiver) {
+    get$_height(receiver) {
       return receiver.height;
     },
-    get$height: function(receiver) {
+    get$height(receiver) {
       var t1 = receiver.height;
       t1.toString;
       return t1;
     },
-    get$_width: function(receiver) {
+    get$_width(receiver) {
       return receiver.width;
     },
-    get$width: function(receiver) {
+    get$width(receiver) {
       var t1 = receiver.width;
       t1.toString;
       return t1;
     }
   };
   W._GamepadList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.nullable_Gamepad._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17696,28 +17816,28 @@
     $isList: 1
   };
   W._NamedNodeMap.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Node._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17728,28 +17848,28 @@
     $isList: 1
   };
   W._SpeechRecognitionResultList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.SpeechRecognitionResult._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17760,28 +17880,28 @@
     $isList: 1
   };
   W._StyleSheetList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver[index];
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.StyleSheet._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       if (index < 0 || index >= receiver.length)
         return H.ioore(receiver, index);
       return receiver[index];
@@ -17792,11 +17912,11 @@
     $isList: 1
   };
   W._AttributeMap.prototype = {
-    cast$2$0: function(_, $K, $V) {
+    cast$2$0(_, $K, $V) {
       var t1 = type$.String;
       return P.Map_castFrom(this, t1, t1, $K, $V);
     },
-    forEach$1: function(_, f) {
+    forEach$1(_, f) {
       var t1, t2, t3, _i, t4;
       type$.void_Function_String_String._as(f);
       for (t1 = this.get$keys(this), t2 = t1.length, t3 = this._element, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
@@ -17804,11 +17924,11 @@
         f.call$2(t4, t3.getAttribute(t4));
       }
     },
-    get$keys: function(_) {
+    get$keys(_) {
       var keys, len, t2, i, attr, t3,
         t1 = this._element.attributes;
       t1.toString;
-      keys = H.setRuntimeTypeInfo([], type$.JSArray_String);
+      keys = H._setArrayType([], type$.JSArray_String);
       for (len = t1.length, t2 = type$._Attr, i = 0; i < len; ++i) {
         if (i >= t1.length)
           return H.ioore(t1, i);
@@ -17821,21 +17941,21 @@
       }
       return keys;
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return this.get$keys(this).length === 0;
     }
   };
   W._ElementAttributeMap.prototype = {
-    containsKey$1: function(_, key) {
+    containsKey$1(_, key) {
       return typeof key == "string" && H.boolConversionCheck(this._element.hasAttribute(key));
     },
-    $index: function(_, key) {
+    $index(_, key) {
       return this._element.getAttribute(H._asStringS(key));
     },
-    $indexSet: function(_, key, value) {
+    $indexSet(_, key, value) {
       this._element.setAttribute(H._asStringS(key), H._asStringS(value));
     },
-    remove$1: function(_, key) {
+    remove$1(_, key) {
       var t1, value;
       if (typeof key == "string") {
         t1 = this._element;
@@ -17846,103 +17966,103 @@
         t1 = null;
       return t1;
     },
-    get$length: function(_) {
+    get$length(_) {
       return this.get$keys(this).length;
     }
   };
   W.EventStreamProvider.prototype = {};
   W._EventStream.prototype = {
-    listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
       var t1 = this.$ti;
       t1._eval$1("~(1)?")._as(onData);
       type$.nullable_void_Function._as(onDone);
-      return W._EventStreamSubscription$(this._html$_target, this._eventType, onData, false, t1._precomputed1);
+      return W._EventStreamSubscription$(this._target, this._eventType, onData, false, t1._precomputed1);
     },
-    listen$3$onDone$onError: function(onData, onDone, onError) {
+    listen$3$onDone$onError(onData, onDone, onError) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
     }
   };
   W._EventStreamSubscription.prototype = {
-    cancel$0: function(_) {
+    cancel$0(_) {
       var _this = this;
-      if (_this._html$_target == null)
+      if (_this._target == null)
         return $.$get$nullFuture();
       _this._unlisten$0();
-      _this._html$_target = null;
+      _this._target = null;
       _this.set$_onData(null);
       return $.$get$nullFuture();
     },
-    onData$1: function(handleData) {
+    onData$1(handleData) {
       var t1, _this = this;
       _this.$ti._eval$1("~(1)?")._as(handleData);
-      if (_this._html$_target == null)
+      if (_this._target == null)
         throw H.wrapException(P.StateError$("Subscription has been canceled."));
       _this._unlisten$0();
       t1 = W._wrapZone(new W._EventStreamSubscription_onData_closure(handleData), type$.Event);
       _this.set$_onData(t1);
       _this._tryResume$0();
     },
-    pause$0: function(_) {
-      if (this._html$_target == null)
+    pause$0(_) {
+      if (this._target == null)
         return;
       ++this._pauseCount;
       this._unlisten$0();
     },
-    resume$0: function(_) {
+    resume$0(_) {
       var _this = this;
-      if (_this._html$_target == null || _this._pauseCount <= 0)
+      if (_this._target == null || _this._pauseCount <= 0)
         return;
       --_this._pauseCount;
       _this._tryResume$0();
     },
-    _tryResume$0: function() {
+    _tryResume$0() {
       var t2, _this = this,
         t1 = _this._onData;
       if (t1 != null && _this._pauseCount <= 0) {
-        t2 = _this._html$_target;
+        t2 = _this._target;
         t2.toString;
         J.addEventListener$3$x(t2, _this._eventType, t1, false);
       }
     },
-    _unlisten$0: function() {
+    _unlisten$0() {
       var t2,
         t1 = this._onData;
       if (t1 != null) {
-        t2 = this._html$_target;
+        t2 = this._target;
         t2.toString;
         J._removeEventListener$3$x(t2, this._eventType, type$.nullable_dynamic_Function_Event._as(t1), false);
       }
     },
-    set$_onData: function(_onData) {
+    set$_onData(_onData) {
       this._onData = type$.nullable_dynamic_Function_Event._as(_onData);
     }
   };
   W._EventStreamSubscription_closure.prototype = {
-    call$1: function(e) {
+    call$1(e) {
       return this.onData.call$1(type$.Event._as(e));
     },
     $signature: 5
   };
   W._EventStreamSubscription_onData_closure.prototype = {
-    call$1: function(e) {
+    call$1(e) {
       return this.handleData.call$1(type$.Event._as(e));
     },
     $signature: 5
   };
   W._Html5NodeValidator.prototype = {
-    _Html5NodeValidator$1$uriPolicy: function(uriPolicy) {
+    _Html5NodeValidator$1$uriPolicy(uriPolicy) {
       var _i;
       if ($._Html5NodeValidator__attributeValidators.get$isEmpty($._Html5NodeValidator__attributeValidators)) {
         for (_i = 0; _i < 262; ++_i)
-          $._Html5NodeValidator__attributeValidators.$indexSet(0, C.List_2Zi[_i], W.html__Html5NodeValidator__standardAttributeValidator$closure());
+          $._Html5NodeValidator__attributeValidators.$indexSet(0, C.List_2Zi[_i], W.html0__Html5NodeValidator__standardAttributeValidator$closure());
         for (_i = 0; _i < 12; ++_i)
-          $._Html5NodeValidator__attributeValidators.$indexSet(0, C.List_yrN[_i], W.html__Html5NodeValidator__uriAttributeValidator$closure());
+          $._Html5NodeValidator__attributeValidators.$indexSet(0, C.List_yrN[_i], W.html0__Html5NodeValidator__uriAttributeValidator$closure());
       }
     },
-    allowsElement$1: function(element) {
+    allowsElement$1(element) {
       return $.$get$_Html5NodeValidator__allowedElements().contains$1(0, W.Element__safeTagName(element));
     },
-    allowsAttribute$3: function(element, attributeName, value) {
+    allowsAttribute$3(element, attributeName, value) {
       var validator = $._Html5NodeValidator__attributeValidators.$index(0, H.S(W.Element__safeTagName(element)) + "::" + attributeName);
       if (validator == null)
         validator = $._Html5NodeValidator__attributeValidators.$index(0, "*::" + attributeName);
@@ -17953,41 +18073,41 @@
     $isNodeValidator: 1
   };
   W.ImmutableListMixin.prototype = {
-    get$iterator: function(receiver) {
+    get$iterator(receiver) {
       return new W.FixedSizeListIterator(receiver, this.get$length(receiver), H.instanceType(receiver)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
     },
-    add$1: function(receiver, value) {
+    add$1(receiver, value) {
       H.instanceType(receiver)._eval$1("ImmutableListMixin.E")._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot add to immutable List."));
     },
-    sort$1: function(receiver, compare) {
+    sort$1(receiver, compare) {
       H.instanceType(receiver)._eval$1("int(ImmutableListMixin.E,ImmutableListMixin.E)?")._as(compare);
       throw H.wrapException(P.UnsupportedError$("Cannot sort immutable List."));
     }
   };
   W.NodeValidatorBuilder.prototype = {
-    allowsElement$1: function(element) {
+    allowsElement$1(element) {
       return C.JSArray_methods.any$1(this._validators, new W.NodeValidatorBuilder_allowsElement_closure(element));
     },
-    allowsAttribute$3: function(element, attributeName, value) {
+    allowsAttribute$3(element, attributeName, value) {
       return C.JSArray_methods.any$1(this._validators, new W.NodeValidatorBuilder_allowsAttribute_closure(element, attributeName, value));
     },
     $isNodeValidator: 1
   };
   W.NodeValidatorBuilder_allowsElement_closure.prototype = {
-    call$1: function(v) {
+    call$1(v) {
       return type$.NodeValidator._as(v).allowsElement$1(this.element);
     },
     $signature: 26
   };
   W.NodeValidatorBuilder_allowsAttribute_closure.prototype = {
-    call$1: function(v) {
+    call$1(v) {
       return type$.NodeValidator._as(v).allowsAttribute$3(this.element, this.attributeName, this.value);
     },
     $signature: 26
   };
   W._SimpleNodeValidator.prototype = {
-    _SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes: function(uriPolicy, allowedAttributes, allowedElements, allowedUriAttributes) {
+    _SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes(uriPolicy, allowedAttributes, allowedElements, allowedUriAttributes) {
       var legalAttributes, extraUriAttributes, t1;
       this.allowedElements.addAll$1(0, allowedElements);
       legalAttributes = allowedAttributes.where$1(0, new W._SimpleNodeValidator_closure());
@@ -17997,10 +18117,10 @@
       t1.addAll$1(0, C.List_empty);
       t1.addAll$1(0, extraUriAttributes);
     },
-    allowsElement$1: function(element) {
+    allowsElement$1(element) {
       return this.allowedElements.contains$1(0, W.Element__safeTagName(element));
     },
-    allowsAttribute$3: function(element, attributeName, value) {
+    allowsAttribute$3(element, attributeName, value) {
       var _this = this,
         tagName = W.Element__safeTagName(element),
         t1 = _this.allowedUriAttributes;
@@ -18024,19 +18144,19 @@
     $isNodeValidator: 1
   };
   W._SimpleNodeValidator_closure.prototype = {
-    call$1: function(x) {
+    call$1(x) {
       return !C.JSArray_methods.contains$1(C.List_yrN, H._asStringS(x));
     },
     $signature: 27
   };
   W._SimpleNodeValidator_closure0.prototype = {
-    call$1: function(x) {
+    call$1(x) {
       return C.JSArray_methods.contains$1(C.List_yrN, H._asStringS(x));
     },
     $signature: 27
   };
   W._TemplatingNodeValidator.prototype = {
-    allowsAttribute$3: function(element, attributeName, value) {
+    allowsAttribute$3(element, attributeName, value) {
       if (this.super$_SimpleNodeValidator$allowsAttribute(element, attributeName, value))
         return true;
       if (attributeName === "template" && value === "")
@@ -18047,13 +18167,13 @@
     }
   };
   W._TemplatingNodeValidator_closure.prototype = {
-    call$1: function(attr) {
+    call$1(attr) {
       return "TEMPLATE::" + H.S(H._asStringS(attr));
     },
     $signature: 23
   };
   W._SvgNodeValidator.prototype = {
-    allowsElement$1: function(element) {
+    allowsElement$1(element) {
       var t1;
       if (type$.ScriptElement._is(element))
         return false;
@@ -18064,7 +18184,7 @@
         return true;
       return false;
     },
-    allowsAttribute$3: function(element, attributeName, value) {
+    allowsAttribute$3(element, attributeName, value) {
       if (attributeName === "is" || C.JSString_methods.startsWith$1(attributeName, "on"))
         return false;
       return this.allowsElement$1(element);
@@ -18072,7 +18192,7 @@
     $isNodeValidator: 1
   };
   W.FixedSizeListIterator.prototype = {
-    moveNext$0: function() {
+    moveNext$0() {
       var _this = this,
         nextPosition = _this._position + 1,
         t1 = _this._length;
@@ -18085,10 +18205,10 @@
       _this._position = t1;
       return false;
     },
-    get$current: function(_) {
+    get$current(_) {
       return this._current;
     },
-    set$_current: function(_current) {
+    set$_current(_current) {
       this._current = this.$ti._eval$1("1?")._as(_current);
     },
     $isIterator: 1
@@ -18096,7 +18216,7 @@
   W._DOMWindowCrossFrame.prototype = {$isEventTarget: 1};
   W._SameOriginUriPolicy.prototype = {$isUriPolicy: 1};
   W._ValidatingTreeSanitizer.prototype = {
-    sanitizeTree$1: function(node) {
+    sanitizeTree$1(node) {
       var previousTreeModifications,
         walk = new W._ValidatingTreeSanitizer_sanitizeTree_walk(this);
       do {
@@ -18104,14 +18224,14 @@
         walk.call$2(node, null);
       } while (previousTreeModifications !== this.numTreeModifications);
     },
-    _removeNode$2: function(node, $parent) {
+    _removeNode$2(node, $parent) {
       ++this.numTreeModifications;
       if ($parent == null || $parent !== node.parentNode)
         J.remove$0$x(node);
       else
         $parent.removeChild(node);
     },
-    _sanitizeUntrustedElement$2: function(element, $parent) {
+    _sanitizeUntrustedElement$2(element, $parent) {
       var corruptedTest1, elementText, elementTagName, exception, t1,
         corrupted = true,
         attrs = null, isAttr = null;
@@ -18122,7 +18242,7 @@
         corruptedTest1 = function(element) {
           if (!(element.attributes instanceof NamedNodeMap))
             return true;
-          if (element.id == 'lastChild' || element.name == 'lastChild' || element.id == 'previousSibling' || element.name == 'previousSibling' || element.id == 'children' || element.name == 'children')
+          if (element.id == "lastChild" || element.name == "lastChild" || element.id == "previousSibling" || element.name == "previousSibling" || element.id == "children" || element.name == "children")
             return true;
           var childNodes = element.childNodes;
           if (element.lastChild && element.lastChild !== childNodes[childNodes.length - 1])
@@ -18135,7 +18255,7 @@
             length = element.children.length;
           for (var i = 0; i < length; i++) {
             var child = element.children[i];
-            if (child.id == 'attributes' || child.name == 'attributes' || child.id == 'lastChild' || child.name == 'lastChild' || child.id == 'previousSibling' || child.name == 'previousSibling' || child.id == 'children' || child.name == 'children')
+            if (child.id == "attributes" || child.name == "attributes" || child.id == "lastChild" || child.name == "lastChild" || child.id == "previousSibling" || child.name == "previousSibling" || child.id == "children" || child.name == "children")
               return true;
           }
           return false;
@@ -18165,7 +18285,7 @@
         }
       }
     },
-    _sanitizeElement$7: function(element, $parent, corrupted, text, tag, attrs, isAttr) {
+    _sanitizeElement$7(element, $parent, corrupted, text, tag, attrs, isAttr) {
       var t1, keys, i, $name, t2, t3, _this = this;
       if (corrupted) {
         _this._removeNode$2(element, $parent);
@@ -18193,7 +18313,7 @@
           return;
         }
       t1 = attrs.get$keys(attrs);
-      keys = H.setRuntimeTypeInfo(t1.slice(0), H._arrayInstanceType(t1));
+      keys = H._setArrayType(t1.slice(0), H._arrayInstanceType(t1));
       for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._element; i >= 0; --i) {
         if (i >= keys.length)
           return H.ioore(keys, i);
@@ -18218,7 +18338,7 @@
     $isNodeTreeSanitizer: 1
   };
   W._ValidatingTreeSanitizer_sanitizeTree_walk.prototype = {
-    call$2: function(node, $parent) {
+    call$2(node, $parent) {
       var child, nextChild, t2, t3, t4, exception,
         t1 = this.$this;
       switch (node.nodeType) {
@@ -18234,7 +18354,7 @@
           t1._removeNode$2(node, $parent);
       }
       child = node.lastChild;
-      for (t2 = type$.Node; null != child;) {
+      for (t2 = type$.Node; child != null;) {
         nextChild = null;
         try {
           nextChild = child.previousSibling;
@@ -18311,7 +18431,7 @@
   W.__StyleSheetList_Interceptor_ListMixin.prototype = {};
   W.__StyleSheetList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
   P._StructuredClone.prototype = {
-    findSlot$1: function(value) {
+    findSlot$1(value) {
       var i,
         t1 = this.values,
         $length = t1.length;
@@ -18322,7 +18442,7 @@
       C.JSArray_methods.add$1(this.copies, null);
       return $length;
     },
-    walk$1: function(e) {
+    walk$1(e) {
       var slot, t2, copy, _this = this, t1 = {};
       if (e == null)
         return e;
@@ -18386,7 +18506,7 @@
       }
       throw H.wrapException(P.UnimplementedError$("structured clone of other type"));
     },
-    copyList$2: function(e, slot) {
+    copyList$2(e, slot) {
       var i,
         t1 = J.getInterceptor$asx(e),
         $length = t1.get$length(e),
@@ -18398,19 +18518,19 @@
     }
   };
   P._StructuredClone_walk_closure.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       this._box_0.copy[key] = this.$this.walk$1(value);
     },
     $signature: 8
   };
   P._StructuredClone_walk_closure0.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       this._box_0.copy[key] = this.$this.walk$1(value);
     },
     $signature: 39
   };
   P._AcceptStructuredClone.prototype = {
-    findSlot$1: function(value) {
+    findSlot$1(value) {
       var i,
         t1 = this.values,
         $length = t1.length;
@@ -18421,8 +18541,8 @@
       C.JSArray_methods.add$1(this.copies, null);
       return $length;
     },
-    walk$1: function(e) {
-      var proto, slot, t1, copy, t2, l, $length, i, _this = this, _box_0 = {};
+    walk$1(e) {
+      var slot, t1, copy, t2, l, $length, i, _this = this, _box_0 = {};
       if (e == null)
         return e;
       if (H._isBool(e))
@@ -18437,8 +18557,7 @@
         throw H.wrapException(P.UnimplementedError$("structured clone of RegExp"));
       if (typeof Promise != "undefined" && e instanceof Promise)
         return P.promiseToFuture(e, type$.dynamic);
-      proto = Object.getPrototypeOf(e);
-      if (proto === Object.prototype || proto === null) {
+      if (P.isJavaScriptSimpleObject(e)) {
         slot = _this.findSlot$1(e);
         t1 = _this.copies;
         if (slot >= t1.length)
@@ -18472,13 +18591,13 @@
       }
       return e;
     },
-    convertNativeToDart_AcceptStructuredClone$2$mustCopy: function(object, mustCopy) {
+    convertNativeToDart_AcceptStructuredClone$2$mustCopy(object, mustCopy) {
       this.mustCopy = true;
       return this.walk$1(object);
     }
   };
   P._AcceptStructuredClone_walk_closure.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       var t1 = this._box_0.copy,
         t2 = this.$this.walk$1(value);
       J.$indexSet$ax(t1, key, t2);
@@ -18487,19 +18606,19 @@
     $signature: 40
   };
   P._convertDartToNative_Value_closure.prototype = {
-    call$1: function(element) {
+    call$1(element) {
       this.array.push(P._convertDartToNative_Value(element));
     },
     $signature: 4
   };
   P.convertDartToNative_Dictionary_closure.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       this.object[key] = P._convertDartToNative_Value(value);
     },
     $signature: 8
   };
   P._StructuredCloneDart2Js.prototype = {
-    forEachObjectKey$2: function(object, action) {
+    forEachObjectKey$2(object, action) {
       var t1, t2, _i, key;
       type$.dynamic_Function_dynamic_dynamic._as(action);
       for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t2; ++_i) {
@@ -18509,7 +18628,7 @@
     }
   };
   P._AcceptStructuredCloneDart2Js.prototype = {
-    forEachJsField$2: function(object, action) {
+    forEachJsField$2(object, action) {
       var t1, t2, _i, key;
       type$.dynamic_Function_dynamic_dynamic._as(action);
       for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) {
@@ -18520,7 +18639,7 @@
   };
   P.KeyRange.prototype = {$isKeyRange: 1};
   P._convertToJS_closure.prototype = {
-    call$1: function(o) {
+    call$1(o) {
       var jsFunction;
       type$.Function._as(o);
       jsFunction = function(_call, f, captureThis) {
@@ -18534,46 +18653,46 @@
     $signature: 1
   };
   P._convertToJS_closure0.prototype = {
-    call$1: function(o) {
+    call$1(o) {
       return new this.ctor(o);
     },
     $signature: 1
   };
   P._wrapToDart_closure.prototype = {
-    call$1: function(o) {
+    call$1(o) {
       return new P.JsFunction(o);
     },
     $signature: 41
   };
   P._wrapToDart_closure0.prototype = {
-    call$1: function(o) {
+    call$1(o) {
       return new P.JsArray(o, type$.JsArray_dynamic);
     },
     $signature: 42
   };
   P._wrapToDart_closure1.prototype = {
-    call$1: function(o) {
+    call$1(o) {
       return new P.JsObject(o);
     },
     $signature: 43
   };
   P.JsObject.prototype = {
-    $index: function(_, property) {
+    $index(_, property) {
       if (typeof property != "string" && typeof property != "number")
-        throw H.wrapException(P.ArgumentError$("property is not a String or num"));
+        throw H.wrapException(P.ArgumentError$("property is not a String or num", null));
       return P._convertToDart(this._js$_jsObject[property]);
     },
-    $indexSet: function(_, property, value) {
+    $indexSet(_, property, value) {
       if (typeof property != "string" && typeof property != "number")
-        throw H.wrapException(P.ArgumentError$("property is not a String or num"));
+        throw H.wrapException(P.ArgumentError$("property is not a String or num", null));
       this._js$_jsObject[property] = P._convertToJS(value);
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       return other instanceof P.JsObject && this._js$_jsObject === other._js$_jsObject;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1, exception;
       try {
         t1 = String(this._js$_jsObject);
@@ -18584,7 +18703,7 @@
         return t1;
       }
     },
-    callMethod$2: function(method, args) {
+    callMethod$2(method, args) {
       var t2,
         t1 = this._js$_jsObject;
       if (args == null)
@@ -18595,44 +18714,44 @@
       }
       return P._convertToDart(t1[method].apply(t1, t2));
     },
-    callMethod$1: function(method) {
+    callMethod$1(method) {
       return this.callMethod$2(method, null);
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return 0;
     }
   };
   P.JsFunction.prototype = {};
   P.JsArray.prototype = {
-    _checkIndex$1: function(index) {
+    _checkIndex$1(index) {
       var _this = this,
         t1 = index < 0 || index >= _this.get$length(_this);
       if (t1)
         throw H.wrapException(P.RangeError$range(index, 0, _this.get$length(_this), null, null));
     },
-    $index: function(_, index) {
+    $index(_, index) {
       if (H._isInt(index))
         this._checkIndex$1(index);
       return this.$ti._precomputed1._as(this.super$JsObject$$index(0, index));
     },
-    $indexSet: function(_, index, value) {
+    $indexSet(_, index, value) {
       if (H._isInt(index))
         this._checkIndex$1(index);
       this.super$_JsArray_JsObject_ListMixin$$indexSet(0, index, value);
     },
-    get$length: function(_) {
+    get$length(_) {
       var len = this._js$_jsObject.length;
       if (typeof len === "number" && len >>> 0 === len)
         return len;
       throw H.wrapException(P.StateError$("Bad JsArray length"));
     },
-    set$length: function(_, $length) {
+    set$length(_, $length) {
       this.super$_JsArray_JsObject_ListMixin$$indexSet(0, "length", $length);
     },
-    add$1: function(_, value) {
+    add$1(_, value) {
       this.callMethod$2("push", [this.$ti._precomputed1._as(value)]);
     },
-    sort$1: function(_, compare) {
+    sort$1(_, compare) {
       this.$ti._eval$1("int(1,1)?")._as(compare);
       this.callMethod$2("sort", compare == null ? [] : [compare]);
     },
@@ -18641,23 +18760,23 @@
     $isList: 1
   };
   P._JsArray_JsObject_ListMixin.prototype = {
-    $indexSet: function(_, property, value) {
+    $indexSet(_, property, value) {
       return this.super$JsObject$$indexSet(0, property, value);
     }
   };
   P.NullRejectionException.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`.";
     }
   };
   P.promiseToFuture_closure.prototype = {
-    call$1: function(r) {
+    call$1(r) {
       return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r));
     },
     $signature: 4
   };
   P.promiseToFuture_closure0.prototype = {
-    call$1: function(e) {
+    call$1(e) {
       if (e == null)
         return this.completer.completeError$1(new P.NullRejectionException(e === undefined));
       return this.completer.completeError$1(e);
@@ -18665,14 +18784,14 @@
     $signature: 4
   };
   P._JSRandom.prototype = {
-    nextInt$1: function(max) {
+    nextInt$1(max) {
       if (max <= 0 || max > 4294967296)
         throw H.wrapException(P.RangeError$(string$.max_mu + max));
       return Math.random() * max >>> 0;
     }
   };
   P._Random.prototype = {
-    _Random$1: function(seed) {
+    _Random$1(seed) {
       var low, high, tmplow, low0, t1, t2, t3, _this = this, _4294967296 = 4294967296,
         empty_seed = seed < 0 ? -1 : 0;
       do {
@@ -18710,7 +18829,7 @@
       _this._nextState$0();
       _this._nextState$0();
     },
-    _nextState$0: function() {
+    _nextState$0() {
       var _this = this,
         t1 = _this._lo,
         tmpHi = 4294901760 * t1,
@@ -18722,7 +18841,7 @@
       _this._lo = t1;
       _this._hi = C.JSInt_methods._tdivFast$1(tmpLo - tmpLoLo + (tmpHi - tmpHiLo) + (newLo - t1), 4294967296) >>> 0;
     },
-    nextInt$1: function(max) {
+    nextInt$1(max) {
       var t1, rnd32, result, _this = this;
       if (max <= 0 || max > 4294967296)
         throw H.wrapException(P.RangeError$(string$.max_mu + max));
@@ -18741,28 +18860,28 @@
   };
   P.Length.prototype = {$isLength: 1};
   P.LengthList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver.getItem(index);
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Length._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       return this.$index(receiver, index);
     },
     $isEfficientLengthIterable: 1,
@@ -18771,28 +18890,28 @@
   };
   P.Number.prototype = {$isNumber: 1};
   P.NumberList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver.getItem(index);
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Number._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       return this.$index(receiver, index);
     },
     $isEfficientLengthIterable: 1,
@@ -18800,34 +18919,34 @@
     $isList: 1
   };
   P.PointList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   P.ScriptElement0.prototype = {$isScriptElement0: 1};
   P.StringList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver.getItem(index);
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       H._asStringS(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       return this.$index(receiver, index);
     },
     $isEfficientLengthIterable: 1,
@@ -18835,9 +18954,9 @@
     $isList: 1
   };
   P.SvgElement.prototype = {
-    createFragment$3$treeSanitizer$validator: function(receiver, svg, treeSanitizer, validator) {
+    createFragment$3$treeSanitizer$validator(receiver, svg, treeSanitizer, validator) {
       var html, t2, fragment, svgFragment, root,
-        t1 = H.setRuntimeTypeInfo([], type$.JSArray_NodeValidator);
+        t1 = H._setArrayType([], type$.JSArray_NodeValidator);
       C.JSArray_methods.add$1(t1, W._Html5NodeValidator$(null));
       C.JSArray_methods.add$1(t1, W._TemplatingNodeValidator$());
       C.JSArray_methods.add$1(t1, new W._SvgNodeValidator());
@@ -18859,28 +18978,28 @@
   };
   P.Transform.prototype = {$isTransform: 1};
   P.TransformList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
       return receiver.getItem(index);
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Transform._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       return this.$index(receiver, index);
     },
     $isEfficientLengthIterable: 1,
@@ -18896,18 +19015,18 @@
   P._TransformList_Interceptor_ListMixin.prototype = {};
   P._TransformList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
   P.AudioBuffer.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   P.AudioParamMap.prototype = {
-    containsKey$1: function(receiver, key) {
+    containsKey$1(receiver, key) {
       return P.convertNativeToDart_Dictionary(receiver.get(H._asStringS(key))) != null;
     },
-    $index: function(receiver, key) {
+    $index(receiver, key) {
       return P.convertNativeToDart_Dictionary(receiver.get(H._asStringS(key)));
     },
-    forEach$1: function(receiver, f) {
+    forEach$1(receiver, f) {
       var entries, entry;
       type$.void_Function_String_dynamic._as(f);
       entries = receiver.entries();
@@ -18918,49 +19037,49 @@
         f.call$2(entry.value[0], P.convertNativeToDart_Dictionary(entry.value[1]));
       }
     },
-    get$keys: function(receiver) {
-      var keys = H.setRuntimeTypeInfo([], type$.JSArray_String);
+    get$keys(receiver) {
+      var keys = H._setArrayType([], type$.JSArray_String);
       this.forEach$1(receiver, new P.AudioParamMap_keys_closure(keys));
       return keys;
     },
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.size;
     },
-    get$isEmpty: function(receiver) {
+    get$isEmpty(receiver) {
       return receiver.size === 0;
     },
-    $indexSet: function(receiver, key, value) {
+    $indexSet(receiver, key, value) {
       H._asStringS(key);
       throw H.wrapException(P.UnsupportedError$("Not supported"));
     },
-    remove$1: function(receiver, key) {
+    remove$1(receiver, key) {
       throw H.wrapException(P.UnsupportedError$("Not supported"));
     },
     $isMap: 1
   };
   P.AudioParamMap_keys_closure.prototype = {
-    call$2: function(k, v) {
+    call$2(k, v) {
       return C.JSArray_methods.add$1(this.keys, k);
     },
     $signature: 6
   };
   P.AudioTrackList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   P.BaseAudioContext.prototype = {};
   P.OfflineAudioContext.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     }
   };
   P._AudioParamMap_Interceptor_MapMixin.prototype = {};
   P.SqlResultSetRowList.prototype = {
-    get$length: function(receiver) {
+    get$length(receiver) {
       return receiver.length;
     },
-    $index: function(receiver, index) {
+    $index(receiver, index) {
       var t1;
       if (index >>> 0 !== index || index >= receiver.length)
         throw H.wrapException(P.IndexError$(index, receiver, null, null, null));
@@ -18968,20 +19087,20 @@
       t1.toString;
       return t1;
     },
-    $indexSet: function(receiver, index, value) {
+    $indexSet(receiver, index, value) {
       H._asIntS(index);
       type$.Map_dynamic_dynamic._as(value);
       throw H.wrapException(P.UnsupportedError$("Cannot assign element of immutable List."));
     },
-    set$length: function(receiver, value) {
+    set$length(receiver, value) {
       throw H.wrapException(P.UnsupportedError$("Cannot resize immutable List."));
     },
-    get$first: function(receiver) {
+    get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
       throw H.wrapException(P.StateError$("No elements"));
     },
-    elementAt$1: function(receiver, index) {
+    elementAt$1(receiver, index) {
       return this.$index(receiver, index);
     },
     $isEfficientLengthIterable: 1,
@@ -18992,110 +19111,110 @@
   P._SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin.prototype = {};
   S.AsyncMemoizer.prototype = {};
   O.DelegatingStreamSink.prototype = {
-    add$1: function(_, data) {
+    add$1(_, data) {
       this._sink.add$1(0, H._instanceType(this)._eval$1("DelegatingStreamSink.T")._as(data));
     },
-    addError$2: function(error, stackTrace) {
+    addError$2(error, stackTrace) {
       this._sink.addError$2(error, stackTrace);
     },
-    addError$1: function(error) {
+    addError$1(error) {
       return this.addError$2(error, null);
     },
-    close$0: function(_) {
+    close$0(_) {
       return this._sink.close$0(0);
     },
     $isStreamSink: 1
   };
   Q.CopyOnWriteList.prototype = {
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this._copy_on_write_list$_list);
     },
-    $index: function(_, index) {
+    $index(_, index) {
       return J.$index$asx(this._copy_on_write_list$_list, index);
     },
-    $add: function(_, other) {
+    $add(_, other) {
       this.$ti._eval$1("List<1>")._as(other);
       return J.$add$ansx(this._copy_on_write_list$_list, other);
     },
-    cast$1$0: function(_, $T) {
+    cast$1$0(_, $T) {
       return new Q.CopyOnWriteList(true, J.cast$1$0$ax(this._copy_on_write_list$_list, $T), $T._eval$1("CopyOnWriteList<0>"));
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       return J.contains$1$asx(this._copy_on_write_list$_list, element);
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       return J.elementAt$1$ax(this._copy_on_write_list$_list, index);
     },
-    get$first: function(_) {
+    get$first(_) {
       return J.get$first$ax(this._copy_on_write_list$_list);
     },
-    fold$1$2: function(_, initialValue, combine, $T) {
+    fold$1$2(_, initialValue, combine, $T) {
       $T._as(initialValue);
       this.$ti._bind$1($T)._eval$1("1(1,2)")._as(combine);
       return J.fold$1$2$ax(this._copy_on_write_list$_list, initialValue, combine, $T);
     },
-    forEach$1: function(_, f) {
+    forEach$1(_, f) {
       this.$ti._eval$1("~(1)")._as(f);
       return J.forEach$1$ax(this._copy_on_write_list$_list, f);
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return J.get$isEmpty$asx(this._copy_on_write_list$_list);
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return J.get$isNotEmpty$asx(this._copy_on_write_list$_list);
     },
-    get$iterator: function(_) {
+    get$iterator(_) {
       return J.get$iterator$ax(this._copy_on_write_list$_list);
     },
-    map$1$1: function(_, f, $T) {
+    map$1$1(_, f, $T) {
       this.$ti._bind$1($T)._eval$1("1(2)")._as(f);
       return J.map$1$1$ax(this._copy_on_write_list$_list, f, $T);
     },
-    map$1: function($receiver, f) {
+    map$1($receiver, f) {
       return this.map$1$1($receiver, f, type$.dynamic);
     },
-    skip$1: function(_, count) {
+    skip$1(_, count) {
       return J.skip$1$ax(this._copy_on_write_list$_list, count);
     },
-    sublist$2: function(_, start, end) {
+    sublist$2(_, start, end) {
       return J.sublist$2$ax(this._copy_on_write_list$_list, start, end);
     },
-    sublist$1: function($receiver, start) {
+    sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       return J.toList$1$growable$ax(this._copy_on_write_list$_list, true);
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     },
-    $indexSet: function(_, index, element) {
+    $indexSet(_, index, element) {
       H._asIntS(index);
       this.$ti._precomputed1._as(element);
       this._maybeCopyBeforeWrite$0();
       J.$indexSet$ax(this._copy_on_write_list$_list, index, element);
     },
-    add$1: function(_, value) {
+    add$1(_, value) {
       this.$ti._precomputed1._as(value);
       this._maybeCopyBeforeWrite$0();
       J.add$1$ax(this._copy_on_write_list$_list, value);
     },
-    sort$1: function(_, compare) {
+    sort$1(_, compare) {
       this.$ti._eval$1("int(1,1)?")._as(compare);
       this._maybeCopyBeforeWrite$0();
       J.sort$1$ax(this._copy_on_write_list$_list, compare);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$(this._copy_on_write_list$_list);
     },
-    _maybeCopyBeforeWrite$0: function() {
+    _maybeCopyBeforeWrite$0() {
       var _this = this;
       if (!_this._copyBeforeWrite)
         return;
       _this._copyBeforeWrite = false;
       _this.set$_copy_on_write_list$_list(P.List_List$from(_this._copy_on_write_list$_list, true, _this.$ti._precomputed1));
     },
-    set$_copy_on_write_list$_list: function(_list) {
+    set$_copy_on_write_list$_list(_list) {
       this._copy_on_write_list$_list = this.$ti._eval$1("List<1>")._as(_list);
     },
     $isEfficientLengthIterable: 1,
@@ -19103,20 +19222,20 @@
     $isList: 1
   };
   A.hashObjects_closure.prototype = {
-    call$2: function(h, i) {
+    call$2(h, i) {
       return A._combine(H._asIntS(h), J.get$hashCode$(i));
     },
     $signature: 44
   };
   D.BuiltList.prototype = {
-    toBuilder$0: function() {
+    toBuilder$0() {
       return D.ListBuilder_ListBuilder(this, this.$ti._precomputed1);
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var t1 = this._list$_hashCode;
       return t1 == null ? this._list$_hashCode = A.hashObjects(this._list) : t1;
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       var t1, t2, t3, t4, i, _this = this;
       if (other == null)
         return false;
@@ -19137,66 +19256,66 @@
           return false;
       return true;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$(this._list);
     },
-    $add: function(_, other) {
+    $add(_, other) {
       var t1 = this.$ti;
       return new D._BuiltList(J.$add$ansx(this._list, t1._eval$1("BuiltList<1>")._as(other).get$_list()), t1._eval$1("_BuiltList<1>"));
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this._list);
     },
-    get$iterator: function(_) {
+    get$iterator(_) {
       return J.get$iterator$ax(this._list);
     },
-    map$1$1: function(_, f, $T) {
+    map$1$1(_, f, $T) {
       return J.map$1$1$ax(this._list, this.$ti._bind$1($T)._eval$1("1(2)")._as(f), $T);
     },
-    map$1: function($receiver, f) {
+    map$1($receiver, f) {
       return this.map$1$1($receiver, f, type$.dynamic);
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       return J.contains$1$asx(this._list, element);
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       return new Q.CopyOnWriteList(true, this._list, this.$ti._eval$1("CopyOnWriteList<1>"));
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       return J.get$isEmpty$asx(this._list);
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       return J.get$isNotEmpty$asx(this._list);
     },
-    skip$1: function(_, n) {
+    skip$1(_, n) {
       return J.skip$1$ax(this._list, n);
     },
-    get$first: function(_) {
+    get$first(_) {
       return J.get$first$ax(this._list);
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       return J.elementAt$1$ax(this._list, index);
     },
     $isIterable: 1
   };
   D._BuiltList.prototype = {
-    _list$_maybeCheckForNull$0: function() {
+    _list$_maybeCheckForNull$0() {
       if (!(!$.$get$isSoundMode() && !this.$ti._precomputed1._is(null)))
         return;
       for (var t1 = J.get$iterator$ax(this._list); t1.moveNext$0();)
         if (t1.get$current(t1) == null)
-          throw H.wrapException(P.ArgumentError$("iterable contained invalid element: null"));
+          throw H.wrapException(P.ArgumentError$("iterable contained invalid element: null", null));
     }
   };
   D.ListBuilder.prototype = {
-    get$_list: function() {
+    get$_list() {
       var t1 = this.__ListBuilder__list;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_list")) : t1;
     },
-    build$0: function() {
+    build$0() {
       var t1, t2, t3, _this = this;
       if (_this._listOwner == null) {
         t1 = _this.get$_list();
@@ -19210,7 +19329,7 @@
       t1.toString;
       return t1;
     },
-    replace$1: function(_, iterable) {
+    replace$1(_, iterable) {
       var _this = this,
         t1 = _this.$ti,
         t2 = t1._eval$1("_BuiltList<1>"),
@@ -19224,10 +19343,10 @@
         _this.set$_listOwner(null);
       }
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this.get$_list());
     },
-    map$1: function(_, f) {
+    map$1(_, f) {
       var result, _this = this,
         t1 = _this.$ti;
       t1._eval$1("1(1)")._as(f);
@@ -19236,7 +19355,7 @@
       _this.set$__ListBuilder__list(t1._eval$1("List<1>")._as(result));
       _this.set$_listOwner(null);
     },
-    _list$_maybeCheckElements$1: function(elements) {
+    _list$_maybeCheckElements$1(elements) {
       var t2, _i,
         t1 = this.$ti;
       t1._eval$1("Iterable<1>")._as(elements);
@@ -19244,17 +19363,17 @@
         return;
       for (t2 = elements.length, t1 = t1._precomputed1, _i = 0; _i < t2; ++_i)
         if (t1._as(elements[_i]) == null)
-          H.throwExpression(P.ArgumentError$("null element"));
+          H.throwExpression(P.ArgumentError$("null element", null));
     },
-    set$__ListBuilder__list: function(__ListBuilder__list) {
+    set$__ListBuilder__list(__ListBuilder__list) {
       this.__ListBuilder__list = this.$ti._eval$1("List<1>?")._as(__ListBuilder__list);
     },
-    set$_listOwner: function(_listOwner) {
+    set$_listOwner(_listOwner) {
       this._listOwner = this.$ti._eval$1("_BuiltList<1>?")._as(_listOwner);
     }
   };
   R.BuiltListMultimap.prototype = {
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var _this = this,
         t1 = _this._list_multimap$_hashCode;
       if (t1 == null) {
@@ -19264,7 +19383,7 @@
       }
       return t1;
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       var t1, t2, t3, t4, t5, t6, t7, key, result, t8, _this = this;
       if (other == null)
         return false;
@@ -19290,10 +19409,10 @@
       }
       return true;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$(this._list_multimap$_map);
     },
-    get$keys: function(_) {
+    get$keys(_) {
       var t1, _this = this;
       if (_this._list_multimap$_keys == null)
         _this.set$_list_multimap$_keys(J.get$keys$x(_this._list_multimap$_map));
@@ -19301,21 +19420,21 @@
       t1.toString;
       return t1;
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this._list_multimap$_map);
     },
-    set$_list_multimap$_keys: function(_keys) {
+    set$_list_multimap$_keys(_keys) {
       this._list_multimap$_keys = this.$ti._eval$1("Iterable<1>?")._as(_keys);
     }
   };
   R.BuiltListMultimap_BuiltListMultimap_closure.prototype = {
-    call$1: function(k) {
+    call$1(k) {
       return this.multimap.$index(0, k);
     },
     $signature: 1
   };
   R.BuiltListMultimap_hashCode_closure.prototype = {
-    call$1: function(key) {
+    call$1(key) {
       var t2,
         t1 = this.$this;
       t1.$ti._precomputed1._as(key);
@@ -19323,32 +19442,32 @@
       t1 = J.get$hashCode$(J.$index$asx(t1._list_multimap$_map, key));
       return A._finish(A._combine(A._combine(0, J.get$hashCode$(t2)), J.get$hashCode$(t1)));
     },
-    $signature: function() {
+    $signature() {
       return this.$this.$ti._eval$1("int(1)");
     }
   };
   R._BuiltListMultimap.prototype = {
-    _BuiltListMultimap$copy$2: function(keys, lookup, $K, $V) {
+    _BuiltListMultimap$copy$2(keys, lookup, $K, $V) {
       var t1, t2, t3, t4, key;
       for (t1 = J.get$iterator$ax(keys), t2 = this._list_multimap$_map, t3 = type$.Iterable_dynamic, t4 = J.getInterceptor$ax(t2); t1.moveNext$0();) {
         key = t1.get$current(t1);
         if ($K._is(key))
           t4.$indexSet(t2, key, D.BuiltList_BuiltList$from(t3._as(lookup.call$1(key)), $V));
         else
-          throw H.wrapException(P.ArgumentError$("map contained invalid key: " + H.S(key)));
+          throw H.wrapException(P.ArgumentError$("map contained invalid key: " + H.S(key), null));
       }
     }
   };
   R.ListMultimapBuilder.prototype = {
-    get$_list_multimap$_builtMap: function() {
+    get$_list_multimap$_builtMap() {
       var t1 = this.__ListMultimapBuilder__builtMap;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_builtMap")) : t1;
     },
-    get$_list_multimap$_builderMap: function() {
+    get$_list_multimap$_builderMap() {
       var t1 = this.__ListMultimapBuilder__builderMap;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_builderMap")) : t1;
     },
-    build$0: function() {
+    build$0() {
       var t1, key, t2, t3, t4, t5, builtList, _this = this,
         _s9_ = "_builtMap";
       if (_this._list_multimap$_builtMapOwner == null) {
@@ -19382,10 +19501,10 @@
       t1.toString;
       return t1;
     },
-    replace$1: function(_, multimap) {
+    replace$1(_, multimap) {
       this._list_multimap$_setWithCopyAndCheck$2(multimap.get$keys(multimap), new R.ListMultimapBuilder_replace_closure(multimap));
     },
-    _list_multimap$_getValuesBuilder$1: function(key) {
+    _list_multimap$_getValuesBuilder$1(key) {
       var result, builtValues, _this = this,
         t1 = _this.$ti;
       t1._precomputed1._as(key);
@@ -19397,9 +19516,9 @@
       }
       return result;
     },
-    _list_multimap$_setWithCopyAndCheck$2: function(keys, lookup) {
-      var t1, t2, t3, t4, t5, t6, key, t7, value, t8, t9, t10, t11, _this = this;
-      _this.set$_list_multimap$_builtMapOwner(null);
+    _list_multimap$_setWithCopyAndCheck$2(keys, lookup) {
+      var t1, t2, t3, t4, t5, t6, key, t7, value, t8, t9, t10, t11, _this = this, _null = null;
+      _this.set$_list_multimap$_builtMapOwner(_null);
       t1 = _this.$ti;
       t2 = t1._precomputed1;
       t3 = t1._eval$1("BuiltList<2>");
@@ -19417,7 +19536,7 @@
               if (_this._list_multimap$_builtMapOwner != null) {
                 t8 = _this.__ListMultimapBuilder__builtMap;
                 _this.set$__ListMultimapBuilder__builtMap(t4._as(P.LinkedHashMap_LinkedHashMap$from(t8 === $ ? H.throwExpression(H.LateError$fieldNI("_builtMap")) : t8, t2, t3)));
-                _this.set$_list_multimap$_builtMapOwner(null);
+                _this.set$_list_multimap$_builtMapOwner(_null);
               }
               _this._list_multimap$_checkKey$1(key);
               _this._list_multimap$_checkValue$1(value);
@@ -19427,22 +19546,22 @@
               t10._as(value);
               if (!$.$get$isSoundMode() && !t10._is(null))
                 if (value == null)
-                  H.throwExpression(P.ArgumentError$("null element"));
+                  H.throwExpression(P.ArgumentError$("null element", _null));
               if (t8._listOwner != null) {
                 t11 = t8.__ListBuilder__list;
                 t8.set$__ListBuilder__list(t9._eval$1("List<1>")._as(P.List_List$from(t11 === $ ? H.throwExpression(H.LateError$fieldNI("_list")) : t11, true, t10)));
-                t8.set$_listOwner(null);
+                t8.set$_listOwner(_null);
               }
               t8 = t8.__ListBuilder__list;
               J.add$1$ax(t8 === $ ? H.throwExpression(H.LateError$fieldNI("_list")) : t8, value);
             } else
-              throw H.wrapException(P.ArgumentError$("map contained invalid value: " + H.S(value) + ", for key " + H.S(key)));
+              throw H.wrapException(P.ArgumentError$("map contained invalid value: " + H.S(value) + ", for key " + H.S(key), _null));
           }
         else
-          throw H.wrapException(P.ArgumentError$("map contained invalid key: " + H.S(key)));
+          throw H.wrapException(P.ArgumentError$("map contained invalid key: " + H.S(key), _null));
       }
     },
-    _list_multimap$_checkKey$1: function(key) {
+    _list_multimap$_checkKey$1(key) {
       var t1 = this.$ti._precomputed1;
       t1._as(key);
       if ($.$get$isSoundMode())
@@ -19450,9 +19569,9 @@
       if (t1._is(null))
         return;
       if (key == null)
-        throw H.wrapException(P.ArgumentError$("null key"));
+        throw H.wrapException(P.ArgumentError$("null key", null));
     },
-    _list_multimap$_checkValue$1: function(value) {
+    _list_multimap$_checkValue$1(value) {
       var t1 = this.$ti._rest[1];
       t1._as(value);
       if ($.$get$isSoundMode())
@@ -19460,31 +19579,31 @@
       if (t1._is(null))
         return;
       if (value == null)
-        throw H.wrapException(P.ArgumentError$("null value"));
+        throw H.wrapException(P.ArgumentError$("null value", null));
     },
-    set$__ListMultimapBuilder__builtMap: function(__ListMultimapBuilder__builtMap) {
+    set$__ListMultimapBuilder__builtMap(__ListMultimapBuilder__builtMap) {
       this.__ListMultimapBuilder__builtMap = this.$ti._eval$1("Map<1,BuiltList<2>>?")._as(__ListMultimapBuilder__builtMap);
     },
-    set$_list_multimap$_builtMapOwner: function(_builtMapOwner) {
+    set$_list_multimap$_builtMapOwner(_builtMapOwner) {
       this._list_multimap$_builtMapOwner = this.$ti._eval$1("_BuiltListMultimap<1,2>?")._as(_builtMapOwner);
     },
-    set$__ListMultimapBuilder__builderMap: function(__ListMultimapBuilder__builderMap) {
+    set$__ListMultimapBuilder__builderMap(__ListMultimapBuilder__builderMap) {
       this.__ListMultimapBuilder__builderMap = this.$ti._eval$1("Map<1,ListBuilder<2>>?")._as(__ListMultimapBuilder__builderMap);
     }
   };
   R.ListMultimapBuilder_replace_closure.prototype = {
-    call$1: function(k) {
+    call$1(k) {
       return this.multimap.$index(0, k);
     },
     $signature: 1
   };
   A.BuiltMap.prototype = {
-    toBuilder$0: function() {
+    toBuilder$0() {
       var t1 = this.$ti;
       t1._eval$1("_BuiltMap<1,2>")._as(this);
       return new A.MapBuilder(this._mapFactory, this._map$_map, this, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MapBuilder<1,2>"));
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var _this = this,
         t1 = _this._map$_hashCode;
       if (t1 == null) {
@@ -19494,7 +19613,7 @@
       }
       return t1;
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       var t1, t2, t3, t4, t5, key, _this = this;
       if (other == null)
         return false;
@@ -19517,10 +19636,10 @@
       }
       return true;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$(this._map$_map);
     },
-    get$keys: function(_) {
+    get$keys(_) {
       var t1, _this = this;
       if (_this._map$_keys == null)
         _this.set$_map$_keys(J.get$keys$x(_this._map$_map));
@@ -19528,25 +19647,25 @@
       t1.toString;
       return t1;
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this._map$_map);
     },
-    map$1: function(_, f) {
+    map$1(_, f) {
       var t1 = type$.dynamic;
       return new A._BuiltMap(null, J.map$2$1$ax(this._map$_map, this.$ti._eval$1("MapEntry<@,@>(1,2)")._as(f), t1, t1), type$._BuiltMap_dynamic_dynamic);
     },
-    set$_map$_keys: function(_keys) {
+    set$_map$_keys(_keys) {
       this._map$_keys = this.$ti._eval$1("Iterable<1>?")._as(_keys);
     }
   };
   A.BuiltMap_BuiltMap_closure.prototype = {
-    call$1: function(k) {
+    call$1(k) {
       return this.map.$index(0, k);
     },
     $signature: 1
   };
   A.BuiltMap_hashCode_closure.prototype = {
-    call$1: function(key) {
+    call$1(key) {
       var t2,
         t1 = this.$this;
       t1.$ti._precomputed1._as(key);
@@ -19554,12 +19673,12 @@
       t1 = J.get$hashCode$(J.$index$asx(t1._map$_map, key));
       return A._finish(A._combine(A._combine(0, J.get$hashCode$(t2)), J.get$hashCode$(t1)));
     },
-    $signature: function() {
+    $signature() {
       return this.$this.$ti._eval$1("int(1)");
     }
   };
   A._BuiltMap.prototype = {
-    _BuiltMap$copyAndCheckTypes$2: function(keys, lookup, $K, $V) {
+    _BuiltMap$copyAndCheckTypes$2(keys, lookup, $K, $V) {
       var t1, t2, t3, key, value;
       for (t1 = J.get$iterator$ax(keys), t2 = this._map$_map, t3 = J.getInterceptor$ax(t2); t1.moveNext$0();) {
         key = t1.get$current(t1);
@@ -19568,18 +19687,18 @@
           if ($V._is(value))
             t3.$indexSet(t2, key, value);
           else
-            throw H.wrapException(P.ArgumentError$("map contained invalid value: " + H.S(value)));
+            throw H.wrapException(P.ArgumentError$("map contained invalid value: " + H.S(value), null));
         } else
-          throw H.wrapException(P.ArgumentError$("map contained invalid key: " + H.S(key)));
+          throw H.wrapException(P.ArgumentError$("map contained invalid key: " + H.S(key), null));
       }
     }
   };
   A.MapBuilder.prototype = {
-    get$_map$_map: function() {
+    get$_map$_map() {
       var t1 = this.__MapBuilder__map;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_map")) : t1;
     },
-    build$0: function() {
+    build$0() {
       var t1, _this = this;
       if (_this._mapOwner == null) {
         t1 = _this.$ti;
@@ -19589,7 +19708,7 @@
       t1.toString;
       return t1;
     },
-    replace$1: function(_, map) {
+    replace$1(_, map) {
       var _this = this,
         replacement = _this._createMap$0();
       map.forEach$1(0, new A.MapBuilder_replace_closure(_this, replacement));
@@ -19597,7 +19716,7 @@
       _this.set$_mapOwner(null);
       _this.set$__MapBuilder__map(replacement);
     },
-    $indexSet: function(_, key, value) {
+    $indexSet(_, key, value) {
       var t2, _this = this,
         t1 = _this.$ti;
       t1._precomputed1._as(key);
@@ -19612,10 +19731,10 @@
       }
       J.$indexSet$ax(_this.get$_map$_map(), key, value);
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this.get$_map$_map());
     },
-    get$_safeMap: function() {
+    get$_safeMap() {
       var t1, _this = this;
       if (_this._mapOwner != null) {
         t1 = _this._createMap$0();
@@ -19625,11 +19744,11 @@
       }
       return _this.get$_map$_map();
     },
-    _createMap$0: function() {
+    _createMap$0() {
       var t1 = this.$ti;
       return P.LinkedHashMap_LinkedHashMap$_empty(t1._precomputed1, t1._rest[1]);
     },
-    _checkKey$1: function(key) {
+    _checkKey$1(key) {
       var t1 = this.$ti._precomputed1;
       t1._as(key);
       if ($.$get$isSoundMode())
@@ -19637,9 +19756,9 @@
       if (t1._is(null))
         return;
       if (key == null)
-        throw H.wrapException(P.ArgumentError$("null key"));
+        throw H.wrapException(P.ArgumentError$("null key", null));
     },
-    _checkValue$1: function(value) {
+    _checkValue$1(value) {
       var t1 = this.$ti._rest[1];
       t1._as(value);
       if ($.$get$isSoundMode())
@@ -19647,24 +19766,24 @@
       if (t1._is(null))
         return;
       if (value == null)
-        throw H.wrapException(P.ArgumentError$("null value"));
+        throw H.wrapException(P.ArgumentError$("null value", null));
     },
-    set$__MapBuilder__map: function(__MapBuilder__map) {
+    set$__MapBuilder__map(__MapBuilder__map) {
       this.__MapBuilder__map = this.$ti._eval$1("Map<1,2>?")._as(__MapBuilder__map);
     },
-    set$_mapOwner: function(_mapOwner) {
+    set$_mapOwner(_mapOwner) {
       this._mapOwner = this.$ti._eval$1("_BuiltMap<1,2>?")._as(_mapOwner);
     }
   };
   A.MapBuilder_replace_closure.prototype = {
-    call$2: function(key, value) {
+    call$2(key, value) {
       var t1 = this.$this.$ti;
       this.replacement.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value));
     },
     $signature: 8
   };
   X.BuiltSet.prototype = {
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var _this = this,
         t1 = _this._set$_hashCode;
       if (t1 == null) {
@@ -19675,7 +19794,7 @@
       }
       return t1;
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       var t1, t2, _this = this;
       if (other == null)
         return false;
@@ -19691,75 +19810,75 @@
         return false;
       return t2.containsAll$1(other);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$(this._set$_set);
     },
-    get$length: function(_) {
+    get$length(_) {
       var t1 = this._set$_set;
       return t1.get$length(t1);
     },
-    get$iterator: function(_) {
+    get$iterator(_) {
       var t1 = this._set$_set;
       return t1.get$iterator(t1);
     },
-    map$1$1: function(_, f, $T) {
+    map$1$1(_, f, $T) {
       return this._set$_set.map$1$1(0, this.$ti._bind$1($T)._eval$1("1(2)")._as(f), $T);
     },
-    map$1: function($receiver, f) {
+    map$1($receiver, f) {
       return this.map$1$1($receiver, f, type$.dynamic);
     },
-    contains$1: function(_, element) {
+    contains$1(_, element) {
       return this._set$_set.contains$1(0, element);
     },
-    toList$1$growable: function(_, growable) {
+    toList$1$growable(_, growable) {
       return this._set$_set.toList$1$growable(0, true);
     },
-    toList$0: function($receiver) {
+    toList$0($receiver) {
       return this.toList$1$growable($receiver, true);
     },
-    get$isEmpty: function(_) {
+    get$isEmpty(_) {
       var t1 = this._set$_set;
       return t1.get$isEmpty(t1);
     },
-    get$isNotEmpty: function(_) {
+    get$isNotEmpty(_) {
       var t1 = this._set$_set;
       return t1.get$isNotEmpty(t1);
     },
-    skip$1: function(_, n) {
+    skip$1(_, n) {
       return this._set$_set.skip$1(0, n);
     },
-    get$first: function(_) {
+    get$first(_) {
       var t1 = this._set$_set;
       return t1.get$first(t1);
     },
-    elementAt$1: function(_, index) {
+    elementAt$1(_, index) {
       return this._set$_set.elementAt$1(0, index);
     },
     $isIterable: 1
   };
   X.BuiltSet_hashCode_closure.prototype = {
-    call$1: function(e) {
+    call$1(e) {
       return J.get$hashCode$(this.$this.$ti._precomputed1._as(e));
     },
-    $signature: function() {
+    $signature() {
       return this.$this.$ti._eval$1("int(1)");
     }
   };
   X._BuiltSet.prototype = {
-    _maybeCheckForNull$0: function() {
+    _maybeCheckForNull$0() {
       if (!(!$.$get$isSoundMode() && !this.$ti._precomputed1._is(null)))
         return;
       for (var t1 = this._set$_set, t1 = t1.get$iterator(t1); t1.moveNext$0();)
         if (t1.get$current(t1) == null)
-          throw H.wrapException(P.ArgumentError$("iterable contained invalid element: null"));
+          throw H.wrapException(P.ArgumentError$("iterable contained invalid element: null", null));
     }
   };
   X.SetBuilder.prototype = {
-    get$_set$_set: function() {
+    get$_set$_set() {
       var t1 = this.__SetBuilder__set;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_set")) : t1;
     },
-    build$0: function() {
+    build$0() {
       var t1, _this = this;
       if (_this._setOwner == null)
         _this.set$_setOwner(new X._BuiltSet(_this._setFactory, _this.get$_set$_set(), _this.$ti._eval$1("_BuiltSet<1>")));
@@ -19767,7 +19886,7 @@
       t1.toString;
       return t1;
     },
-    replace$1: function(_, iterable) {
+    replace$1(_, iterable) {
       var t1, t2, t3, element, _this = this,
         set = _this._createSet$0();
       for (t1 = J.get$iterator$ax(iterable), t2 = _this.$ti, t3 = t2._precomputed1; t1.moveNext$0();) {
@@ -19775,17 +19894,17 @@
         if (t3._is(element))
           set.add$1(0, element);
         else
-          throw H.wrapException(P.ArgumentError$("iterable contained invalid element: " + H.S(element)));
+          throw H.wrapException(P.ArgumentError$("iterable contained invalid element: " + H.S(element), null));
       }
       t2._eval$1("Set<1>")._as(set);
       _this.set$_setOwner(null);
       _this.set$__SetBuilder__set(set);
     },
-    get$length: function(_) {
+    get$length(_) {
       var t1 = this.get$_set$_set();
       return t1.get$length(t1);
     },
-    map$1: function(_, f) {
+    map$1(_, f) {
       var result, _this = this,
         t1 = _this.$ti;
       t1._eval$1("1(1)")._as(f);
@@ -19796,7 +19915,7 @@
       _this.set$_setOwner(null);
       _this.set$__SetBuilder__set(result);
     },
-    get$_safeSet: function() {
+    get$_safeSet() {
       var t1, _this = this;
       if (_this._setOwner != null) {
         t1 = _this._createSet$0();
@@ -19806,10 +19925,10 @@
       }
       return _this.get$_set$_set();
     },
-    _createSet$0: function() {
+    _createSet$0() {
       return P.LinkedHashSet_LinkedHashSet$_empty(this.$ti._precomputed1);
     },
-    _maybeCheckElements$1: function(elements) {
+    _maybeCheckElements$1(elements) {
       var t2,
         t1 = this.$ti;
       t1._eval$1("Iterable<1>")._as(elements);
@@ -19817,17 +19936,17 @@
         return;
       for (t2 = P._LinkedHashSetIterator$(elements, elements._collection$_modifications, H._instanceType(elements)._precomputed1), t1 = t1._precomputed1; t2.moveNext$0();)
         if (t1._as(t2._collection$_current) == null)
-          H.throwExpression(P.ArgumentError$("null element"));
+          H.throwExpression(P.ArgumentError$("null element", null));
     },
-    set$__SetBuilder__set: function(__SetBuilder__set) {
+    set$__SetBuilder__set(__SetBuilder__set) {
       this.__SetBuilder__set = this.$ti._eval$1("Set<1>?")._as(__SetBuilder__set);
     },
-    set$_setOwner: function(_setOwner) {
+    set$_setOwner(_setOwner) {
       this._setOwner = this.$ti._eval$1("_BuiltSet<1>?")._as(_setOwner);
     }
   };
   M.BuiltSetMultimap.prototype = {
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var _this = this,
         t1 = _this._set_multimap$_hashCode;
       if (t1 == null) {
@@ -19837,7 +19956,7 @@
       }
       return t1;
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       var t1, t2, t3, t4, t5, t6, t7, key, result, t8, _this = this;
       if (other == null)
         return false;
@@ -19863,10 +19982,10 @@
       }
       return true;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$(this._set_multimap$_map);
     },
-    get$keys: function(_) {
+    get$keys(_) {
       var t1, _this = this;
       if (_this._set_multimap$_keys == null)
         _this.set$_set_multimap$_keys(J.get$keys$x(_this._set_multimap$_map));
@@ -19874,15 +19993,15 @@
       t1.toString;
       return t1;
     },
-    get$length: function(_) {
+    get$length(_) {
       return J.get$length$asx(this._set_multimap$_map);
     },
-    set$_set_multimap$_keys: function(_keys) {
+    set$_set_multimap$_keys(_keys) {
       this._set_multimap$_keys = this.$ti._eval$1("Iterable<1>?")._as(_keys);
     }
   };
   M.BuiltSetMultimap_hashCode_closure.prototype = {
-    call$1: function(key) {
+    call$1(key) {
       var t2,
         t1 = this.$this;
       t1.$ti._precomputed1._as(key);
@@ -19890,21 +20009,21 @@
       t1 = J.get$hashCode$(J.$index$asx(t1._set_multimap$_map, key));
       return A._finish(A._combine(A._combine(0, J.get$hashCode$(t2)), J.get$hashCode$(t1)));
     },
-    $signature: function() {
+    $signature() {
       return this.$this.$ti._eval$1("int(1)");
     }
   };
   M._BuiltSetMultimap.prototype = {};
   M.SetMultimapBuilder.prototype = {
-    get$_builtMap: function() {
+    get$_builtMap() {
       var t1 = this.__SetMultimapBuilder__builtMap;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_builtMap")) : t1;
     },
-    get$_builderMap: function() {
+    get$_builderMap() {
       var t1 = this.__SetMultimapBuilder__builderMap;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_builderMap")) : t1;
     },
-    build$0: function() {
+    build$0() {
       var t1, key, t2, t3, t4, builtSet, _this = this,
         _s9_ = "_builtMap";
       if (_this._builtMapOwner == null) {
@@ -19936,10 +20055,10 @@
       t1.toString;
       return t1;
     },
-    replace$1: function(_, multimap) {
+    replace$1(_, multimap) {
       this._setWithCopyAndCheck$2(multimap.get$keys(multimap), new M.SetMultimapBuilder_replace_closure(multimap));
     },
-    _getValuesBuilder$1: function(key) {
+    _getValuesBuilder$1(key) {
       var result, builtValues, _this = this,
         t1 = _this.$ti;
       t1._precomputed1._as(key);
@@ -19957,9 +20076,9 @@
       }
       return result;
     },
-    _setWithCopyAndCheck$2: function(keys, lookup) {
-      var t1, t2, t3, t4, t5, t6, key, t7, value, t8, t9, _this = this;
-      _this.set$_builtMapOwner(null);
+    _setWithCopyAndCheck$2(keys, lookup) {
+      var t1, t2, t3, t4, t5, t6, key, t7, value, t8, t9, _this = this, _null = null;
+      _this.set$_builtMapOwner(_null);
       t1 = _this.$ti;
       t2 = t1._precomputed1;
       t3 = t1._eval$1("BuiltSet<2>");
@@ -19977,7 +20096,7 @@
               if (_this._builtMapOwner != null) {
                 t8 = _this.__SetMultimapBuilder__builtMap;
                 _this.set$__SetMultimapBuilder__builtMap(t4._as(P.LinkedHashMap_LinkedHashMap$from(t8 === $ ? H.throwExpression(H.LateError$fieldNI("_builtMap")) : t8, t2, t3)));
-                _this.set$_builtMapOwner(null);
+                _this.set$_builtMapOwner(_null);
               }
               _this._set_multimap$_checkKey$1(key);
               _this._set_multimap$_checkValue$1(value);
@@ -19986,16 +20105,16 @@
               t9._as(value);
               if (!$.$get$isSoundMode() && !t9._is(null))
                 if (value == null)
-                  H.throwExpression(P.ArgumentError$("null element"));
+                  H.throwExpression(P.ArgumentError$("null element", _null));
               t8.get$_safeSet().add$1(0, value);
             } else
-              throw H.wrapException(P.ArgumentError$("map contained invalid value: " + H.S(value) + ", for key " + H.S(key)));
+              throw H.wrapException(P.ArgumentError$("map contained invalid value: " + H.S(value) + ", for key " + H.S(key), _null));
           }
         else
-          throw H.wrapException(P.ArgumentError$("map contained invalid key: " + H.S(key)));
+          throw H.wrapException(P.ArgumentError$("map contained invalid key: " + H.S(key), _null));
       }
     },
-    _set_multimap$_checkKey$1: function(key) {
+    _set_multimap$_checkKey$1(key) {
       var t1 = this.$ti._precomputed1;
       t1._as(key);
       if ($.$get$isSoundMode())
@@ -20003,9 +20122,9 @@
       if (t1._is(null))
         return;
       if (key == null)
-        throw H.wrapException(P.ArgumentError$("invalid key: " + H.S(key)));
+        throw H.wrapException(P.ArgumentError$("invalid key: " + H.S(key), null));
     },
-    _set_multimap$_checkValue$1: function(value) {
+    _set_multimap$_checkValue$1(value) {
       var t1 = this.$ti._rest[1];
       t1._as(value);
       if ($.$get$isSoundMode())
@@ -20013,31 +20132,31 @@
       if (t1._is(null))
         return;
       if (value == null)
-        throw H.wrapException(P.ArgumentError$("invalid value: " + H.S(value)));
+        throw H.wrapException(P.ArgumentError$("invalid value: " + H.S(value), null));
     },
-    set$__SetMultimapBuilder__builtMap: function(__SetMultimapBuilder__builtMap) {
+    set$__SetMultimapBuilder__builtMap(__SetMultimapBuilder__builtMap) {
       this.__SetMultimapBuilder__builtMap = this.$ti._eval$1("Map<1,BuiltSet<2>>?")._as(__SetMultimapBuilder__builtMap);
     },
-    set$_builtMapOwner: function(_builtMapOwner) {
+    set$_builtMapOwner(_builtMapOwner) {
       this._builtMapOwner = this.$ti._eval$1("_BuiltSetMultimap<1,2>?")._as(_builtMapOwner);
     },
-    set$__SetMultimapBuilder__builderMap: function(__SetMultimapBuilder__builderMap) {
+    set$__SetMultimapBuilder__builderMap(__SetMultimapBuilder__builderMap) {
       this.__SetMultimapBuilder__builderMap = this.$ti._eval$1("Map<1,SetBuilder<2>>?")._as(__SetMultimapBuilder__builderMap);
     }
   };
   M.SetMultimapBuilder_replace_closure.prototype = {
-    call$1: function(k) {
+    call$1(k) {
       return this.multimap.$index(0, k);
     },
     $signature: 1
   };
   Y.EnumClass.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return this.name;
     }
   };
   Y.newBuiltValueToStringHelper_closure.prototype = {
-    call$1: function(className) {
+    call$1(className) {
       var t1 = new P.StringBuffer("");
       t1._contents = className;
       t1._contents = className + " {\n";
@@ -20047,7 +20166,7 @@
     $signature: 45
   };
   Y.IndentingBuiltValueToStringHelper.prototype = {
-    add$2: function(_, field, value) {
+    add$2(_, field, value) {
       var t1, t2;
       if (value != null) {
         t1 = this._result;
@@ -20060,7 +20179,7 @@
         t1._contents = t2 + ",\n";
       }
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t2, stringResult,
         t1 = $._indentingBuiltValueToStringHelperIndent - 2;
       $._indentingBuiltValueToStringHelperIndent = t1;
@@ -20074,23 +20193,23 @@
     }
   };
   Y.BuiltValueNullFieldError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = this.field;
       return 'Tried to construct class "' + this.type + '" with null field "' + t1 + '". This is forbidden; to allow it, mark "' + t1 + '" with @nullable.';
     }
   };
   Y.BuiltValueNestedFieldError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return 'Tried to build class "' + this.type + '" but nested builder for field "' + H.S(this.field) + '" threw: ' + H.S(this.error);
     }
   };
   A.JsonObject.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$(this.get$value(this));
     }
   };
   A.BoolJsonObject.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
@@ -20099,15 +20218,15 @@
         return false;
       return this.value === other.value;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return C.JSBool_methods.get$hashCode(this.value);
     },
-    get$value: function(receiver) {
+    get$value(receiver) {
       return this.value;
     }
   };
   A.ListJsonObject.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
@@ -20116,15 +20235,15 @@
         return false;
       return C.C_DeepCollectionEquality.equals$2(this.value, other.value);
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return C.C_DeepCollectionEquality.hash$1(0, this.value);
     },
-    get$value: function(receiver) {
+    get$value(receiver) {
       return this.value;
     }
   };
   A.MapJsonObject.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
@@ -20133,15 +20252,15 @@
         return false;
       return C.C_DeepCollectionEquality.equals$2(this.value, other.value);
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return C.C_DeepCollectionEquality.hash$1(0, this.value);
     },
-    get$value: function(receiver) {
+    get$value(receiver) {
       return this.value;
     }
   };
   A.NumJsonObject.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
@@ -20150,15 +20269,15 @@
         return false;
       return this.value === other.value;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return C.JSNumber_methods.get$hashCode(this.value);
     },
-    get$value: function(receiver) {
+    get$value(receiver) {
       return this.value;
     }
   };
   A.StringJsonObject.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
@@ -20167,58 +20286,48 @@
         return false;
       return this.value === other.value;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return C.JSString_methods.get$hashCode(this.value);
     },
-    get$value: function(receiver) {
+    get$value(receiver) {
       return this.value;
     }
   };
   U.Serializers_Serializers_closure.prototype = {
-    call$0: function() {
+    call$0() {
       return D.ListBuilder_ListBuilder(C.List_empty0, type$.Object);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 46
   };
   U.Serializers_Serializers_closure0.prototype = {
-    call$0: function() {
+    call$0() {
       var t1 = type$.Object;
       return R.ListMultimapBuilder_ListMultimapBuilder(t1, t1);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 47
   };
   U.Serializers_Serializers_closure1.prototype = {
-    call$0: function() {
+    call$0() {
       var t1 = type$.Object;
       return A.MapBuilder_MapBuilder(t1, t1);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 48
   };
   U.Serializers_Serializers_closure2.prototype = {
-    call$0: function() {
+    call$0() {
       return X.SetBuilder_SetBuilder(type$.Object);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 49
   };
   U.Serializers_Serializers_closure3.prototype = {
-    call$0: function() {
+    call$0() {
       var t1 = type$.Object;
       return M.SetMultimapBuilder_SetMultimapBuilder(t1, t1);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 50
   };
   U.FullType.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       var t1, t2, t3, t4, i, t5, _this = this;
       if (other == null)
         return false;
@@ -20247,12 +20356,12 @@
       }
       return true;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var t1 = A.hashObjects(this.parameters);
       t1 = A._finish(A._combine(A._combine(0, J.get$hashCode$(this.root)), C.JSInt_methods.get$hashCode(t1)));
       return t1 ^ (this.nullable ? 1768878041 : 0);
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t2,
         t1 = this.root;
       if (t1 == null)
@@ -20266,18 +20375,18 @@
     }
   };
   U.DeserializationError.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "Deserializing '" + this.json + "' to '" + this.type.toString$0(0) + "' failed due to: " + this.error.toString$0(0);
     }
   };
   O.BigIntSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, bigInt, specifiedType) {
+    serialize$3$specifiedType(serializers, bigInt, specifiedType) {
       return type$.BigInt._as(bigInt).toString$0(0);
     },
-    serialize$2: function(serializers, bigInt) {
+    serialize$2(serializers, bigInt) {
       return this.serialize$3$specifiedType(serializers, bigInt, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var result;
       H._asStringS(serialized);
       result = P._BigIntImpl__tryParse(serialized, null);
@@ -20285,42 +20394,42 @@
         H.throwExpression(P.FormatException$("Could not parse BigInt", serialized, null));
       return result;
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "BigInt";
     }
   };
   R.BoolSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, boolean, specifiedType) {
+    serialize$3$specifiedType(serializers, boolean, specifiedType) {
       return H._asBoolS(boolean);
     },
-    serialize$2: function(serializers, boolean) {
+    serialize$2(serializers, boolean) {
       return this.serialize$3$specifiedType(serializers, boolean, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       return H._asBoolS(serialized);
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "bool";
     }
   };
   Y.BuiltJsonSerializers.prototype = {
-    serialize$2$specifiedType: function(object, specifiedType) {
+    serialize$2$specifiedType(object, specifiedType) {
       var t1, t2, t3, transformedObject, result;
       for (t1 = this.serializerPlugins._list, t2 = J.getInterceptor$ax(t1), t3 = t2.get$iterator(t1), transformedObject = object; t3.moveNext$0();)
         transformedObject = t3.get$current(t3).beforeSerialize$2(transformedObject, specifiedType);
@@ -20329,10 +20438,10 @@
         result = t1.get$current(t1).afterSerialize$2(result, specifiedType);
       return result;
     },
-    serialize$1: function(object) {
+    serialize$1(object) {
       return this.serialize$2$specifiedType(object, C.FullType_null_List_empty_false);
     },
-    _serialize$2: function(object, specifiedType) {
+    _serialize$2(object, specifiedType) {
       var serializer, result, _this = this,
         _s62_ = string$.serial,
         t1 = specifiedType.root;
@@ -20346,7 +20455,7 @@
           C.JSArray_methods.addAll$1(result, serializer.serialize$2(_this, object));
           return result;
         } else if (type$.PrimitiveSerializer_dynamic._is(serializer))
-          return object == null ? [serializer.get$wireName(), null] : H.setRuntimeTypeInfo([serializer.get$wireName(), serializer.serialize$2(_this, object)], type$.JSArray_Object);
+          return object == null ? [serializer.get$wireName(), null] : H._setArrayType([serializer.get$wireName(), serializer.serialize$2(_this, object)], type$.JSArray_Object);
         else
           throw H.wrapException(P.StateError$(_s62_));
       } else {
@@ -20361,7 +20470,7 @@
           throw H.wrapException(P.StateError$(_s62_));
       }
     },
-    deserialize$2$specifiedType: function(object, specifiedType) {
+    deserialize$2$specifiedType(object, specifiedType) {
       var t1, t2, t3, transformedObject, result;
       for (t1 = this.serializerPlugins._list, t2 = J.getInterceptor$ax(t1), t3 = t2.get$iterator(t1), transformedObject = object; t3.moveNext$0();)
         transformedObject = t3.get$current(t3).beforeDeserialize$2(transformedObject, specifiedType);
@@ -20370,10 +20479,10 @@
         result = t1.get$current(t1).afterDeserialize$2(result, specifiedType);
       return result;
     },
-    deserialize$1: function(object) {
+    deserialize$1(object) {
       return this.deserialize$2$specifiedType(object, C.FullType_null_List_empty_false);
     },
-    _deserialize$3: function(objectBeforePlugins, object, specifiedType) {
+    _deserialize$3(objectBeforePlugins, object, specifiedType) {
       var serializer, error, primitive, error0, serializer0, error1, error2, wireName, exception, _this = this,
         _s19_ = "No serializer for '",
         _s62_ = string$.serial,
@@ -20447,7 +20556,7 @@
           throw H.wrapException(P.StateError$(_s62_));
       }
     },
-    serializerForType$1: function(type) {
+    serializerForType$1(type) {
       var t1 = J.$index$asx(this._typeToSerializer._map$_map, type);
       if (t1 == null) {
         t1 = Y._getRawName(type);
@@ -20455,7 +20564,7 @@
       }
       return t1;
     },
-    newBuilder$1: function(fullType) {
+    newBuilder$1(fullType) {
       var builderFactory = J.$index$asx(this.builderFactories._map$_map, fullType);
       if (builderFactory == null) {
         this._throwMissingBuilderFactory$1(fullType);
@@ -20463,22 +20572,22 @@
       }
       return builderFactory.call$0();
     },
-    expectBuilder$1: function(fullType) {
+    expectBuilder$1(fullType) {
       if (!J.containsKey$1$x(this.builderFactories._map$_map, fullType)) {
         this._throwMissingBuilderFactory$1(fullType);
         H.ReachabilityError$(string$._null_);
       }
     },
-    _throwMissingBuilderFactory$1: function(fullType) {
+    _throwMissingBuilderFactory$1(fullType) {
       throw H.wrapException(P.StateError$("No builder factory for " + fullType.toString$0(0) + ". Fix by adding one, see SerializersBuilder.addBuilderFactory."));
     },
     $isSerializers: 1
   };
   Y.BuiltJsonSerializersBuilder.prototype = {
-    add$1: function(_, serializer) {
+    add$1(_, serializer) {
       var t1, t2, t3, t4, t5, t6, $name, genericsStart, t7;
       if (!type$.StructuredSerializer_dynamic._is(serializer) && !type$.PrimitiveSerializer_dynamic._is(serializer))
-        throw H.wrapException(P.ArgumentError$(string$.serial));
+        throw H.wrapException(P.ArgumentError$(string$.serial, null));
       this._wireNameToSerializer.$indexSet(0, serializer.get$wireName(), serializer);
       for (t1 = J.get$iterator$ax(serializer.get$types(serializer)), t2 = this._typeToSerializer, t3 = t2.$ti, t4 = t3._precomputed1, t3 = t3._rest[1], t5 = this._typeNameToSerializer; t1.moveNext$0();) {
         t6 = t1.get$current(t1);
@@ -20498,7 +20607,7 @@
         J.$indexSet$ax(t5.get$_safeMap(), t6, serializer);
       }
     },
-    addBuilderFactory$2: function(types, $function) {
+    addBuilderFactory$2(types, $function) {
       var t2, t3,
         t1 = this._builderFactories;
       t1.$indexSet(0, types, $function);
@@ -20506,13 +20615,13 @@
       t3 = types.parameters;
       t1.$indexSet(0, !types.nullable ? new U.FullType(t2, t3, true) : new U.FullType(t2, t3, false), $function);
     },
-    build$0: function() {
+    build$0() {
       var _this = this;
       return new Y.BuiltJsonSerializers(_this._typeToSerializer.build$0(), _this._wireNameToSerializer.build$0(), _this._typeNameToSerializer.build$0(), _this._builderFactories.build$0(), _this._plugins.build$0());
     }
   };
   R.BuiltListMultimapSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, builtListMultimap, specifiedType) {
+    serialize$3$specifiedType(serializers, builtListMultimap, specifiedType) {
       var t1, t2, t3, keyType, valueType, result, t4, t5, key, result0, t6;
       type$.BuiltListMultimap_dynamic_dynamic._as(builtListMultimap);
       if (!(specifiedType.root == null || specifiedType.parameters.length === 0))
@@ -20544,11 +20653,11 @@
       }
       return result;
     },
-    serialize$2: function(serializers, builtListMultimap) {
+    serialize$2(serializers, builtListMultimap) {
       return this.serialize$3$specifiedType(serializers, builtListMultimap, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
-      var isUnderspecified, t2, t3, t4, keyType, valueType, result, i, key, values, value, t5, t6, t7, t8,
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
+      var isUnderspecified, t2, t3, t4, keyType, valueType, result, i, key, values, value, t5, t6, t7, t8, _null = null,
         t1 = type$.Iterable_nullable_Object;
       t1._as(serialized);
       isUnderspecified = specifiedType.root == null || specifiedType.parameters.length === 0;
@@ -20576,7 +20685,7 @@
         result = type$.ListMultimapBuilder_dynamic_dynamic._as(serializers.newBuilder$1(specifiedType));
       t2 = J.getInterceptor$asx(serialized);
       if (C.JSInt_methods.$mod(t2.get$length(serialized), 2) === 1)
-        throw H.wrapException(P.ArgumentError$("odd length"));
+        throw H.wrapException(P.ArgumentError$("odd length", _null));
       for (t3 = type$.nullable_Object, i = 0; i !== t2.get$length(serialized); i += 2) {
         key = serializers.deserialize$2$specifiedType(t2.elementAt$1(serialized, i), keyType);
         values = J.map$1$1$ax(t1._as(t2.elementAt$1(serialized, i + 1)), new R.BuiltListMultimapSerializer_deserialize_closure(serializers, valueType), t3);
@@ -20592,7 +20701,7 @@
             if (t7 === $)
               t7 = H.throwExpression(H.LateError$fieldNI("_builtMap"));
             result.set$__ListMultimapBuilder__builtMap(t5._eval$1("Map<1,BuiltList<2>>")._as(P.LinkedHashMap_LinkedHashMap$from(t7, t6, t5._eval$1("BuiltList<2>"))));
-            result.set$_list_multimap$_builtMapOwner(null);
+            result.set$_list_multimap$_builtMapOwner(_null);
           }
           result._list_multimap$_checkKey$1(key);
           result._list_multimap$_checkValue$1(value);
@@ -20602,11 +20711,11 @@
           t7._as(value);
           if (!$.$get$isSoundMode() && !t7._is(null))
             if (value == null)
-              H.throwExpression(P.ArgumentError$("null element"));
+              H.throwExpression(P.ArgumentError$("null element", _null));
           if (t5._listOwner != null) {
             t8 = t5.__ListBuilder__list;
             t5.set$__ListBuilder__list(t6._eval$1("List<1>")._as(P.List_List$from(t8 === $ ? H.throwExpression(H.LateError$fieldNI("_list")) : t8, true, t7)));
-            t5.set$_listOwner(null);
+            t5.set$_listOwner(_null);
           }
           t5 = t5.__ListBuilder__list;
           J.add$1$ax(t5 === $ ? H.throwExpression(H.LateError$fieldNI("_list")) : t5, value);
@@ -20614,32 +20723,32 @@
       }
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "listMultimap";
     }
   };
   R.BuiltListMultimapSerializer_serialize_closure.prototype = {
-    call$1: function(value) {
+    call$1(value) {
       return this.serializers.serialize$2$specifiedType(value, this.valueType);
     },
     $signature: 3
   };
   R.BuiltListMultimapSerializer_deserialize_closure.prototype = {
-    call$1: function(value) {
+    call$1(value) {
       return this.serializers.deserialize$2$specifiedType(value, this.valueType);
     },
     $signature: 28
   };
   K.BuiltListSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, builtList, specifiedType) {
+    serialize$3$specifiedType(serializers, builtList, specifiedType) {
       var t1, t2, elementType;
       type$.BuiltList_dynamic._as(builtList);
       if (!(specifiedType.root == null || specifiedType.parameters.length === 0))
@@ -20656,10 +20765,10 @@
       builtList.toString;
       return J.map$1$1$ax(builtList._list, builtList.$ti._eval$1("Object?(1)")._as(new K.BuiltListSerializer_serialize_closure(serializers, elementType)), type$.nullable_Object);
     },
-    serialize$2: function(serializers, builtList) {
+    serialize$2(serializers, builtList) {
       return this.serialize$3$specifiedType(serializers, builtList, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var isUnderspecified, t1, t2, elementType, result;
       type$.Iterable_dynamic._as(serialized);
       isUnderspecified = specifiedType.root == null || specifiedType.parameters.length === 0;
@@ -20676,32 +20785,32 @@
       result.replace$1(0, J.map$1$1$ax(serialized, new K.BuiltListSerializer_deserialize_closure(serializers, elementType), type$.dynamic));
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "list";
     }
   };
   K.BuiltListSerializer_serialize_closure.prototype = {
-    call$1: function(item) {
+    call$1(item) {
       return this.serializers.serialize$2$specifiedType(item, this.elementType);
     },
     $signature: 3
   };
   K.BuiltListSerializer_deserialize_closure.prototype = {
-    call$1: function(item) {
+    call$1(item) {
       return this.serializers.deserialize$2$specifiedType(item, this.elementType);
     },
     $signature: 3
   };
   K.BuiltMapSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, builtMap, specifiedType) {
+    serialize$3$specifiedType(serializers, builtMap, specifiedType) {
       var t1, t2, t3, keyType, valueType, result, key;
       type$.BuiltMap_dynamic_dynamic._as(builtMap);
       if (!(specifiedType.root == null || specifiedType.parameters.length === 0))
@@ -20731,10 +20840,10 @@
       }
       return result;
     },
-    serialize$2: function(serializers, builtMap) {
+    serialize$2(serializers, builtMap) {
       return this.serialize$3$specifiedType(serializers, builtMap, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var isUnderspecified, t1, t2, t3, keyType, valueType, result, i, key, value;
       type$.Iterable_dynamic._as(serialized);
       isUnderspecified = specifiedType.root == null || specifiedType.parameters.length === 0;
@@ -20762,7 +20871,7 @@
         result = type$.MapBuilder_dynamic_dynamic._as(serializers.newBuilder$1(specifiedType));
       t1 = J.getInterceptor$asx(serialized);
       if (C.JSInt_methods.$mod(t1.get$length(serialized), 2) === 1)
-        throw H.wrapException(P.ArgumentError$("odd length"));
+        throw H.wrapException(P.ArgumentError$("odd length", null));
       for (i = 0; i !== t1.get$length(serialized); i += 2) {
         key = serializers.deserialize$2$specifiedType(t1.elementAt$1(serialized, i), keyType);
         value = serializers.deserialize$2$specifiedType(t1.elementAt$1(serialized, i + 1), valueType);
@@ -20776,20 +20885,20 @@
       }
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "map";
     }
   };
   R.BuiltSetMultimapSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, builtSetMultimap, specifiedType) {
+    serialize$3$specifiedType(serializers, builtSetMultimap, specifiedType) {
       var t1, t2, t3, keyType, valueType, result, t4, t5, key, result0, t6;
       type$.BuiltSetMultimap_dynamic_dynamic._as(builtSetMultimap);
       if (!(specifiedType.root == null || specifiedType.parameters.length === 0))
@@ -20822,10 +20931,10 @@
       }
       return result;
     },
-    serialize$2: function(serializers, builtSetMultimap) {
+    serialize$2(serializers, builtSetMultimap) {
       return this.serialize$3$specifiedType(serializers, builtSetMultimap, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var isUnderspecified, t2, t3, t4, keyType, valueType, result, i, key, value, t5, t6,
         t1 = type$.Iterable_dynamic;
       t1._as(serialized);
@@ -20854,7 +20963,7 @@
         result = type$.SetMultimapBuilder_dynamic_dynamic._as(serializers.newBuilder$1(specifiedType));
       t2 = J.getInterceptor$asx(serialized);
       if (C.JSInt_methods.$mod(t2.get$length(serialized), 2) === 1)
-        throw H.wrapException(P.ArgumentError$("odd length"));
+        throw H.wrapException(P.ArgumentError$("odd length", null));
       for (i = 0; i !== t2.get$length(serialized); i += 2) {
         key = serializers.deserialize$2$specifiedType(t2.elementAt$1(serialized, i), keyType);
         for (t3 = J.get$iterator$ax(t1._as(J.map$1$ax(t2.elementAt$1(serialized, i + 1), new R.BuiltSetMultimapSerializer_deserialize_closure(serializers, valueType)))); t3.moveNext$0();) {
@@ -20878,38 +20987,38 @@
           t5._as(value);
           if (!$.$get$isSoundMode() && !t5._is(null))
             if (value == null)
-              H.throwExpression(P.ArgumentError$("null element"));
+              H.throwExpression(P.ArgumentError$("null element", null));
           t4.get$_safeSet().add$1(0, value);
         }
       }
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "setMultimap";
     }
   };
   R.BuiltSetMultimapSerializer_serialize_closure.prototype = {
-    call$1: function(value) {
+    call$1(value) {
       return this.serializers.serialize$2$specifiedType(value, this.valueType);
     },
     $signature: 3
   };
   R.BuiltSetMultimapSerializer_deserialize_closure.prototype = {
-    call$1: function(value) {
+    call$1(value) {
       return this.serializers.deserialize$2$specifiedType(value, this.valueType);
     },
     $signature: 3
   };
   O.BuiltSetSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, builtSet, specifiedType) {
+    serialize$3$specifiedType(serializers, builtSet, specifiedType) {
       var t1, t2, elementType;
       type$.BuiltSet_dynamic._as(builtSet);
       if (!(specifiedType.root == null || specifiedType.parameters.length === 0))
@@ -20926,10 +21035,10 @@
       builtSet.toString;
       return builtSet._set$_set.map$1$1(0, builtSet.$ti._eval$1("Object?(1)")._as(new O.BuiltSetSerializer_serialize_closure(serializers, elementType)), type$.nullable_Object);
     },
-    serialize$2: function(serializers, builtSet) {
+    serialize$2(serializers, builtSet) {
       return this.serialize$3$specifiedType(serializers, builtSet, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var isUnderspecified, t1, t2, elementType, result;
       type$.Iterable_dynamic._as(serialized);
       isUnderspecified = specifiedType.root == null || specifiedType.parameters.length === 0;
@@ -20946,41 +21055,41 @@
       result.replace$1(0, J.map$1$1$ax(serialized, new O.BuiltSetSerializer_deserialize_closure(serializers, elementType), type$.dynamic));
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "set";
     }
   };
   O.BuiltSetSerializer_serialize_closure.prototype = {
-    call$1: function(item) {
+    call$1(item) {
       return this.serializers.serialize$2$specifiedType(item, this.elementType);
     },
     $signature: 3
   };
   O.BuiltSetSerializer_deserialize_closure.prototype = {
-    call$1: function(item) {
+    call$1(item) {
       return this.serializers.deserialize$2$specifiedType(item, this.elementType);
     },
     $signature: 3
   };
   Z.DateTimeSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, dateTime, specifiedType) {
+    serialize$3$specifiedType(serializers, dateTime, specifiedType) {
       type$.DateTime._as(dateTime);
       if (!dateTime.isUtc)
         throw H.wrapException(P.ArgumentError$value(dateTime, "dateTime", "Must be in utc for serialization."));
       return 1000 * dateTime._value;
     },
-    serialize$2: function(serializers, dateTime) {
+    serialize$2(serializers, dateTime) {
       return this.serialize$3$specifiedType(serializers, dateTime, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var t2,
         t1 = C.JSNumber_methods.round$0(H._asIntS(serialized) / 1000);
       if (Math.abs(t1) <= 864e13)
@@ -20988,24 +21097,24 @@
       else
         t2 = true;
       if (t2)
-        H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + t1));
+        H.throwExpression(P.ArgumentError$("DateTime is outside valid range: " + t1, null));
       H.checkNotNullable(true, "isUtc", type$.bool);
       return new P.DateTime(t1, true);
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "DateTime";
     }
   };
   D.DoubleSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, aDouble, specifiedType) {
+    serialize$3$specifiedType(serializers, aDouble, specifiedType) {
       H._asDoubleS(aDouble);
       if (isNaN(aDouble))
         return "NaN";
@@ -21014,10 +21123,10 @@
       else
         return aDouble;
     },
-    serialize$2: function(serializers, aDouble) {
+    serialize$2(serializers, aDouble) {
       return this.serialize$3$specifiedType(serializers, aDouble, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var t1 = J.getInterceptor$(serialized);
       if (t1.$eq(serialized, "NaN"))
         return 0 / 0;
@@ -21028,132 +21137,132 @@
       else
         return H._asNumS(serialized);
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "double";
     }
   };
   K.DurationSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, duration, specifiedType) {
+    serialize$3$specifiedType(serializers, duration, specifiedType) {
       return type$.Duration._as(duration)._duration;
     },
-    serialize$2: function(serializers, duration) {
+    serialize$2(serializers, duration) {
       return this.serialize$3$specifiedType(serializers, duration, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       return new P.Duration(H._asIntS(serialized));
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "Duration";
     }
   };
   Q.Int64Serializer.prototype = {
-    serialize$3$specifiedType: function(serializers, int64, specifiedType) {
+    serialize$3$specifiedType(serializers, int64, specifiedType) {
       return type$.Int64._as(int64)._toRadixString$1(10);
     },
-    serialize$2: function(serializers, int64) {
+    serialize$2(serializers, int64) {
       return this.serialize$3$specifiedType(serializers, int64, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       return V.Int64__parseRadix(H._asStringS(serialized), 10);
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "Int64";
     }
   };
   B.IntSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, integer, specifiedType) {
+    serialize$3$specifiedType(serializers, integer, specifiedType) {
       return H._asIntS(integer);
     },
-    serialize$2: function(serializers, integer) {
+    serialize$2(serializers, integer) {
       return this.serialize$3$specifiedType(serializers, integer, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       return H._asIntS(serialized);
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "int";
     }
   };
   O.JsonObjectSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, jsonObject, specifiedType) {
+    serialize$3$specifiedType(serializers, jsonObject, specifiedType) {
       type$.JsonObject._as(jsonObject);
       return jsonObject.get$value(jsonObject);
     },
-    serialize$2: function(serializers, jsonObject) {
+    serialize$2(serializers, jsonObject) {
       return this.serialize$3$specifiedType(serializers, jsonObject, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       return A.JsonObject_JsonObject(serialized);
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "JsonObject";
     }
   };
   S.NullSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, value, specifiedType) {
+    serialize$3$specifiedType(serializers, value, specifiedType) {
       type$.Null._as(value);
       throw H.wrapException(P.UnimplementedError$(null));
     },
-    serialize$2: function(serializers, value) {
+    serialize$2(serializers, value) {
       return this.serialize$3$specifiedType(serializers, value, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       throw H.wrapException(P.UnimplementedError$(null));
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "Null";
     }
   };
   K.NumSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, number, specifiedType) {
+    serialize$3$specifiedType(serializers, number, specifiedType) {
       H._asNumS(number);
       if (isNaN(number))
         return "NaN";
@@ -21162,10 +21271,10 @@
       else
         return number;
     },
-    serialize$2: function(serializers, number) {
+    serialize$2(serializers, number) {
       return this.serialize$3$specifiedType(serializers, number, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var t1 = J.getInterceptor$(serialized);
       if (t1.$eq(serialized, "NaN"))
         return 0 / 0;
@@ -21176,87 +21285,87 @@
       else
         return H._asNumS(serialized);
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "num";
     }
   };
   K.RegExpSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, value, specifiedType) {
+    serialize$3$specifiedType(serializers, value, specifiedType) {
       return type$.RegExp._as(value).pattern;
     },
-    serialize$2: function(serializers, value) {
+    serialize$2(serializers, value) {
       return this.serialize$3$specifiedType(serializers, value, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       return P.RegExp_RegExp(H._asStringS(serialized), true, false);
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "RegExp";
     }
   };
   M.StringSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, string, specifiedType) {
+    serialize$3$specifiedType(serializers, string, specifiedType) {
       return H._asStringS(string);
     },
-    serialize$2: function(serializers, string) {
+    serialize$2(serializers, string) {
       return this.serialize$3$specifiedType(serializers, string, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       return H._asStringS(serialized);
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "String";
     }
   };
   O.UriSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, uri, specifiedType) {
+    serialize$3$specifiedType(serializers, uri, specifiedType) {
       return type$.Uri._as(uri).toString$0(0);
     },
-    serialize$2: function(serializers, uri) {
+    serialize$2(serializers, uri) {
       return this.serialize$3$specifiedType(serializers, uri, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       return P.Uri_parse(H._asStringS(serialized));
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function(receiver) {
+    get$types(receiver) {
       return this.types;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "Uri";
     }
   };
   U.DefaultEquality.prototype = {$isEquality: 1};
   U.IterableEquality.prototype = {
-    equals$2: function(elements1, elements2) {
+    equals$2(elements1, elements2) {
       var it1, it2, hasNext,
         t1 = this.$ti._eval$1("Iterable<1>?");
       t1._as(elements1);
@@ -21275,7 +21384,7 @@
           return false;
       }
     },
-    hash$1: function(_, elements) {
+    hash$1(_, elements) {
       var t1, t2, hash, c;
       this.$ti._eval$1("Iterable<1>?")._as(elements);
       for (t1 = J.get$iterator$ax(elements), t2 = this._elementEquality, hash = 0; t1.moveNext$0();) {
@@ -21293,7 +21402,7 @@
     $isEquality: 1
   };
   U.ListEquality.prototype = {
-    equals$2: function(list1, list2) {
+    equals$2(list1, list2) {
       var $length, t2, t3, i,
         t1 = this.$ti._eval$1("List<1>?");
       t1._as(list1);
@@ -21310,7 +21419,7 @@
           return false;
       return true;
     },
-    hash$1: function(_, list) {
+    hash$1(_, list) {
       var t1, t2, hash, i, c;
       this.$ti._eval$1("List<1>?")._as(list);
       for (t1 = J.getInterceptor$asx(list), t2 = this._elementEquality, hash = 0, i = 0; i < t1.get$length(list); ++i) {
@@ -21328,7 +21437,7 @@
     $isEquality: 1
   };
   U._UnorderedEquality.prototype = {
-    equals$2: function(elements1, elements2) {
+    equals$2(elements1, elements2) {
       var counts, $length, e, count,
         t1 = H._instanceType(this),
         t2 = t1._eval$1("_UnorderedEquality.T");
@@ -21354,7 +21463,7 @@
       }
       return $length === 0;
     },
-    hash$1: function(_, elements) {
+    hash$1(_, elements) {
       var t1, t2, hash, c;
       H._instanceType(this)._eval$1("_UnorderedEquality.T")._as(elements);
       for (t1 = J.get$iterator$ax(elements), t2 = this._elementEquality, hash = 0; t1.moveNext$0();) {
@@ -21371,7 +21480,7 @@
   };
   U.SetEquality.prototype = {};
   U._MapEntry.prototype = {
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var t1 = this.equality,
         t2 = t1._keyEquality.hash$1(0, this.key);
       if (typeof t2 !== "number")
@@ -21381,7 +21490,7 @@
         return H.iae(t1);
       return 3 * t2 + 7 * t1 & 2147483647;
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       var t1;
       if (other == null)
         return false;
@@ -21394,7 +21503,7 @@
     }
   };
   U.MapEquality.prototype = {
-    equals$2: function(map1, map2) {
+    equals$2(map1, map2) {
       var t2, equalElementCounts, t3, key, entry, count,
         t1 = this.$ti._eval$1("Map<1,2>?");
       t1._as(map1);
@@ -21424,7 +21533,7 @@
       }
       return true;
     },
-    hash$1: function(_, map) {
+    hash$1(_, map) {
       var t1, t2, t3, t4, hash, key, keyHash, valueHash;
       this.$ti._eval$1("Map<1,2>?")._as(map);
       for (t1 = J.getInterceptor$x(map), t2 = J.get$iterator$ax(t1.get$keys(map)), t3 = this._keyEquality, t4 = this._valueEquality, hash = 0; t2.moveNext$0();) {
@@ -21444,7 +21553,7 @@
     $isEquality: 1
   };
   U.DeepCollectionEquality.prototype = {
-    equals$2: function(e1, e2) {
+    equals$2(e1, e2) {
       var _this = this,
         t1 = type$.Set_dynamic;
       if (t1._is(e1))
@@ -21460,7 +21569,7 @@
         return t1._is(e2) && H.boolConversionCheck(new U.IterableEquality(_this, type$.IterableEquality_dynamic).equals$2(e1, e2));
       return J.$eq$(e1, e2);
     },
-    hash$1: function(_, o) {
+    hash$1(_, o) {
       var _this = this;
       if (type$.Set_dynamic._is(o))
         return new U.SetEquality(_this, type$.SetEquality_dynamic).hash$1(0, o);
@@ -21472,7 +21581,7 @@
         return new U.IterableEquality(_this, type$.IterableEquality_dynamic).hash$1(0, o);
       return J.get$hashCode$(o);
     },
-    isValidKey$1: function(o) {
+    isValidKey$1(o) {
       !type$.Iterable_dynamic._is(o);
       return true;
     },
@@ -21481,35 +21590,35 @@
   Q.BuildStatus.prototype = {};
   Q.BuildResult.prototype = {};
   Q._$BuildStatusSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       return type$.legacy_BuildStatus._as(object).name;
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       return Q._$valueOf(H._asStringS(serialized));
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isPrimitiveSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_Type_BuildStatus_ahk;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "BuildStatus";
     }
   };
   Q._$BuildResultSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
-      return H.setRuntimeTypeInfo(["status", serializers.serialize$2$specifiedType(type$.legacy_BuildResult._as(object).status, C.FullType_FuN)], type$.JSArray_legacy_Object);
+    serialize$3$specifiedType(serializers, object, specifiedType) {
+      return H._setArrayType(["status", serializers.serialize$2$specifiedType(type$.legacy_BuildResult._as(object).status, C.FullType_FuN)], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var t1, key, value, t2, $$v, _$result,
         result = new Q.BuildResultBuilder(),
         iterator = J.get$iterator$ax(type$.legacy_Iterable_legacy_Object._as(serialized));
@@ -21538,30 +21647,30 @@
       }
       return result._build_result$_$v = _$result;
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_OHe;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "BuildResult";
     }
   };
   Q._$BuildResult.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
         return true;
       return other instanceof Q.BuildResult && this.status === other.status;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return Y.$jf(Y.$jc(0, H.Primitives_objectHashCode(this.status)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("BuildResult"),
         t2 = J.getInterceptor$ax(t1);
       t2.add$2(t1, "status", this.status);
@@ -21569,7 +21678,7 @@
     }
   };
   Q.BuildResultBuilder.prototype = {
-    get$_build_result$_$this: function() {
+    get$_build_result$_$this() {
       var _this = this,
         $$v = _this._build_result$_$v;
       if ($$v != null) {
@@ -21581,14 +21690,14 @@
   };
   E.ConnectRequest.prototype = {};
   E._$ConnectRequestSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       type$.legacy_ConnectRequest._as(object);
-      return H.setRuntimeTypeInfo(["appId", serializers.serialize$2$specifiedType(object.appId, C.FullType_h8g), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, C.FullType_h8g), "entrypointPath", serializers.serialize$2$specifiedType(object.entrypointPath, C.FullType_h8g)], type$.JSArray_legacy_Object);
+      return H._setArrayType(["appId", serializers.serialize$2$specifiedType(object.appId, C.FullType_h8g), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, C.FullType_h8g), "entrypointPath", serializers.serialize$2$specifiedType(object.entrypointPath, C.FullType_h8g)], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var key, value, t1,
         result = new E.ConnectRequestBuilder(),
         iterator = J.get$iterator$ax(type$.legacy_Iterable_legacy_Object._as(serialized));
@@ -21613,20 +21722,20 @@
       }
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_ssp;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "ConnectRequest";
     }
   };
   E._$ConnectRequest.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       var _this = this;
       if (other == null)
         return false;
@@ -21634,10 +21743,10 @@
         return true;
       return other instanceof E.ConnectRequest && _this.appId === other.appId && _this.instanceId === other.instanceId && _this.entrypointPath === other.entrypointPath;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return Y.$jf(Y.$jc(Y.$jc(Y.$jc(0, C.JSString_methods.get$hashCode(this.appId)), C.JSString_methods.get$hashCode(this.instanceId)), C.JSString_methods.get$hashCode(this.entrypointPath)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("ConnectRequest"),
         t2 = J.getInterceptor$ax(t1);
       t2.add$2(t1, "appId", this.appId);
@@ -21647,7 +21756,7 @@
     }
   };
   E.ConnectRequestBuilder.prototype = {
-    get$_$this: function() {
+    get$_$this() {
       var _this = this,
         $$v = _this._$v;
       if ($$v != null) {
@@ -21658,7 +21767,7 @@
       }
       return _this;
     },
-    build$0: function() {
+    build$0() {
       var t1, t2, t3, _this = this,
         _s14_ = "ConnectRequest",
         _$result = _this._$v;
@@ -21679,14 +21788,14 @@
   };
   G.DebugEvent.prototype = {};
   G._$DebugEventSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       type$.legacy_DebugEvent._as(object);
-      return H.setRuntimeTypeInfo(["kind", serializers.serialize$2$specifiedType(object.kind, C.FullType_h8g), "eventData", serializers.serialize$2$specifiedType(object.eventData, C.FullType_h8g), "timestamp", serializers.serialize$2$specifiedType(object.timestamp, C.FullType_kjq)], type$.JSArray_legacy_Object);
+      return H._setArrayType(["kind", serializers.serialize$2$specifiedType(object.kind, C.FullType_h8g), "eventData", serializers.serialize$2$specifiedType(object.eventData, C.FullType_h8g), "timestamp", serializers.serialize$2$specifiedType(object.timestamp, C.FullType_kjq)], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var key, value, t1,
         result = new G.DebugEventBuilder(),
         iterator = J.get$iterator$ax(type$.legacy_Iterable_legacy_Object._as(serialized));
@@ -21711,20 +21820,20 @@
       }
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_Cpu;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "DebugEvent";
     }
   };
   G._$DebugEvent.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       var _this = this;
       if (other == null)
         return false;
@@ -21732,10 +21841,10 @@
         return true;
       return other instanceof G.DebugEvent && _this.kind === other.kind && _this.eventData === other.eventData && _this.timestamp === other.timestamp;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return Y.$jf(Y.$jc(Y.$jc(Y.$jc(0, C.JSString_methods.get$hashCode(this.kind)), C.JSString_methods.get$hashCode(this.eventData)), C.JSInt_methods.get$hashCode(this.timestamp)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("DebugEvent"),
         t2 = J.getInterceptor$ax(t1);
       t2.add$2(t1, "kind", this.kind);
@@ -21745,7 +21854,7 @@
     }
   };
   G.DebugEventBuilder.prototype = {
-    get$_debug_event$_$this: function() {
+    get$_debug_event$_$this() {
       var _this = this,
         $$v = _this._debug_event$_$v;
       if ($$v != null) {
@@ -21756,7 +21865,7 @@
       }
       return _this;
     },
-    build$0: function() {
+    build$0() {
       var t1, t2, t3, _this = this,
         _s10_ = "DebugEvent",
         _$result = _this._debug_event$_$v;
@@ -21778,10 +21887,10 @@
   M.DevToolsRequest.prototype = {};
   M.DevToolsResponse.prototype = {};
   M._$DevToolsRequestSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       var result, value;
       type$.legacy_DevToolsRequest._as(object);
-      result = H.setRuntimeTypeInfo(["appId", serializers.serialize$2$specifiedType(object.appId, C.FullType_h8g), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, C.FullType_h8g)], type$.JSArray_legacy_Object);
+      result = H._setArrayType(["appId", serializers.serialize$2$specifiedType(object.appId, C.FullType_h8g), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, C.FullType_h8g)], type$.JSArray_legacy_Object);
       value = object.contextId;
       if (value != null) {
         C.JSArray_methods.add$1(result, "contextId");
@@ -21794,10 +21903,10 @@
       }
       return result;
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var key, value, t1,
         result = new M.DevToolsRequestBuilder(),
         iterator = J.get$iterator$ax(type$.legacy_Iterable_legacy_Object._as(serialized));
@@ -21826,23 +21935,23 @@
       }
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_BCG;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "DevToolsRequest";
     }
   };
   M._$DevToolsResponseSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       var result, value;
       type$.legacy_DevToolsResponse._as(object);
-      result = H.setRuntimeTypeInfo(["success", serializers.serialize$2$specifiedType(object.success, C.FullType_MtR), "promptExtension", serializers.serialize$2$specifiedType(object.promptExtension, C.FullType_MtR)], type$.JSArray_legacy_Object);
+      result = H._setArrayType(["success", serializers.serialize$2$specifiedType(object.success, C.FullType_MtR), "promptExtension", serializers.serialize$2$specifiedType(object.promptExtension, C.FullType_MtR)], type$.JSArray_legacy_Object);
       value = object.error;
       if (value != null) {
         C.JSArray_methods.add$1(result, "error");
@@ -21850,10 +21959,10 @@
       }
       return result;
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var key, value, t1, _$result, t2,
         _s16_ = "DevToolsResponse",
         result = new M.DevToolsResponseBuilder(),
@@ -21889,20 +21998,20 @@
       }
       return result._devtools_request$_$v = _$result;
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_41A;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "DevToolsResponse";
     }
   };
   M._$DevToolsRequest.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       var _this = this;
       if (other == null)
         return false;
@@ -21910,11 +22019,11 @@
         return true;
       return other instanceof M.DevToolsRequest && _this.appId === other.appId && _this.instanceId === other.instanceId && _this.contextId == other.contextId && _this.tabUrl == other.tabUrl;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var _this = this;
       return Y.$jf(Y.$jc(Y.$jc(Y.$jc(Y.$jc(0, C.JSString_methods.get$hashCode(_this.appId)), C.JSString_methods.get$hashCode(_this.instanceId)), J.get$hashCode$(_this.contextId)), J.get$hashCode$(_this.tabUrl)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var _this = this,
         t1 = $.$get$newBuiltValueToStringHelper().call$1("DevToolsRequest"),
         t2 = J.getInterceptor$ax(t1);
@@ -21926,7 +22035,7 @@
     }
   };
   M.DevToolsRequestBuilder.prototype = {
-    get$_devtools_request$_$this: function() {
+    get$_devtools_request$_$this() {
       var _this = this,
         $$v = _this._devtools_request$_$v;
       if ($$v != null) {
@@ -21938,7 +22047,7 @@
       }
       return _this;
     },
-    build$0: function() {
+    build$0() {
       var t1, t2, _this = this,
         _s15_ = "DevToolsRequest",
         _$result = _this._devtools_request$_$v;
@@ -21955,7 +22064,7 @@
     }
   };
   M._$DevToolsResponse.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       var _this = this;
       if (other == null)
         return false;
@@ -21963,10 +22072,10 @@
         return true;
       return other instanceof M.DevToolsResponse && _this.success === other.success && _this.promptExtension === other.promptExtension && _this.error == other.error;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return Y.$jf(Y.$jc(Y.$jc(Y.$jc(0, C.JSBool_methods.get$hashCode(this.success)), C.JSBool_methods.get$hashCode(this.promptExtension)), J.get$hashCode$(this.error)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("DevToolsResponse"),
         t2 = J.getInterceptor$ax(t1);
       t2.add$2(t1, "success", this.success);
@@ -21976,7 +22085,7 @@
     }
   };
   M.DevToolsResponseBuilder.prototype = {
-    get$_devtools_request$_$this: function() {
+    get$_devtools_request$_$this() {
       var _this = this,
         $$v = _this._devtools_request$_$v;
       if ($$v != null) {
@@ -21990,14 +22099,14 @@
   };
   X.ErrorResponse.prototype = {};
   X._$ErrorResponseSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       type$.legacy_ErrorResponse._as(object);
-      return H.setRuntimeTypeInfo(["error", serializers.serialize$2$specifiedType(object.error, C.FullType_h8g), "stackTrace", serializers.serialize$2$specifiedType(object.stackTrace, C.FullType_h8g)], type$.JSArray_legacy_Object);
+      return H._setArrayType(["error", serializers.serialize$2$specifiedType(object.error, C.FullType_h8g), "stackTrace", serializers.serialize$2$specifiedType(object.stackTrace, C.FullType_h8g)], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var key, value, t1, $$v, _$result, t2,
         _s13_ = "ErrorResponse",
         result = new X.ErrorResponseBuilder(),
@@ -22041,30 +22150,30 @@
       }
       return result._error_response$_$v = _$result;
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_gQA;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "ErrorResponse";
     }
   };
   X._$ErrorResponse.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
         return true;
       return other instanceof X.ErrorResponse && this.error === other.error && this.stackTrace === other.stackTrace;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return Y.$jf(Y.$jc(Y.$jc(0, C.JSString_methods.get$hashCode(this.error)), C.JSString_methods.get$hashCode(this.stackTrace)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("ErrorResponse"),
         t2 = J.getInterceptor$ax(t1);
       t2.add$2(t1, "error", this.error);
@@ -22073,7 +22182,7 @@
     }
   };
   X.ErrorResponseBuilder.prototype = {
-    get$_error_response$_$this: function() {
+    get$_error_response$_$this() {
       var _this = this,
         $$v = _this._error_response$_$v;
       if ($$v != null) {
@@ -22089,10 +22198,10 @@
   S.ExtensionEvent.prototype = {};
   S.BatchedEvents.prototype = {};
   S._$ExtensionRequestSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       var result, value;
       type$.legacy_ExtensionRequest._as(object);
-      result = H.setRuntimeTypeInfo(["id", serializers.serialize$2$specifiedType(object.id, C.FullType_kjq), "command", serializers.serialize$2$specifiedType(object.command, C.FullType_h8g)], type$.JSArray_legacy_Object);
+      result = H._setArrayType(["id", serializers.serialize$2$specifiedType(object.id, C.FullType_kjq), "command", serializers.serialize$2$specifiedType(object.command, C.FullType_h8g)], type$.JSArray_legacy_Object);
       value = object.commandParams;
       if (value != null) {
         C.JSArray_methods.add$1(result, "commandParams");
@@ -22100,10 +22209,10 @@
       }
       return result;
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var key, value, t1, _$result, t2,
         _s16_ = "ExtensionRequest",
         result = new S.ExtensionRequestBuilder(),
@@ -22139,23 +22248,23 @@
       }
       return result._extension_request$_$v = _$result;
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_evd;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "ExtensionRequest";
     }
   };
   S._$ExtensionResponseSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       var result, value;
       type$.legacy_ExtensionResponse._as(object);
-      result = H.setRuntimeTypeInfo(["id", serializers.serialize$2$specifiedType(object.id, C.FullType_kjq), "success", serializers.serialize$2$specifiedType(object.success, C.FullType_MtR), "result", serializers.serialize$2$specifiedType(object.result, C.FullType_h8g)], type$.JSArray_legacy_Object);
+      result = H._setArrayType(["id", serializers.serialize$2$specifiedType(object.id, C.FullType_kjq), "success", serializers.serialize$2$specifiedType(object.success, C.FullType_MtR), "result", serializers.serialize$2$specifiedType(object.result, C.FullType_h8g)], type$.JSArray_legacy_Object);
       value = object.error;
       if (value != null) {
         C.JSArray_methods.add$1(result, "error");
@@ -22163,10 +22272,10 @@
       }
       return result;
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var key, value, t1, _$result, t2, t3,
         _s17_ = "ExtensionResponse",
         result = new S.ExtensionResponseBuilder(),
@@ -22209,27 +22318,27 @@
       }
       return result._extension_request$_$v = _$result;
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_tQ0;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "ExtensionResponse";
     }
   };
   S._$ExtensionEventSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       type$.legacy_ExtensionEvent._as(object);
-      return H.setRuntimeTypeInfo(["params", serializers.serialize$2$specifiedType(object.params, C.FullType_h8g), "method", serializers.serialize$2$specifiedType(object.method, C.FullType_h8g)], type$.JSArray_legacy_Object);
+      return H._setArrayType(["params", serializers.serialize$2$specifiedType(object.params, C.FullType_h8g), "method", serializers.serialize$2$specifiedType(object.method, C.FullType_h8g)], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var key, value, t1, $$v, _$result, t2,
         _s14_ = "ExtensionEvent",
         result = new S.ExtensionEventBuilder(),
@@ -22273,26 +22382,26 @@
       }
       return result._extension_request$_$v = _$result;
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_pnF;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "ExtensionEvent";
     }
   };
   S._$BatchedEventsSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
-      return H.setRuntimeTypeInfo(["events", serializers.serialize$2$specifiedType(type$.legacy_BatchedEvents._as(object).events, C.FullType_w24)], type$.JSArray_legacy_Object);
+    serialize$3$specifiedType(serializers, object, specifiedType) {
+      return H._setArrayType(["events", serializers.serialize$2$specifiedType(type$.legacy_BatchedEvents._as(object).events, C.FullType_w24)], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var t1, t2, t3, t4, key, value, $$v, t5, t6, t7, t8, t9,
         result = new S.BatchedEventsBuilder(),
         iterator = J.get$iterator$ax(type$.legacy_Iterable_legacy_Object._as(serialized));
@@ -22345,20 +22454,20 @@
       }
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_w8N;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "BatchedEvents";
     }
   };
   S._$ExtensionRequest.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       var _this = this;
       if (other == null)
         return false;
@@ -22366,10 +22475,10 @@
         return true;
       return other instanceof S.ExtensionRequest && _this.id === other.id && _this.command === other.command && _this.commandParams == other.commandParams;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return Y.$jf(Y.$jc(Y.$jc(Y.$jc(0, C.JSInt_methods.get$hashCode(this.id)), C.JSString_methods.get$hashCode(this.command)), J.get$hashCode$(this.commandParams)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("ExtensionRequest"),
         t2 = J.getInterceptor$ax(t1);
       t2.add$2(t1, "id", this.id);
@@ -22379,7 +22488,7 @@
     }
   };
   S.ExtensionRequestBuilder.prototype = {
-    get$_extension_request$_$this: function() {
+    get$_extension_request$_$this() {
       var _this = this,
         $$v = _this._extension_request$_$v;
       if ($$v != null) {
@@ -22392,7 +22501,7 @@
     }
   };
   S._$ExtensionResponse.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       var _this = this;
       if (other == null)
         return false;
@@ -22400,11 +22509,11 @@
         return true;
       return other instanceof S.ExtensionResponse && _this.id === other.id && _this.success === other.success && _this.result === other.result && _this.error == other.error;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var _this = this;
       return Y.$jf(Y.$jc(Y.$jc(Y.$jc(Y.$jc(0, C.JSInt_methods.get$hashCode(_this.id)), C.JSBool_methods.get$hashCode(_this.success)), C.JSString_methods.get$hashCode(_this.result)), J.get$hashCode$(_this.error)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var _this = this,
         t1 = $.$get$newBuiltValueToStringHelper().call$1("ExtensionResponse"),
         t2 = J.getInterceptor$ax(t1);
@@ -22416,7 +22525,7 @@
     }
   };
   S.ExtensionResponseBuilder.prototype = {
-    get$_extension_request$_$this: function() {
+    get$_extension_request$_$this() {
       var _this = this,
         $$v = _this._extension_request$_$v;
       if ($$v != null) {
@@ -22430,17 +22539,17 @@
     }
   };
   S._$ExtensionEvent.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
         return true;
       return other instanceof S.ExtensionEvent && this.params === other.params && this.method === other.method;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return Y.$jf(Y.$jc(Y.$jc(0, C.JSString_methods.get$hashCode(this.params)), C.JSString_methods.get$hashCode(this.method)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("ExtensionEvent"),
         t2 = J.getInterceptor$ax(t1);
       t2.add$2(t1, "params", this.params);
@@ -22449,7 +22558,7 @@
     }
   };
   S.ExtensionEventBuilder.prototype = {
-    get$_extension_request$_$this: function() {
+    get$_extension_request$_$this() {
       var _this = this,
         $$v = _this._extension_request$_$v;
       if ($$v != null) {
@@ -22461,17 +22570,17 @@
     }
   };
   S._$BatchedEvents.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
         return true;
       return other instanceof S.BatchedEvents && J.$eq$(this.events, other.events);
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return Y.$jf(Y.$jc(0, J.get$hashCode$(this.events)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("BatchedEvents"),
         t2 = J.getInterceptor$ax(t1);
       t2.add$2(t1, "events", this.events);
@@ -22479,7 +22588,7 @@
     }
   };
   S.BatchedEventsBuilder.prototype = {
-    get$events: function() {
+    get$events() {
       var t1, _this = this,
         $$v = _this._extension_request$_$v;
       if ($$v != null) {
@@ -22495,7 +22604,7 @@
       }
       return t1;
     },
-    build$0: function() {
+    build$0() {
       var _$failedField, e, _$result0, t1, exception, t2, _this = this,
         _s13_ = "BatchedEvents",
         _$result = null;
@@ -22528,77 +22637,77 @@
       _this._extension_request$_$v = t1;
       return _$result;
     },
-    set$_events: function(_events) {
+    set$_events(_events) {
       this._events = type$.legacy_ListBuilder_legacy_ExtensionEvent._as(_events);
     }
   };
   M.IsolateExit.prototype = {};
   M.IsolateStart.prototype = {};
   M._$IsolateExitSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       type$.legacy_IsolateExit._as(object);
-      return H.setRuntimeTypeInfo([], type$.JSArray_legacy_Object);
+      return H._setArrayType([], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       type$.legacy_Iterable_legacy_Object._as(serialized);
       return new M.IsolateExitBuilder().build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_LT1;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "IsolateExit";
     }
   };
   M._$IsolateStartSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       type$.legacy_IsolateStart._as(object);
-      return H.setRuntimeTypeInfo([], type$.JSArray_legacy_Object);
+      return H._setArrayType([], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       type$.legacy_Iterable_legacy_Object._as(serialized);
       return new M.IsolateStartBuilder().build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_6TA;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "IsolateStart";
     }
   };
   M._$IsolateExit.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
         return true;
       return other instanceof M.IsolateExit;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return 814065794;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$($.$get$newBuiltValueToStringHelper().call$1("IsolateExit"));
     }
   };
   M.IsolateExitBuilder.prototype = {
-    build$0: function() {
+    build$0() {
       var _$result = this._isolate_events$_$v;
       if (_$result == null)
         _$result = new M._$IsolateExit();
@@ -22606,22 +22715,22 @@
     }
   };
   M._$IsolateStart.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
         return true;
       return other instanceof M.IsolateStart;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return 97463111;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$($.$get$newBuiltValueToStringHelper().call$1("IsolateStart"));
     }
   };
   M.IsolateStartBuilder.prototype = {
-    build$0: function() {
+    build$0() {
       var _$result = this._isolate_events$_$v;
       if (_$result == null)
         _$result = new M._$IsolateStart();
@@ -22630,14 +22739,14 @@
   };
   D.RegisterEvent.prototype = {};
   D._$RegisterEventSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       type$.legacy_RegisterEvent._as(object);
-      return H.setRuntimeTypeInfo(["eventData", serializers.serialize$2$specifiedType(object.eventData, C.FullType_h8g), "timestamp", serializers.serialize$2$specifiedType(object.timestamp, C.FullType_kjq)], type$.JSArray_legacy_Object);
+      return H._setArrayType(["eventData", serializers.serialize$2$specifiedType(object.eventData, C.FullType_h8g), "timestamp", serializers.serialize$2$specifiedType(object.timestamp, C.FullType_kjq)], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       var key, value, t1, $$v,
         result = new D.RegisterEventBuilder(),
         iterator = J.get$iterator$ax(type$.legacy_Iterable_legacy_Object._as(serialized));
@@ -22670,30 +22779,30 @@
       }
       return result.build$0();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_42K;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "RegisterEvent";
     }
   };
   D._$RegisterEvent.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
         return true;
       return other instanceof D.RegisterEvent && this.eventData === other.eventData && this.timestamp === other.timestamp;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return Y.$jf(Y.$jc(Y.$jc(0, C.JSString_methods.get$hashCode(this.eventData)), C.JSInt_methods.get$hashCode(this.timestamp)));
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("RegisterEvent"),
         t2 = J.getInterceptor$ax(t1);
       t2.add$2(t1, "eventData", this.eventData);
@@ -22702,7 +22811,7 @@
     }
   };
   D.RegisterEventBuilder.prototype = {
-    get$_register_event$_$this: function() {
+    get$_register_event$_$this() {
       var _this = this,
         $$v = _this._register_event$_$v;
       if ($$v != null) {
@@ -22712,7 +22821,7 @@
       }
       return _this;
     },
-    build$0: function() {
+    build$0() {
       var t1, t2, _this = this,
         _s13_ = "RegisterEvent",
         _$result = _this._register_event$_$v;
@@ -22730,93 +22839,91 @@
   };
   A.RunRequest.prototype = {};
   A._$RunRequestSerializer.prototype = {
-    serialize$3$specifiedType: function(serializers, object, specifiedType) {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
       type$.legacy_RunRequest._as(object);
-      return H.setRuntimeTypeInfo([], type$.JSArray_legacy_Object);
+      return H._setArrayType([], type$.JSArray_legacy_Object);
     },
-    serialize$2: function(serializers, object) {
+    serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty_false);
     },
-    deserialize$3$specifiedType: function(serializers, serialized, specifiedType) {
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
       type$.legacy_Iterable_legacy_Object._as(serialized);
       return new A._$RunRequest();
     },
-    deserialize$2: function(serializers, serialized) {
+    deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty_false);
     },
     $isSerializer: 1,
     $isStructuredSerializer: 1,
-    get$types: function() {
+    get$types() {
       return C.List_wsa;
     },
-    get$wireName: function() {
+    get$wireName() {
       return "RunRequest";
     }
   };
   A._$RunRequest.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       if (other === this)
         return true;
       return other instanceof A.RunRequest;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return 248087772;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return J.toString$0$($.$get$newBuiltValueToStringHelper().call$1("RunRequest"));
     }
   };
   K._$serializers_closure.prototype = {
-    call$0: function() {
+    call$0() {
       return D.ListBuilder_ListBuilder(C.List_empty0, type$.legacy_ExtensionEvent);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 56
   };
   R.SocketClient.prototype = {};
   R.SseSocketClient.prototype = {
-    get$sink: function() {
+    get$sink() {
       var t1 = this._sockets$_client._outgoingController;
       return new P._StreamSinkWrapper(t1, H._instanceType(t1)._eval$1("_StreamSinkWrapper<1>"));
     },
-    get$stream: function(_) {
+    get$stream(_) {
       var t1 = this._sockets$_client._incomingController;
       return new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>"));
     }
   };
   R.WebSocketClient.prototype = {
-    get$sink: function() {
+    get$sink() {
       return this._channel.get$sink();
     },
-    get$stream: function(_) {
+    get$stream(_) {
       var t2,
-        t1 = this._channel._html0$_controller.get$_foreign();
+        t1 = this._channel._html$_controller.get$_foreign();
       t1 = t1.get$stream(t1);
       t2 = H._instanceType(t1);
       return new P._MapStream(t2._eval$1("String*(Stream.T)")._as(new R.WebSocketClient_stream_closure()), t1, t2._eval$1("_MapStream<Stream.T,String*>"));
     }
   };
   R.WebSocketClient_stream_closure.prototype = {
-    call$1: function(o) {
+    call$1(o) {
       return o == null ? null : J.toString$0$(o);
     },
     $signature: 57
   };
   V.Int64.prototype = {
-    $add: function(_, other) {
+    $add(_, other) {
       var o = V.Int64__promote(other),
         sum0 = this._l + o._l,
         sum1 = this._m + o._m + (sum0 >>> 22);
       return new V.Int64(sum0 & 4194303, sum1 & 4194303, this._h + o._h + (sum1 >>> 22) & 1048575);
     },
-    $sub: function(_, other) {
+    $sub(_, other) {
       var o = V.Int64__promote(other);
       return V.Int64__sub(this._l, this._m, this._h, o._l, o._m, o._h);
     },
-    $eq: function(_, other) {
+    $eq(_, other) {
       var o, _this = this;
       if (other == null)
         return false;
@@ -22834,10 +22941,10 @@
         return _this._l === o._l && _this._m === o._m && _this._h === o._h;
       return false;
     },
-    compareTo$1: function(_, other) {
+    compareTo$1(_, other) {
       return this._compareTo$1(other);
     },
-    _compareTo$1: function(other) {
+    _compareTo$1(other) {
       var o = V.Int64__promote(other),
         t1 = this._h,
         signa = t1 >>> 19,
@@ -22862,11 +22969,11 @@
         return -1;
       return 0;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       var t1 = this._m;
       return (((t1 & 1023) << 22 | this._l) ^ (this._h << 12 | t1 >>> 10 & 4095)) >>> 0;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       var d00, d10, sign,
         d0 = this._l,
         d1 = this._m,
@@ -22884,7 +22991,7 @@
         sign = "";
       return V.Int64__toRadixStringUnsigned(10, d0, d1, d2, sign);
     },
-    _toRadixString$1: function(radix) {
+    _toRadixString$1(radix) {
       var d00, d10, sign,
         d0 = this._l,
         d1 = this._m,
@@ -22905,7 +23012,7 @@
     $isComparable: 1
   };
   L.stronglyConnectedComponents_strongConnect.prototype = {
-    call$1: function(node) {
+    call$1(node) {
       var t2, t3, lowLink, t4, t5, t6, next, t7, component, result, _this = this,
         t1 = _this.T;
       t1._as(node);
@@ -22936,7 +23043,7 @@
         }
       }
       if (J.$eq$(t4.$index(0, node), t2.$index(0, node))) {
-        component = H.setRuntimeTypeInfo([], t1._eval$1("JSArray<0>"));
+        component = H._setArrayType([], t1._eval$1("JSArray<0>"));
         t1 = _this.nonNullEquals;
         do {
           t2 = t3._head;
@@ -22958,40 +23065,40 @@
         C.JSArray_methods.add$1(_this.result, component);
       }
     },
-    $signature: function() {
+    $signature() {
       return this.T._eval$1("~(0)");
     }
   };
   Y.Level.prototype = {
-    $eq: function(_, other) {
+    $eq(_, other) {
       if (other == null)
         return false;
       return other instanceof Y.Level && this.value === other.value;
     },
-    compareTo$1: function(_, other) {
+    compareTo$1(_, other) {
       return this.value - type$.Level._as(other).value;
     },
-    get$hashCode: function(_) {
+    get$hashCode(_) {
       return this.value;
     },
-    toString$0: function(_) {
+    toString$0(_) {
       return this.name;
     },
     $isComparable: 1
   };
   L.LogRecord.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "[" + this.level.name + "] " + this.loggerName + ": " + this.message;
     }
   };
   F.Logger.prototype = {
-    get$fullName: function() {
+    get$fullName() {
       var t1 = this.parent,
         t2 = t1 == null ? null : t1.name.length !== 0,
         t3 = this.name;
       return t2 === true ? t1.get$fullName() + "." + t3 : t3;
     },
-    get$level: function(_) {
+    get$level(_) {
       var t1, effectiveLevel;
       if (this.parent == null) {
         t1 = this._level;
@@ -23005,7 +23112,7 @@
       }
       return effectiveLevel;
     },
-    log$4: function(logLevel, message, error, stackTrace) {
+    log$4(logLevel, message, error, stackTrace) {
       var record, _this = this,
         t1 = logLevel.value;
       if (t1 >= _this.get$level(_this).value) {
@@ -23023,16 +23130,16 @@
           $.$get$Logger_root()._publish$1(record);
       }
     },
-    _publish$1: function(record) {
+    _publish$1(record) {
       return null;
     }
   };
   F.Logger_Logger_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var dot, $parent, t1,
         thisName = this.name;
       if (C.JSString_methods.startsWith$1(thisName, "."))
-        H.throwExpression(P.ArgumentError$("name shouldn't start with a '.'"));
+        H.throwExpression(P.ArgumentError$("name shouldn't start with a '.'", null));
       dot = C.JSString_methods.lastIndexOf$1(thisName, ".");
       if (dot === -1)
         $parent = thisName !== "" ? F.Logger_Logger("") : null;
@@ -23050,9 +23157,9 @@
     $signature: 58
   };
   O.Pool.prototype = {
-    request$0: function(_) {
+    request$0(_) {
       var t1, t2, _this = this;
-      if (_this._closeMemo._completer.future._state !== 0)
+      if ((_this._closeMemo._completer.future._state & 30) !== 0)
         throw H.wrapException(P.StateError$("request() may not be called on a closed Pool."));
       t1 = _this._allocatedResources;
       if (t1 < _this._maxAllocatedResources) {
@@ -23071,10 +23178,10 @@
         }
       }
     },
-    withResource$1$1: function(callback, $T) {
+    withResource$1$1(callback, $T) {
       return this.withResource$body$Pool($T._eval$1("0/()")._as(callback), $T, $T);
     },
-    withResource$body$Pool: function(callback, $T, $async$type) {
+    withResource$body$Pool(callback, $T, $async$type) {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter($async$type),
         $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, resource, t1, t2;
@@ -23087,7 +23194,7 @@
           switch ($async$goto) {
             case 0:
               // Function start
-              if ($async$self._closeMemo._completer.future._state !== 0)
+              if (($async$self._closeMemo._completer.future._state & 30) !== 0)
                 throw H.wrapException(P.StateError$("withResource() may not be called on a closed Pool."));
               $async$goto = 3;
               return P._asyncAwait($async$self.request$0(0), $async$withResource$1$1);
@@ -23126,7 +23233,7 @@
                 t2.removeFirst$0().complete$1(0, new O.PoolResource(t1));
               else {
                 t2 = --t1._allocatedResources;
-                if (t1._closeMemo._completer.future._state !== 0 && t2 === 0)
+                if ((t1._closeMemo._completer.future._state & 30) !== 0 && t2 === 0)
                   null.close$0(0);
               }
               // goto the next finally handler
@@ -23144,7 +23251,7 @@
       });
       return P._asyncStartSync($async$withResource$1$1, $async$completer);
     },
-    _runOnRelease$1: function(onRelease) {
+    _runOnRelease$1(onRelease) {
       var t1, t2;
       P.Future_Future$sync(type$.dynamic_Function._as(onRelease), type$.dynamic).then$1$1(0, new O.Pool__runOnRelease_closure(this), type$.Null).catchError$1(new O.Pool__runOnRelease_closure0(this));
       t1 = new P._Future($.Zone__current, type$._Future_PoolResource);
@@ -23152,7 +23259,7 @@
       t2._collection$_add$1(0, t2.$ti._precomputed1._as(new P._SyncCompleter(t1, type$._SyncCompleter_PoolResource)));
       return t1;
     },
-    _resetTimer$0: function() {
+    _resetTimer$0() {
       var t2,
         t1 = this._timer;
       if (t1 == null)
@@ -23167,28 +23274,26 @@
     }
   };
   O.Pool__runOnRelease_closure.prototype = {
-    call$1: function(value) {
+    call$1(value) {
       var t1 = this.$this;
       J.complete$1$z(t1._onReleaseCompleters.removeFirst$0(), new O.PoolResource(t1));
     },
     $signature: 7
   };
   O.Pool__runOnRelease_closure0.prototype = {
-    call$2: function(error, stackTrace) {
+    call$2(error, stackTrace) {
       type$.StackTrace._as(stackTrace);
       this.$this._onReleaseCompleters.removeFirst$0().completeError$2(error, stackTrace);
     },
-    "call*": "call$2",
-    $requiredArgCount: 2,
     $signature: 9
   };
   O.PoolResource.prototype = {};
   M.SseClient.prototype = {
-    get$_eventSource: function() {
+    get$_eventSource() {
       var t1 = this.__SseClient__eventSource;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_eventSource")) : t1;
     },
-    SseClient$1: function(serverUrl) {
+    SseClient$1(serverUrl) {
       var t1, t2, t3, t4, _this = this,
         clientId = T.generateUuidV4();
       _this.__SseClient__eventSource = W.EventSource__factoryEventSource(H.S(serverUrl) + "?sseClientId=" + clientId, P.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic));
@@ -23212,41 +23317,41 @@
       t3.toString;
       W._EventStreamSubscription$(t3, "error", t2._as(new M.SseClient_closure1(_this)), false, t4);
     },
-    get$sink: function() {
+    get$sink() {
       var t1 = this._outgoingController;
       return new P._StreamSinkWrapper(t1, H._instanceType(t1)._eval$1("_StreamSinkWrapper<1>"));
     },
-    get$stream: function(_) {
+    get$stream(_) {
       var t1 = this._incomingController;
       return new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>"));
     },
-    close$0: function(_) {
+    close$0(_) {
       var t1, _this = this;
       _this.get$_eventSource().close();
-      if (_this._onConnected.future._state === 0) {
+      if ((_this._onConnected.future._state & 30) === 0) {
         t1 = _this._outgoingController;
         new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$cancelOnError(null, true).asFuture$1$1(null, type$.dynamic);
       }
       _this._incomingController.close$0(0);
       _this._outgoingController.close$0(0);
     },
-    _onIncomingControlMessage$1: function(message) {
+    _onIncomingControlMessage$1(message) {
       var data = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(type$.Event._as(message)).data, true);
       if (J.$eq$(data, "close"))
         this.close$0(0);
       else
         throw H.wrapException(P.UnsupportedError$('Illegal Control Message "' + H.S(data) + '"'));
     },
-    _onIncomingMessage$1: function(message) {
+    _onIncomingMessage$1(message) {
       this._incomingController.add$1(0, H._asStringS(C.C_JsonCodec.decode$2$reviver(0, H._asStringS(new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(type$.Event._as(message)).data, true)), null)));
     },
-    _onOutgoingDone$0: function() {
+    _onOutgoingDone$0() {
       this.close$0(0);
     },
-    _onOutgoingMessage$1: function(message) {
+    _onOutgoingMessage$1(message) {
       return this._onOutgoingMessage$body$SseClient(H._asStringQ(message));
     },
-    _onOutgoingMessage$body$SseClient: function(message) {
+    _onOutgoingMessage$body$SseClient(message) {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.dynamic),
         $async$self = this, t1;
@@ -23271,19 +23376,17 @@
     }
   };
   M.SseClient_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var t2,
         t1 = this.$this;
       t1._onConnected.complete$0(0);
       t2 = t1._outgoingController;
       new P._ControllerStream(t2, H._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$2$onDone(t1.get$_onOutgoingMessage(), t1.get$_onOutgoingDone());
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 2
   };
   M.SseClient_closure0.prototype = {
-    call$1: function(_) {
+    call$1(_) {
       var t1 = this.$this._errorTimer;
       if (t1 != null)
         t1.cancel$0(0);
@@ -23291,7 +23394,7 @@
     $signature: 5
   };
   M.SseClient_closure1.prototype = {
-    call$1: function(error) {
+    call$1(error) {
       var t1 = this.$this,
         t2 = t1._errorTimer;
       t2 = t2 == null ? null : t2.get$isActive();
@@ -23301,21 +23404,19 @@
     $signature: 5
   };
   M.SseClient__closure.prototype = {
-    call$0: function() {
+    call$0() {
       var t1 = this.$this,
         t2 = this.error;
       t1._incomingController.addError$1(t2);
       t1.close$0(0);
       t1 = t1._onConnected;
-      if (t1.future._state === 0)
+      if ((t1.future._state & 30) === 0)
         t1.completeError$1(t2);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   M.SseClient__onOutgoingMessage_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
         $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, e, e0, e1, exception, t1, t2, $async$exception;
@@ -23383,41 +23484,41 @@
     $signature: 25
   };
   T.generateUuidV4__generateBits.prototype = {
-    call$1: function(bitCount) {
+    call$1(bitCount) {
       return this.random.nextInt$1(C.JSInt_methods._shlPositive$1(1, bitCount));
     },
     $signature: 21
   };
   T.generateUuidV4__printDigits.prototype = {
-    call$2: function(value, count) {
+    call$2(value, count) {
       return C.JSString_methods.padLeft$2(C.JSInt_methods.toRadixString$1(value, 16), count, "0");
     },
     $signature: 29
   };
   T.generateUuidV4__bitsDigits.prototype = {
-    call$2: function(bitCount, digitCount) {
+    call$2(bitCount, digitCount) {
       return this._printDigits.call$2(this._generateBits.call$1(bitCount), digitCount);
     },
     $signature: 29
   };
   K.GuaranteeChannel.prototype = {
-    get$stream: function(_) {
+    get$stream(_) {
       var t1 = this.get$_streamController();
       t1.toString;
       return new P._ControllerStream(t1, H._instanceType(t1)._eval$1("_ControllerStream<1>"));
     },
-    get$sink: function() {
+    get$sink() {
       return this.get$_guarantee_channel$_sink();
     },
-    get$_guarantee_channel$_sink: function() {
+    get$_guarantee_channel$_sink() {
       var t1 = this.__GuaranteeChannel__sink;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_sink")) : t1;
     },
-    get$_streamController: function() {
+    get$_streamController() {
       var t1 = this.__GuaranteeChannel__streamController;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_streamController")) : t1;
     },
-    GuaranteeChannel$3$allowSinkErrors: function(innerSink, allowSinkErrors, _box_0, $T) {
+    GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) {
       var _this = this,
         t1 = _this.$ti,
         t2 = t1._eval$1("_GuaranteeSink<1>")._as(new K._GuaranteeSink(innerSink, _this, new P._AsyncCompleter(new P._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic), allowSinkErrors, $T._eval$1("_GuaranteeSink<0>")));
@@ -23431,25 +23532,25 @@
       else
         H.throwExpression(H.LateError$fieldAI("_streamController"));
     },
-    _onSinkDisconnected$0: function() {
+    _onSinkDisconnected$0() {
       this._disconnected = true;
       var subscription = this._guarantee_channel$_subscription;
       if (subscription != null)
         subscription.cancel$0(0);
       this.get$_streamController().close$0(0);
     },
-    set$__GuaranteeChannel__sink: function(__GuaranteeChannel__sink) {
+    set$__GuaranteeChannel__sink(__GuaranteeChannel__sink) {
       this.__GuaranteeChannel__sink = this.$ti._eval$1("_GuaranteeSink<1>?")._as(__GuaranteeChannel__sink);
     },
-    set$__GuaranteeChannel__streamController: function(__GuaranteeChannel__streamController) {
+    set$__GuaranteeChannel__streamController(__GuaranteeChannel__streamController) {
       this.__GuaranteeChannel__streamController = this.$ti._eval$1("StreamController<1>?")._as(__GuaranteeChannel__streamController);
     },
-    set$_guarantee_channel$_subscription: function(_subscription) {
+    set$_guarantee_channel$_subscription(_subscription) {
       this._guarantee_channel$_subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription);
     }
   };
   K.GuaranteeChannel_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var t2, t3,
         t1 = this.$this;
       if (t1._disconnected)
@@ -23461,17 +23562,15 @@
     $signature: 0
   };
   K.GuaranteeChannel__closure.prototype = {
-    call$0: function() {
+    call$0() {
       var t1 = this.$this;
       t1.get$_guarantee_channel$_sink()._onStreamDisconnected$0();
       t1.get$_streamController().close$0(0);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   K._GuaranteeSink.prototype = {
-    add$1: function(_, data) {
+    add$1(_, data) {
       var t1, _this = this;
       _this.$ti._precomputed1._as(data);
       if (_this._closed)
@@ -23481,17 +23580,17 @@
       t1 = _this._inner;
       t1._async$_target.add$1(0, t1.$ti._precomputed1._as(data));
     },
-    addError$2: function(error, stackTrace) {
+    addError$2(error, stackTrace) {
       if (this._closed)
         throw H.wrapException(P.StateError$("Cannot add event after closing."));
       if (this._disconnected)
         return;
       this._guarantee_channel$_addError$2(error, stackTrace);
     },
-    addError$1: function(error) {
+    addError$1(error) {
       return this.addError$2(error, null);
     },
-    _guarantee_channel$_addError$2: function(error, stackTrace) {
+    _guarantee_channel$_addError$2(error, stackTrace) {
       var _this = this;
       if (_this._allowErrors) {
         _this._inner._async$_target.addError$2(error, stackTrace);
@@ -23502,7 +23601,7 @@
       _this._guarantee_channel$_channel._onSinkDisconnected$0();
       _this._inner._async$_target.close$0(0).catchError$1(new K._GuaranteeSink__addError_closure());
     },
-    close$0: function(_) {
+    close$0(_) {
       var _this = this;
       if (_this._closed)
         return _this._doneCompleter.future;
@@ -23513,39 +23612,39 @@
       }
       return _this._doneCompleter.future;
     },
-    _onStreamDisconnected$0: function() {
+    _onStreamDisconnected$0() {
       this._disconnected = true;
       var t1 = this._doneCompleter;
-      if (t1.future._state === 0)
+      if ((t1.future._state & 30) === 0)
         t1.complete$0(0);
       return;
     },
     $isStreamSink: 1
   };
   K._GuaranteeSink__addError_closure.prototype = {
-    call$1: function(_) {
+    call$1(_) {
     },
     $signature: 7
   };
   B.StreamChannelController.prototype = {
-    get$_local: function() {
+    get$_local() {
       var t1 = this.__StreamChannelController__local;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_local")) : t1;
     },
-    get$_foreign: function() {
+    get$_foreign() {
       var t1 = this.__StreamChannelController__foreign;
       return t1 === $ ? H.throwExpression(H.LateError$fieldNI("_foreign")) : t1;
     },
-    set$__StreamChannelController__local: function(__StreamChannelController__local) {
+    set$__StreamChannelController__local(__StreamChannelController__local) {
       this.__StreamChannelController__local = this.$ti._eval$1("StreamChannel<1>?")._as(__StreamChannelController__local);
     },
-    set$__StreamChannelController__foreign: function(__StreamChannelController__foreign) {
+    set$__StreamChannelController__foreign(__StreamChannelController__foreign) {
       this.__StreamChannelController__foreign = this.$ti._eval$1("StreamChannel<1>?")._as(__StreamChannelController__foreign);
     }
   };
   R.StreamChannelMixin.prototype = {$isStreamChannel: 1};
   K.Uuid.prototype = {
-    v1$0: function() {
+    v1$0() {
       var t1, seedBytes, nodeId, t2, clockSeq, mSecs, nSecs, tl, tmh, node, n, t3,
         _s9_ = "hasInitV1",
         _s9_0 = "seedBytes",
@@ -23566,7 +23665,7 @@
           $.Uuid__state.$index(0, _s9_0);
         else
           $.Uuid__state.$indexSet(0, _s9_0, seedBytes);
-        nodeId = H.setRuntimeTypeInfo([seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]], type$.JSArray_int);
+        nodeId = H._setArrayType([seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]], type$.JSArray_int);
         if ($.Uuid__state.$index(0, _s4_) != null)
           $.Uuid__state.$index(0, _s4_);
         else
@@ -23710,15 +23809,15 @@
     }
   };
   A.HtmlWebSocketChannel.prototype = {
-    get$stream: function(_) {
-      var t1 = this._html0$_controller.get$_foreign();
+    get$stream(_) {
+      var t1 = this._html$_controller.get$_foreign();
       return t1.get$stream(t1);
     },
-    get$sink: function() {
+    get$sink() {
       var _this = this,
         t1 = _this.__HtmlWebSocketChannel_sink;
       if (t1 === $) {
-        t1 = new A._HtmlWebSocketSink(_this, _this._html0$_controller.get$_foreign().get$sink());
+        t1 = new A._HtmlWebSocketSink(_this, _this._html$_controller.get$_foreign().get$sink());
         if (_this.__HtmlWebSocketChannel_sink === $)
           _this.__HtmlWebSocketChannel_sink = t1;
         else
@@ -23726,9 +23825,9 @@
       }
       return t1;
     },
-    HtmlWebSocketChannel$1: function(_webSocket) {
+    HtmlWebSocketChannel$1(_webSocket) {
       var t2, t3, _this = this,
-        t1 = _this._html0$_webSocket;
+        t1 = _this._html$_webSocket;
       if (t1.readyState === 1)
         _this._listen$0();
       else {
@@ -23744,85 +23843,83 @@
       t1 = new W._EventStream(t1, "close", false, type$._EventStream_legacy_CloseEvent);
       t1.get$first(t1).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t3);
     },
-    _listen$0: function() {
-      var t1 = this._html0$_controller.get$_local();
-      t1.get$stream(t1).listen$2$onDone(C.WebSocket_methods.get$send(this._html0$_webSocket), new A.HtmlWebSocketChannel__listen_closure(this));
+    _listen$0() {
+      var t1 = this._html$_controller.get$_local();
+      t1.get$stream(t1).listen$2$onDone(C.WebSocket_methods.get$send(this._html$_webSocket), new A.HtmlWebSocketChannel__listen_closure(this));
     },
     $isWebSocketChannel: 1
   };
   A.HtmlWebSocketChannel_closure.prototype = {
-    call$1: function(_) {
+    call$1(_) {
       type$.Event._as(_);
       this.$this._listen$0();
     },
     $signature: 30
   };
   A.HtmlWebSocketChannel_closure0.prototype = {
-    call$1: function(_) {
+    call$1(_) {
       var t1;
       type$.Event._as(_);
-      t1 = this.$this._html0$_controller;
+      t1 = this.$this._html$_controller;
       t1.get$_local().get$sink().addError$1(new E.WebSocketChannelException("WebSocket connection failed."));
       t1.get$_local().get$sink().close$0(0);
     },
     $signature: 30
   };
   A.HtmlWebSocketChannel_closure1.prototype = {
-    call$1: function($event) {
+    call$1($event) {
       var data = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true);
       if (type$.ByteBuffer._is(data))
         data = H.NativeUint8List_NativeUint8List$view(data, 0, null);
-      this.$this._html0$_controller.get$_local().get$sink().add$1(0, data);
+      this.$this._html$_controller.get$_local().get$sink().add$1(0, data);
     },
     $signature: 62
   };
   A.HtmlWebSocketChannel_closure2.prototype = {
-    call$1: function($event) {
+    call$1($event) {
       type$.CloseEvent._as($event);
       $event.code;
       $event.reason;
-      this.$this._html0$_controller.get$_local().get$sink().close$0(0);
+      this.$this._html$_controller.get$_local().get$sink().close$0(0);
     },
     $signature: 63
   };
   A.HtmlWebSocketChannel__listen_closure.prototype = {
-    call$0: function() {
-      this.$this._html0$_webSocket.close();
+    call$0() {
+      this.$this._html$_webSocket.close();
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 0
   };
   A._HtmlWebSocketSink.prototype = {
-    close$0: function(_) {
-      var t1 = this._html0$_channel;
+    close$0(_) {
+      var t1 = this._html$_channel;
       t1._localCloseReason = t1._localCloseCode = null;
       return this.super$DelegatingStreamSink$close(0);
     },
     $isWebSocketSink: 1
   };
   N.WebSocketChannel.prototype = {
-    get$stream: function(_) {
+    get$stream(_) {
       return new P.StreamView(this._webSocket, type$.StreamView_dynamic);
     },
-    get$sink: function() {
+    get$sink() {
       var t1 = this._webSocket;
       return new N.WebSocketSink(t1, t1);
     }
   };
   N.WebSocketSink.prototype = {
-    close$0: function(_) {
+    close$0(_) {
       return this._webSocket.close$2(0, null, null);
     }
   };
   E.WebSocketChannelException.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       var t1 = "WebSocketChannelException: " + this.message;
       return t1;
     }
   };
   D.main_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
         uri, fixedPath, fixedUri, client, restarter, manager, t1, t2, t3;
@@ -23890,20 +23987,16 @@
       });
       return P._asyncStartSync($async$call$0, $async$completer);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 64
   };
   D.main__closure.prototype = {
-    call$0: function() {
+    call$0() {
       return S.toPromise(this.manager.hotRestart$0(), type$.legacy_bool);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 82
   };
   D.main__closure0.prototype = {
-    call$2: function(kind, eventData) {
+    call$2(kind, eventData) {
       var t1, t2, t3;
       H._asStringS(kind);
       H._asStringS(eventData);
@@ -23913,12 +24006,10 @@
       type$.legacy_void_Function_legacy_DebugEventBuilder._as(new D.main___closure1(kind, eventData)).call$1(t3);
       t1.add$1(0, C.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null));
     },
-    "call*": "call$2",
-    $requiredArgCount: 2,
     $signature: 66
   };
   D.main___closure1.prototype = {
-    call$1: function(b) {
+    call$1(b) {
       var t1 = Date.now();
       b.get$_debug_event$_$this()._timestamp = t1;
       b.get$_debug_event$_$this()._debug_event$_kind = this.kind;
@@ -23928,7 +24019,7 @@
     $signature: 67
   };
   D.main__closure1.prototype = {
-    call$1: function(eventData) {
+    call$1(eventData) {
       var t1, t2, t3;
       H._asStringS(eventData);
       t1 = this.client.get$sink();
@@ -23940,7 +24031,7 @@
     $signature: 68
   };
   D.main___closure0.prototype = {
-    call$1: function(b) {
+    call$1(b) {
       var t1 = Date.now();
       b.get$_register_event$_$this()._register_event$_timestamp = t1;
       b.get$_register_event$_$this()._register_event$_eventData = this.eventData;
@@ -23949,7 +24040,7 @@
     $signature: 69
   };
   D.main__closure2.prototype = {
-    call$0: function() {
+    call$0() {
       var t1, t2, t3;
       if (!J.contains$1$asx(window.navigator.userAgent, "Chrome")) {
         C.Window_methods.alert$1(window, "Dart DevTools is only supported on Chromium based browsers.");
@@ -23961,12 +24052,10 @@
       type$.legacy_void_Function_legacy_DevToolsRequestBuilder._as(new D.main___closure()).call$1(t3);
       t1.add$1(0, C.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null));
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 2
   };
   D.main___closure.prototype = {
-    call$1: function(b) {
+    call$1(b) {
       var t1 = H._asStringS(self.$dartAppId);
       b.get$_devtools_request$_$this()._devtools_request$_appId = t1;
       t1 = H._asStringS(self.$dartAppInstanceId);
@@ -23976,10 +24065,10 @@
     $signature: 70
   };
   D.main__closure3.prototype = {
-    call$1: function(serialized) {
+    call$1(serialized) {
       return this.$call$body$main__closure(H._asStringS(serialized));
     },
-    $call$body$main__closure: function(serialized) {
+    $call$body$main__closure(serialized) {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.Null),
         $async$self = this, $alert, t1, $event;
@@ -24055,12 +24144,12 @@
     $signature: 71
   };
   D.main__closure4.prototype = {
-    call$1: function(error) {
+    call$1(error) {
     },
     $signature: 7
   };
   D.main__closure5.prototype = {
-    call$1: function(e) {
+    call$1(e) {
       if (type$.legacy_KeyboardEvent._is(e) && C.JSArray_methods.contains$1(C.List_zgw, e.key) && H.boolConversionCheck(e.altKey) && !H.boolConversionCheck(e.ctrlKey) && !H.boolConversionCheck(e.metaKey)) {
         e.preventDefault();
         self.$launchDevTools.call$0();
@@ -24069,7 +24158,7 @@
     $signature: 72
   };
   D.main__closure6.prototype = {
-    call$1: function(b) {
+    call$1(b) {
       var t1 = H._asStringS(self.$dartAppId);
       b.get$_$this()._appId = t1;
       t1 = H._asStringS(self.$dartAppInstanceId);
@@ -24081,19 +24170,17 @@
     $signature: 73
   };
   D.main_closure0.prototype = {
-    call$2: function(error, stackTrace) {
+    call$2(error, stackTrace) {
       type$.legacy_StackTrace._as(stackTrace);
       P.print("Unhandled error detected in the injected client.js script.\n\nYou can disable this script in webdev by passing --no-injected-client if it\nis preventing your app from loading, but note that this will also prevent\nall debugging and hot reload/restart functionality from working.\n\nThe original error is below, please file an issue at\nhttps://github.com/dart-lang/webdev/issues/new and attach this output:\n\n" + H.S(error) + "\n" + H.S(stackTrace) + "\n");
     },
-    "call*": "call$2",
-    $requiredArgCount: 2,
     $signature: 74
   };
   Z.LegacyRestarter.prototype = {
-    restart$0: function() {
+    restart$0() {
       return this.restart$body$LegacyRestarter();
     },
-    restart$body$LegacyRestarter: function() {
+    restart$body$LegacyRestarter() {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
         $async$returnValue, t2, t3, t4, t1;
@@ -24126,7 +24213,7 @@
     $isRestarter: 1
   };
   Z.LegacyRestarter_restart_closure.prototype = {
-    call$1: function($event) {
+    call$1($event) {
       var t1,
         message = new P._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.legacy_MessageEvent._as($event).data, true);
       if (type$.legacy_Map_dynamic_dynamic._is(message)) {
@@ -24142,7 +24229,7 @@
     $signature: 75
   };
   Q.ReloadingManager.prototype = {
-    hotRestart$0: function() {
+    hotRestart$0() {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
         $async$returnValue, $async$self = this, result, t1, t2;
@@ -24174,7 +24261,7 @@
       });
       return P._asyncStartSync($async$hotRestart$0, $async$completer);
     },
-    _afterRestart$1: function(succeeded) {
+    _afterRestart$1(succeeded) {
       var t1, t2;
       if (!H.boolConversionCheck(succeeded))
         return;
@@ -24186,30 +24273,28 @@
   };
   S.Promise.prototype = {};
   S.toPromise_closure.prototype = {
-    call$2: function(resolve, reject) {
+    call$2(resolve, reject) {
       this.T._eval$1("~(0*)*")._as(resolve);
       type$.legacy_void_Function_dynamic._as(reject);
       this.future.then$1$1(0, resolve, type$.void).catchError$1(reject);
     },
-    "call*": "call$2",
-    $requiredArgCount: 2,
-    $signature: function() {
+    $signature() {
       return this.T._eval$1("Null(~(0*)*,~(@)*)");
     }
   };
   X.RequireLoader.prototype = {};
   X.HotReloadFailedException.prototype = {
-    toString$0: function(_) {
+    toString$0(_) {
       return "HotReloadFailedException: '" + H.S(this._s) + "'";
     }
   };
   X.JsError.prototype = {};
   X.JsMap.prototype = {};
   X.RequireRestarter.prototype = {
-    restart$0: function() {
+    restart$0() {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
-        $async$returnValue, $async$self = this, t3, completer, newDigests, modulesToLoad, t4, line, toZone, result, developer, t1, t2;
+        $async$returnValue, $async$self = this, t1, t2, completer, newDigests, modulesToLoad, t3, line, toZone, result, developer;
       var $async$restart$0 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return P._asyncRethrow($async$result, $async$completer);
@@ -24218,18 +24303,16 @@
             case 0:
               // Function start
               developer = self.$loadModuleConfig.call$1("dart_sdk").developer;
-              t1 = developer._extensions;
-              t2 = type$.JSArray_legacy_Object;
-              $async$goto = H.boolConversionCheck(H._asBoolS(t1.containsKey.apply(t1, H.setRuntimeTypeInfo(["ext.flutter.disassemble"], t2)))) ? 3 : 4;
+              $async$goto = H.boolConversionCheck(H._asBoolS(developer._extensions.containsKey("ext.flutter.disassemble"))) ? 3 : 4;
               break;
             case 3:
               // then
-              t1 = type$.legacy_Promise_void._as(developer.invokeExtension.apply(developer, H.setRuntimeTypeInfo(["ext.flutter.disassemble", "{}"], t2)));
-              t3 = new P._Future($.Zone__current, type$._Future_void);
-              completer = new P._AsyncCompleter(t3, type$._AsyncCompleter_void);
+              t1 = type$.legacy_Promise_void._as(developer.invokeExtension("ext.flutter.disassemble", "{}"));
+              t2 = new P._Future($.Zone__current, type$._Future_void);
+              completer = new P._AsyncCompleter(t2, type$._AsyncCompleter_void);
               J.then$2$x(t1, P.allowInterop(completer.get$complete(completer), type$.legacy_dynamic_Function_void), P.allowInterop(completer.get$completeError(), type$.legacy_dynamic_Function_dynamic));
               $async$goto = 5;
-              return P._asyncAwait(t3, $async$restart$0);
+              return P._asyncAwait(t2, $async$restart$0);
             case 5:
               // returning from await.
             case 4:
@@ -24239,20 +24322,20 @@
             case 6:
               // returning from await.
               newDigests = $async$result;
-              modulesToLoad = H.setRuntimeTypeInfo([], type$.JSArray_legacy_String);
-              for (t1 = J.getInterceptor$x(newDigests), t3 = J.get$iterator$ax(t1.get$keys(newDigests)); t3.moveNext$0();) {
-                t4 = t3.get$current(t3);
-                if (!J.containsKey$1$x($._lastKnownDigests, t4)) {
-                  line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + H.S(t4) + ".";
+              modulesToLoad = H._setArrayType([], type$.JSArray_legacy_String);
+              for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)); t2.moveNext$0();) {
+                t3 = t2.get$current(t2);
+                if (!J.containsKey$1$x($._lastKnownDigests, t3)) {
+                  line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + H.S(t3) + ".";
                   toZone = $.printToZone;
                   if (toZone == null)
                     H.printString(line);
                   else
                     toZone.call$1(line);
                   window.location.reload();
-                } else if (!J.$eq$(J.$index$asx($._lastKnownDigests, t4), t1.$index(newDigests, t4))) {
-                  J.$indexSet$ax($._lastKnownDigests, t4, t1.$index(newDigests, t4));
-                  C.JSArray_methods.add$1(modulesToLoad, t4);
+                } else if (!J.$eq$(J.$index$asx($._lastKnownDigests, t3), t1.$index(newDigests, t3))) {
+                  J.$indexSet$ax($._lastKnownDigests, t3, t1.$index(newDigests, t3));
+                  C.JSArray_methods.add$1(modulesToLoad, t3);
                 }
               }
               $async$goto = modulesToLoad.length !== 0 ? 7 : 9;
@@ -24273,8 +24356,7 @@
               result = true;
             case 8:
               // join
-              t1 = self.$loadModuleConfig.call$1("dart_sdk").dart;
-              t1.hotRestart.apply(t1, H.setRuntimeTypeInfo([], t2));
+              self.$loadModuleConfig.call$1("dart_sdk").dart.hotRestart();
               V.runMain();
               $async$returnValue = result;
               // goto return
@@ -24287,7 +24369,7 @@
       });
       return P._asyncStartSync($async$restart$0, $async$completer);
     },
-    _getDigests$0: function() {
+    _getDigests$0() {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_Map_of_legacy_String_and_legacy_String),
         $async$returnValue, t1, $async$temp1, $async$temp2, $async$temp3;
@@ -24317,7 +24399,7 @@
       });
       return P._asyncStartSync($async$_getDigests$0, $async$completer);
     },
-    _initialize$0: function() {
+    _initialize$0() {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.void),
         $async$self = this, $async$temp1;
@@ -24340,14 +24422,14 @@
       });
       return P._asyncStartSync($async$_initialize$0, $async$completer);
     },
-    _moduleParents$1: function(module) {
+    _moduleParents$1(module) {
       var t1;
       H._asStringS(module);
       t1 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module);
       t1 = t1 == null ? null : J.cast$1$0$ax(t1, type$.legacy_String);
-      return t1 == null ? H.setRuntimeTypeInfo([], type$.JSArray_legacy_String) : t1;
+      return t1 == null ? H._setArrayType([], type$.JSArray_legacy_String) : t1;
     },
-    _moduleTopologicalCompare$2: function(module1, module2) {
+    _moduleTopologicalCompare$2(module1, module2) {
       var t1, order1, order2, t2, topological;
       H._asStringS(module1);
       H._asStringS(module2);
@@ -24360,13 +24442,13 @@
       topological = J.compareTo$1$ns(t1.$index(0, module2), t1.$index(0, module1));
       return topological === 0 ? J.compareTo$1$ns(module1, module2) : topological;
     },
-    _reload$1: function(modules) {
+    _reload$1(modules) {
       return this._reload$body$RequireRestarter(type$.legacy_List_legacy_String._as(modules));
     },
-    _reload$body$RequireRestarter: function(modules) {
+    _reload$body$RequireRestarter(modules) {
       var $async$goto = 0,
         $async$completer = P._makeAsyncAwaitCompleter(type$.legacy_bool),
-        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, t6, exception, t1, $async$exception;
+        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, exception, t1, $async$exception;
       var $async$_reload$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1) {
           $async$currentError = $async$result;
@@ -24377,7 +24459,7 @@
             case 0:
               // Function start
               t1 = $async$self._running.future;
-              $async$goto = t1._state === 0 ? 3 : 4;
+              $async$goto = (t1._state & 30) === 0 ? 3 : 4;
               break;
             case 3:
               // then
@@ -24396,42 +24478,41 @@
               $async$handler = 7;
               $async$self._dirtyModules.addAll$1(0, modules);
               previousModuleId = null;
-              t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.legacy_String, t3 = type$.JSArray_legacy_String, t4 = type$.JSArray_legacy_Object, t5 = type$.legacy_dynamic_Function;
+              t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.legacy_String, t3 = type$.JSArray_legacy_String, t4 = type$.legacy_dynamic_Function;
             case 10:
               // for condition
-              if (!(t6 = $async$self._dirtyModules, t6._root != null)) {
+              if (!(t5 = $async$self._dirtyModules, t5._root != null)) {
                 // goto after for
                 $async$goto = 11;
                 break;
               }
-              if (t6._count === 0)
+              if (t5._count === 0)
                 H.throwExpression(H.IterableElementError_noElement());
-              moduleId = t6.get$_collection$_first().key;
+              moduleId = t5.get$_collection$_first().key;
               $async$self._dirtyModules.remove$1(0, moduleId);
-              t6 = H._asStringS(moduleId);
-              t6 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t6);
-              t6 = t6 == null ? null : J.cast$1$0$ax(t6, t2);
-              parentIds = t6 == null ? H.setRuntimeTypeInfo([], t3) : t6;
+              t5 = H._asStringS(moduleId);
+              t5 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t5);
+              t5 = t5 == null ? null : J.cast$1$0$ax(t5, t2);
+              parentIds = t5 == null ? H._setArrayType([], t3) : t5;
               $async$goto = parentIds == null || J.get$isEmpty$asx(parentIds) ? 12 : 14;
               break;
             case 12:
               // then
-              t6 = self.$loadModuleConfig.call$1("dart_sdk").dart;
-              childModule = t6.getModuleLibraries.apply(t6, H.setRuntimeTypeInfo([previousModuleId], t4));
-              self.$dartRunMain = P.allowInterop(new X.RequireRestarter__reload_closure(childModule), t5);
+              childModule = self.$loadModuleConfig.call$1("dart_sdk").dart.getModuleLibraries(previousModuleId);
+              self.$dartRunMain = P.allowInterop(new X.RequireRestarter__reload_closure(childModule), t4);
               // goto join
               $async$goto = 13;
               break;
             case 14:
               // else
-              t6 = reloadedModules;
-              if (typeof t6 !== "number") {
-                $async$returnValue = t6.$add();
+              t5 = reloadedModules;
+              if (typeof t5 !== "number") {
+                $async$returnValue = t5.$add();
                 // goto return
                 $async$goto = 1;
                 break;
               }
-              reloadedModules = t6 + 1;
+              reloadedModules = t5 + 1;
               $async$goto = 15;
               return P._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1);
             case 15:
@@ -24488,14 +24569,14 @@
       });
       return P._asyncStartSync($async$_reload$1, $async$completer);
     },
-    _reloadModule$1: function(moduleId) {
+    _reloadModule$1(moduleId) {
       var t1 = new P._Future($.Zone__current, type$._Future_dynamic),
         completer = new P._AsyncCompleter(t1, type$._AsyncCompleter_dynamic),
         stackTrace = P.StackTrace_current();
       J.forceLoadModule$3$x(self.$requireLoader, moduleId, P.allowInterop(new X.RequireRestarter__reloadModule_closure(completer), type$.legacy_void_Function), P.allowInterop(new X.RequireRestarter__reloadModule_closure0(completer, stackTrace), type$.legacy_void_Function_legacy_JsError));
       return t1;
     },
-    _updateGraph$0: function() {
+    _updateGraph$0() {
       var i, t2, t3, _i,
         t1 = type$.legacy_String,
         stronglyConnectedComponents = L.stronglyConnectedComponents(P.List_List$from(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), true, t1), this.get$_moduleParents(), t1);
@@ -24508,39 +24589,34 @@
         for (t2 = stronglyConnectedComponents[i], t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i)
           t1.$indexSet(0, t2[_i], i);
     },
-    set$_dirtyModules: function(_dirtyModules) {
+    set$_dirtyModules(_dirtyModules) {
       this._dirtyModules = type$.legacy_SplayTreeSet_legacy_String._as(_dirtyModules);
     },
-    set$_running: function(_running) {
+    set$_running(_running) {
       this._running = type$.legacy_Completer_legacy_bool._as(_running);
     },
     $isRestarter: 1
   };
   X.RequireRestarter__reload_closure.prototype = {
-    call$0: function() {
-      var t1 = J.get$first$ax(self.Object.values(this.childModule));
-      t1.main.apply(t1, H.setRuntimeTypeInfo([], type$.JSArray_legacy_Object));
+    call$0() {
+      J.get$first$ax(self.Object.values(this.childModule)).main();
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 2
   };
   X.RequireRestarter__reloadModule_closure.prototype = {
-    call$0: function() {
+    call$0() {
       this.completer.complete$0(0);
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 2
   };
   X.RequireRestarter__reloadModule_closure0.prototype = {
-    call$1: function(e) {
+    call$1(e) {
       return this.completer.completeError$2(new X.HotReloadFailedException(J.get$message$x(type$.legacy_JsError._as(e))), this.stackTrace);
     },
     $signature: 78
   };
   V._createScript_closure.prototype = {
-    call$0: function() {
+    call$0() {
       var nonce = V._findNonce();
       if (nonce == null)
         return new V._createScript__closure();
@@ -24549,21 +24625,17 @@
     $signature: 79
   };
   V._createScript__closure.prototype = {
-    call$0: function() {
+    call$0() {
       return document.createElement("script");
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 31
   };
   V._createScript__closure0.prototype = {
-    call$0: function() {
+    call$0() {
       var t1 = document.createElement("script");
       t1.setAttribute("nonce", this.nonce);
       return t1;
     },
-    "call*": "call$0",
-    $requiredArgCount: 0,
     $signature: 31
   };
   (function aliases() {
@@ -24572,6 +24644,11 @@
     _.super$Interceptor$noSuchMethod = _.noSuchMethod$1;
     _ = J.JavaScriptObject.prototype;
     _.super$JavaScriptObject$toString = _.toString$0;
+    _ = H.JsLinkedHashMap.prototype;
+    _.super$JsLinkedHashMap$internalContainsKey = _.internalContainsKey$1;
+    _.super$JsLinkedHashMap$internalGet = _.internalGet$1;
+    _.super$JsLinkedHashMap$internalSet = _.internalSet$2;
+    _.super$JsLinkedHashMap$internalRemove = _.internalRemove$1;
     _ = P._BufferingStreamSubscription.prototype;
     _.super$_BufferingStreamSubscription$_add = _._add$1;
     _.super$_BufferingStreamSubscription$_addError = _._addError$2;
@@ -24613,7 +24690,7 @@
     _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 10);
     _static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
     _static_1(P, "async___nullDataHandler$closure", "_nullDataHandler", 4);
-    _static_2(P, "async___nullErrorHandler$closure", "_nullErrorHandler", 15);
+    _static_2(P, "async___nullErrorHandler$closure", "_nullErrorHandler", 16);
     _static_0(P, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
     _static(P, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 83, 0);
     _static(P, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
@@ -24643,39 +24720,39 @@
     _static(P, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 96, 0);
     _instance(P._Completer.prototype, "get$completeError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 14, 0);
+    }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 15, 0, 0);
     _instance(P._AsyncCompleter.prototype, "get$complete", 1, 0, function() {
       return [null];
-    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 97, 0);
-    _instance_2_u(P._Future.prototype, "get$_completeError", "_completeError$2", 15);
+    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 97, 0, 0);
+    _instance_2_u(P._Future.prototype, "get$_completeError", "_completeError$2", 16);
     var _;
-    _instance_1_i(_ = P._StreamController.prototype, "get$add", "add$1", 16);
+    _instance_1_i(_ = P._StreamController.prototype, "get$add", "add$1", 17);
     _instance(_, "get$addError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 14, 0);
+    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 15, 0, 0);
     _instance_0_u(_ = P._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = P._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = P._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
-    _instance_1_u(_, "get$_handleData", "_handleData$1", 16);
+    _instance_1_u(_, "get$_handleData", "_handleData$1", 17);
     _instance_2_u(_, "get$_handleError", "_handleError$2", 52);
     _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
-    _static_2(P, "collection___defaultEquals$closure", "_defaultEquals", 11);
-    _static_1(P, "collection___defaultHashCode$closure", "_defaultHashCode", 12);
+    _static_2(P, "collection___defaultEquals$closure", "_defaultEquals", 12);
+    _static_1(P, "collection___defaultHashCode$closure", "_defaultHashCode", 13);
     _static_2(P, "collection_ListMixin__compareAny$closure", "ListMixin__compareAny", 32);
     _static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 1);
-    _static_1(P, "core__identityHashCode$closure", "identityHashCode", 12);
-    _static_2(P, "core__identical$closure", "identical", 11);
-    _static(W, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 13, 0);
-    _static(W, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 13, 0);
+    _static_1(P, "core__identityHashCode$closure", "identityHashCode", 13);
+    _static_2(P, "core__identical$closure", "identical", 12);
+    _static(W, "html0__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 14, 0);
+    _static(W, "html0__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 14, 0);
     _instance_0_i(W.Node.prototype, "get$remove", "remove$0", 0);
     _instance_1_i(W.WebSocket.prototype, "get$send", "send$1", 4);
     _static_1(P, "js___convertToJS$closure", "_convertToJS", 28);
     _static_1(P, "js___convertToDart$closure", "_convertToDart", 3);
-    _instance_2_u(_ = U.DeepCollectionEquality.prototype, "get$equals", "equals$2", 11);
-    _instance_1_i(_, "get$hash", "hash$1", 12);
+    _instance_2_u(_ = U.DeepCollectionEquality.prototype, "get$equals", "equals$2", 12);
+    _instance_1_i(_, "get$hash", "hash$1", 13);
     _instance_1_u(_, "get$isValidKey", "isValidKey$1", 55);
     _static_2(L, "strongly_connected_components___defaultEquals$closure", "_defaultEquals0", 65);
     _instance_1_u(_ = M.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 5);
@@ -24690,7 +24767,7 @@
       _inherit = hunkHelpers.inherit,
       _inheritMany = hunkHelpers.inheritMany;
     _inherit(P.Object, null);
-    _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, P.Iterable, H.CastIterator, H.Closure, P.MapMixin, P.Error, H.ListIterator, P.Iterator, H.EmptyIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, P._ListBase_Object_ListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.TypeErrorDecoder, H.NullThrownFromJavaScriptException, H.ExceptionAndStackTrace, H._StackTrace, H._Required, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, H.Rti, H._FunctionParameters, H._Type, P._TimerImpl, P._AsyncAwaitCompleter, P.AsyncError, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.Stream, P.StreamSubscription, P.StreamTransformerBase, P._StreamController, P._SyncStreamControllerDispatch, P._AsyncStreamControllerDispatch, P._BufferingStreamSubscription, P._StreamSinkWrapper, P._DelayedEvent, P._DelayedDone, P._PendingEvents, P._StreamIterator, P._ZoneFunction, P._RunNullaryZoneFunction, P._RunUnaryZoneFunction, P._RunBinaryZoneFunction, P._RegisterNullaryZoneFunction, P._RegisterUnaryZoneFunction, P._RegisterBinaryZoneFunction, P._ZoneSpecification, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P.__SetBase_Object_SetMixin, P._HashSetIterator, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.IterableMixin, P.ListMixin, P._UnmodifiableMapMixin, P._ListQueueIterator, P.SetMixin, P._SplayTreeNode, P._SplayTree, P._SplayTreeIterator, P.Codec, P._JsonStringifier, P._Utf8Encoder, P._BigIntImpl, P.DateTime, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.IntegerDivisionByZeroException, P.Null, P._StringStackTrace, P.StringBuffer, P._Uri, P.UriData, P._SimpleUri, W.CssStyleDeclarationBase, W.EventStreamProvider, W._Html5NodeValidator, W.ImmutableListMixin, W.NodeValidatorBuilder, W._SimpleNodeValidator, W._SvgNodeValidator, W.FixedSizeListIterator, W._DOMWindowCrossFrame, W._SameOriginUriPolicy, W._ValidatingTreeSanitizer, P._StructuredClone, P._AcceptStructuredClone, P.JsObject, P.NullRejectionException, P._JSRandom, P._Random, S.AsyncMemoizer, O.DelegatingStreamSink, Q.CopyOnWriteList, D.BuiltList, D.ListBuilder, R.BuiltListMultimap, R.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, X.BuiltSet, X.SetBuilder, M.BuiltSetMultimap, M.SetMultimapBuilder, Y.EnumClass, Y.IndentingBuiltValueToStringHelper, A.JsonObject, U.FullType, O.BigIntSerializer, R.BoolSerializer, Y.BuiltJsonSerializers, Y.BuiltJsonSerializersBuilder, R.BuiltListMultimapSerializer, K.BuiltListSerializer, K.BuiltMapSerializer, R.BuiltSetMultimapSerializer, O.BuiltSetSerializer, Z.DateTimeSerializer, D.DoubleSerializer, K.DurationSerializer, Q.Int64Serializer, B.IntSerializer, O.JsonObjectSerializer, S.NullSerializer, K.NumSerializer, K.RegExpSerializer, M.StringSerializer, O.UriSerializer, U.DefaultEquality, U.IterableEquality, U.ListEquality, U._UnorderedEquality, U._MapEntry, U.MapEquality, U.DeepCollectionEquality, Q.BuildResult, Q._$BuildStatusSerializer, Q._$BuildResultSerializer, Q.BuildResultBuilder, E.ConnectRequest, E._$ConnectRequestSerializer, E.ConnectRequestBuilder, G.DebugEvent, G._$DebugEventSerializer, G.DebugEventBuilder, M.DevToolsRequest, M.DevToolsResponse, M._$DevToolsRequestSerializer, M._$DevToolsResponseSerializer, M.DevToolsRequestBuilder, M.DevToolsResponseBuilder, X.ErrorResponse, X._$ErrorResponseSerializer, X.ErrorResponseBuilder, S.ExtensionRequest, S.ExtensionResponse, S.ExtensionEvent, S.BatchedEvents, S._$ExtensionRequestSerializer, S._$ExtensionResponseSerializer, S._$ExtensionEventSerializer, S._$BatchedEventsSerializer, S.ExtensionRequestBuilder, S.ExtensionResponseBuilder, S.ExtensionEventBuilder, S.BatchedEventsBuilder, M.IsolateExit, M.IsolateStart, M._$IsolateExitSerializer, M._$IsolateStartSerializer, M.IsolateExitBuilder, M.IsolateStartBuilder, D.RegisterEvent, D._$RegisterEventSerializer, D.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, R.SocketClient, V.Int64, Y.Level, L.LogRecord, F.Logger, O.Pool, O.PoolResource, R.StreamChannelMixin, K._GuaranteeSink, B.StreamChannelController, K.Uuid, E.WebSocketChannelException, Z.LegacyRestarter, Q.ReloadingManager, X.HotReloadFailedException, X.RequireRestarter]);
+    _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, P.Iterable, H.CastIterator, H.Closure, P.MapMixin, P.Error, H.ListIterator, P.Iterator, H.EmptyIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, P._ListBase_Object_ListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.TypeErrorDecoder, H.NullThrownFromJavaScriptException, H.ExceptionAndStackTrace, H._StackTrace, H._Required, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, H._Cell, H.Rti, H._FunctionParameters, H._Type, P._TimerImpl, P._AsyncAwaitCompleter, P.AsyncError, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.Stream, P.StreamSubscription, P.StreamTransformerBase, P._StreamController, P._SyncStreamControllerDispatch, P._AsyncStreamControllerDispatch, P._BufferingStreamSubscription, P._StreamSinkWrapper, P._DelayedEvent, P._DelayedDone, P._PendingEvents, P._StreamIterator, P._ZoneFunction, P._RunNullaryZoneFunction, P._RunUnaryZoneFunction, P._RunBinaryZoneFunction, P._RegisterNullaryZoneFunction, P._RegisterUnaryZoneFunction, P._RegisterBinaryZoneFunction, P._ZoneSpecification, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P.__SetBase_Object_SetMixin, P._HashSetIterator, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.IterableMixin, P.ListMixin, P._UnmodifiableMapMixin, P._ListQueueIterator, P.SetMixin, P._SplayTreeNode, P._SplayTree, P._SplayTreeIterator, P.Codec, P._JsonStringifier, P._Utf8Encoder, P._BigIntImpl, P.DateTime, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.IntegerDivisionByZeroException, P.Null, P._StringStackTrace, P.StringBuffer, P._Uri, P.UriData, P._SimpleUri, W.CssStyleDeclarationBase, W.EventStreamProvider, W._Html5NodeValidator, W.ImmutableListMixin, W.NodeValidatorBuilder, W._SimpleNodeValidator, W._SvgNodeValidator, W.FixedSizeListIterator, W._DOMWindowCrossFrame, W._SameOriginUriPolicy, W._ValidatingTreeSanitizer, P._StructuredClone, P._AcceptStructuredClone, P.JsObject, P.NullRejectionException, P._JSRandom, P._Random, S.AsyncMemoizer, O.DelegatingStreamSink, Q.CopyOnWriteList, D.BuiltList, D.ListBuilder, R.BuiltListMultimap, R.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, X.BuiltSet, X.SetBuilder, M.BuiltSetMultimap, M.SetMultimapBuilder, Y.EnumClass, Y.IndentingBuiltValueToStringHelper, A.JsonObject, U.FullType, O.BigIntSerializer, R.BoolSerializer, Y.BuiltJsonSerializers, Y.BuiltJsonSerializersBuilder, R.BuiltListMultimapSerializer, K.BuiltListSerializer, K.BuiltMapSerializer, R.BuiltSetMultimapSerializer, O.BuiltSetSerializer, Z.DateTimeSerializer, D.DoubleSerializer, K.DurationSerializer, Q.Int64Serializer, B.IntSerializer, O.JsonObjectSerializer, S.NullSerializer, K.NumSerializer, K.RegExpSerializer, M.StringSerializer, O.UriSerializer, U.DefaultEquality, U.IterableEquality, U.ListEquality, U._UnorderedEquality, U._MapEntry, U.MapEquality, U.DeepCollectionEquality, Q.BuildResult, Q._$BuildStatusSerializer, Q._$BuildResultSerializer, Q.BuildResultBuilder, E.ConnectRequest, E._$ConnectRequestSerializer, E.ConnectRequestBuilder, G.DebugEvent, G._$DebugEventSerializer, G.DebugEventBuilder, M.DevToolsRequest, M.DevToolsResponse, M._$DevToolsRequestSerializer, M._$DevToolsResponseSerializer, M.DevToolsRequestBuilder, M.DevToolsResponseBuilder, X.ErrorResponse, X._$ErrorResponseSerializer, X.ErrorResponseBuilder, S.ExtensionRequest, S.ExtensionResponse, S.ExtensionEvent, S.BatchedEvents, S._$ExtensionRequestSerializer, S._$ExtensionResponseSerializer, S._$ExtensionEventSerializer, S._$BatchedEventsSerializer, S.ExtensionRequestBuilder, S.ExtensionResponseBuilder, S.ExtensionEventBuilder, S.BatchedEventsBuilder, M.IsolateExit, M.IsolateStart, M._$IsolateExitSerializer, M._$IsolateStartSerializer, M.IsolateExitBuilder, M.IsolateStartBuilder, D.RegisterEvent, D._$RegisterEventSerializer, D.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, R.SocketClient, V.Int64, Y.Level, L.LogRecord, F.Logger, O.Pool, O.PoolResource, R.StreamChannelMixin, K._GuaranteeSink, B.StreamChannelController, K.Uuid, E.WebSocketChannelException, Z.LegacyRestarter, Q.ReloadingManager, X.HotReloadFailedException, X.RequireRestarter]);
     _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeByteBuffer, H.NativeTypedData, W.EventTarget, W.AccessibleNodeList, W.Blob, W.Event, W.CssTransformComponent, W.CssRule, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.CssStyleValue, W.DataTransferItemList, W.DomException, W.DomImplementation, W._DomRectList_Interceptor_ListMixin, W.DomRectReadOnly, W._DomStringList_Interceptor_ListMixin, W.DomTokenList, W._FileList_Interceptor_ListMixin, W.Gamepad, W.History, W._HtmlCollection_Interceptor_ListMixin, W.ImageData, W.Location, W.MediaList, W._MidiInputMap_Interceptor_MapMixin, W._MidiOutputMap_Interceptor_MapMixin, W.MimeType, W._MimeTypeArray_Interceptor_ListMixin, W._NodeList_Interceptor_ListMixin, W.Plugin, W._PluginArray_Interceptor_ListMixin, W._RtcStatsReport_Interceptor_MapMixin, W.SpeechGrammar, W._SpeechGrammarList_Interceptor_ListMixin, W.SpeechRecognitionResult, W._Storage_Interceptor_MapMixin, W.StyleSheet, W._TextTrackCueList_Interceptor_ListMixin, W.TimeRanges, W.Touch, W._TouchList_Interceptor_ListMixin, W.TrackDefaultList, W.Url, W.__CssRuleList_Interceptor_ListMixin, W.__GamepadList_Interceptor_ListMixin, W.__NamedNodeMap_Interceptor_ListMixin, W.__SpeechRecognitionResultList_Interceptor_ListMixin, W.__StyleSheetList_Interceptor_ListMixin, P.KeyRange, P.Length, P._LengthList_Interceptor_ListMixin, P.Number, P._NumberList_Interceptor_ListMixin, P.PointList, P._StringList_Interceptor_ListMixin, P.Transform, P._TransformList_Interceptor_ListMixin, P.AudioBuffer, P._AudioParamMap_Interceptor_MapMixin, P._SqlResultSetRowList_Interceptor_ListMixin]);
     _inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, S.Promise, X.RequireLoader, X.JsError, X.JsMap]);
     _inherit(J.JSUnmodifiableArray, J.JSArray);
@@ -24699,11 +24776,13 @@
     _inheritMany(H._CastIterableBase, [H.CastIterable, H.__CastListBase__CastIterableBase_ListMixin]);
     _inherit(H._EfficientLengthCastIterable, H.CastIterable);
     _inherit(H._CastListBase, H.__CastListBase__CastIterableBase_ListMixin);
-    _inheritMany(H.Closure, [H._CastListBase_sort_closure, H.CastMap_forEach_closure, H.nullFuture_closure, H.ConstantMap_map_closure, H.Primitives_functionNoSuchMethod_closure, H.TearOffClosure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P.Future_Future$microtask_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncCompleteWithValue_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_length_closure, P.Stream_length_closure0, P.Stream_first_closure, P.Stream_first_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._BufferingStreamSubscription_asFuture_closure, P._BufferingStreamSubscription_asFuture_closure0, P._BufferingStreamSubscription_asFuture__closure, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._cancelAndValue_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._CustomZone_bindUnaryCallbackGuarded_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._RootZone_bindUnaryCallbackGuarded_closure, P.runZonedGuarded_closure, P._CustomHashMap_closure, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P.SplayTreeSet_closure, P._JsonStringifier_writeMap_closure, P._symbolMapToStringMap_closure, P.NoSuchMethodError_toString_closure, P._BigIntImpl_hashCode_combine, P._BigIntImpl_hashCode_finish, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_error, P.Uri_parseIPv6Address_parseHex, P._Uri__makePath_closure, P._createTables_build, P._createTables_setChars, P._createTables_setRange, W.Element_Element$html_closure, W.HttpRequest_request_closure, W.MidiInputMap_keys_closure, W.MidiOutputMap_keys_closure, W.RtcStatsReport_keys_closure, W.Storage_keys_closure, W._EventStreamSubscription_closure, W._EventStreamSubscription_onData_closure, W.NodeValidatorBuilder_allowsElement_closure, W.NodeValidatorBuilder_allowsAttribute_closure, W._SimpleNodeValidator_closure, W._SimpleNodeValidator_closure0, W._TemplatingNodeValidator_closure, W._ValidatingTreeSanitizer_sanitizeTree_walk, P._StructuredClone_walk_closure, P._StructuredClone_walk_closure0, P._AcceptStructuredClone_walk_closure, P._convertDartToNative_Value_closure, P.convertDartToNative_Dictionary_closure, P._convertToJS_closure, P._convertToJS_closure0, P._wrapToDart_closure, P._wrapToDart_closure0, P._wrapToDart_closure1, P.promiseToFuture_closure, P.promiseToFuture_closure0, P.AudioParamMap_keys_closure, A.hashObjects_closure, R.BuiltListMultimap_BuiltListMultimap_closure, R.BuiltListMultimap_hashCode_closure, R.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.MapBuilder_replace_closure, X.BuiltSet_hashCode_closure, M.BuiltSetMultimap_hashCode_closure, M.SetMultimapBuilder_replace_closure, Y.newBuiltValueToStringHelper_closure, U.Serializers_Serializers_closure, U.Serializers_Serializers_closure0, U.Serializers_Serializers_closure1, U.Serializers_Serializers_closure2, U.Serializers_Serializers_closure3, R.BuiltListMultimapSerializer_serialize_closure, R.BuiltListMultimapSerializer_deserialize_closure, K.BuiltListSerializer_serialize_closure, K.BuiltListSerializer_deserialize_closure, R.BuiltSetMultimapSerializer_serialize_closure, R.BuiltSetMultimapSerializer_deserialize_closure, O.BuiltSetSerializer_serialize_closure, O.BuiltSetSerializer_deserialize_closure, K._$serializers_closure, R.WebSocketClient_stream_closure, L.stronglyConnectedComponents_strongConnect, F.Logger_Logger_closure, O.Pool__runOnRelease_closure, O.Pool__runOnRelease_closure0, M.SseClient_closure, M.SseClient_closure0, M.SseClient_closure1, M.SseClient__closure, M.SseClient__onOutgoingMessage_closure, T.generateUuidV4__generateBits, T.generateUuidV4__printDigits, T.generateUuidV4__bitsDigits, K.GuaranteeChannel_closure, K.GuaranteeChannel__closure, K._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.HtmlWebSocketChannel__listen_closure, D.main_closure, D.main__closure, D.main__closure0, D.main___closure1, D.main__closure1, D.main___closure0, D.main__closure2, D.main___closure, D.main__closure3, D.main__closure4, D.main__closure5, D.main__closure6, D.main_closure0, Z.LegacyRestarter_restart_closure, S.toPromise_closure, X.RequireRestarter__reload_closure, X.RequireRestarter__reloadModule_closure, X.RequireRestarter__reloadModule_closure0, V._createScript_closure, V._createScript__closure, V._createScript__closure0]);
+    _inheritMany(H.Closure, [H.Closure2Args, H.Closure0Args, H.TearOffClosure, H.initHooks_closure, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._awaitOnObject_closure, P._Future__chainForeignFuture_closure, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P.Stream_length_closure, P.Stream_first_closure0, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindUnaryCallbackGuarded_closure, P._RootZone_bindUnaryCallback_closure, P._RootZone_bindUnaryCallbackGuarded_closure, P.runZonedGuarded_closure, P._CustomHashMap_closure, P._LinkedCustomHashMap_closure, P.SplayTreeSet_closure, P._BigIntImpl_hashCode_finish, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri_parseIPv6Address_error, P._Uri__makePath_closure, P._createTables_setChars, P._createTables_setRange, W.Element_Element$html_closure, W.HttpRequest_request_closure, W._EventStreamSubscription_closure, W._EventStreamSubscription_onData_closure, W.NodeValidatorBuilder_allowsElement_closure, W.NodeValidatorBuilder_allowsAttribute_closure, W._SimpleNodeValidator_closure, W._SimpleNodeValidator_closure0, W._TemplatingNodeValidator_closure, P._convertDartToNative_Value_closure, P._convertToJS_closure, P._convertToJS_closure0, P._wrapToDart_closure, P._wrapToDart_closure0, P._wrapToDart_closure1, P.promiseToFuture_closure, P.promiseToFuture_closure0, R.BuiltListMultimap_BuiltListMultimap_closure, R.BuiltListMultimap_hashCode_closure, R.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, X.BuiltSet_hashCode_closure, M.BuiltSetMultimap_hashCode_closure, M.SetMultimapBuilder_replace_closure, Y.newBuiltValueToStringHelper_closure, R.BuiltListMultimapSerializer_serialize_closure, R.BuiltListMultimapSerializer_deserialize_closure, K.BuiltListSerializer_serialize_closure, K.BuiltListSerializer_deserialize_closure, R.BuiltSetMultimapSerializer_serialize_closure, R.BuiltSetMultimapSerializer_deserialize_closure, O.BuiltSetSerializer_serialize_closure, O.BuiltSetSerializer_deserialize_closure, R.WebSocketClient_stream_closure, L.stronglyConnectedComponents_strongConnect, O.Pool__runOnRelease_closure, M.SseClient_closure0, M.SseClient_closure1, T.generateUuidV4__generateBits, K._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, D.main___closure1, D.main__closure1, D.main___closure0, D.main___closure, D.main__closure3, D.main__closure4, D.main__closure5, D.main__closure6, Z.LegacyRestarter_restart_closure, X.RequireRestarter__reloadModule_closure0]);
+    _inheritMany(H.Closure2Args, [H._CastListBase_sort_closure, H.CastMap_forEach_closure, H.ConstantMap_map_closure, H.Primitives_functionNoSuchMethod_closure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure0, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._Future__chainForeignFuture_closure0, P._BufferingStreamSubscription_asFuture_closure0, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P._JsonStringifier_writeMap_closure, P._symbolMapToStringMap_closure, P.NoSuchMethodError_toString_closure, P._BigIntImpl_hashCode_combine, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_parseHex, P._createTables_build, W.MidiInputMap_keys_closure, W.MidiOutputMap_keys_closure, W.RtcStatsReport_keys_closure, W.Storage_keys_closure, W._ValidatingTreeSanitizer_sanitizeTree_walk, P._StructuredClone_walk_closure, P._StructuredClone_walk_closure0, P._AcceptStructuredClone_walk_closure, P.convertDartToNative_Dictionary_closure, P.AudioParamMap_keys_closure, A.hashObjects_closure, A.MapBuilder_replace_closure, O.Pool__runOnRelease_closure0, T.generateUuidV4__printDigits, T.generateUuidV4__bitsDigits, D.main__closure0, D.main_closure0, S.toPromise_closure]);
     _inherit(H.CastList, H._CastListBase);
     _inherit(P.MapBase, P.MapMixin);
     _inheritMany(P.MapBase, [H.CastMap, H.JsLinkedHashMap, P._HashMap, P._JsonMap, W._AttributeMap]);
     _inheritMany(P.Error, [H.LateError, H.ReachabilityError, H.NotNullableError, P.TypeError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.RuntimeError, P.AssertionError, H._Error, P.JsonUnsupportedObjectError, P.NullThrownError, P.ArgumentError, P.NoSuchMethodError, P.UnsupportedError, P.UnimplementedError, P.StateError, P.ConcurrentModificationError, P.CyclicInitializationError, Y.BuiltValueNullFieldError, Y.BuiltValueNestedFieldError, U.DeserializationError]);
+    _inheritMany(H.Closure0Args, [H.nullFuture_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P.Future_Future$microtask_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure1, P._Future__asyncCompleteWithValue_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_length_closure0, P.Stream_first_closure, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._BufferingStreamSubscription_asFuture_closure, P._BufferingStreamSubscription_asFuture__closure, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._cancelAndValue_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._rootHandleError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, U.Serializers_Serializers_closure, U.Serializers_Serializers_closure0, U.Serializers_Serializers_closure1, U.Serializers_Serializers_closure2, U.Serializers_Serializers_closure3, K._$serializers_closure, F.Logger_Logger_closure, M.SseClient_closure, M.SseClient__closure, M.SseClient__onOutgoingMessage_closure, K.GuaranteeChannel_closure, K.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, D.main_closure, D.main__closure, D.main__closure2, X.RequireRestarter__reload_closure, X.RequireRestarter__reloadModule_closure, V._createScript_closure, V._createScript__closure, V._createScript__closure0]);
     _inheritMany(H.EfficientLengthIterable, [H.ListIterable, H.EmptyIterable, H.LinkedHashMapKeyIterable, P._HashMapKeyIterable]);
     _inheritMany(H.ListIterable, [H.SubListIterable, H.MappedListIterable, H.ReversedListIterable, P.ListQueue, P._JsonMapKeyIterable]);
     _inherit(H.EfficientLengthMappedIterable, H.MappedIterable);
@@ -24738,6 +24817,7 @@
     _inherit(P._MapStream, P._ForwardingStream);
     _inheritMany(P._Zone, [P._CustomZone, P._RootZone]);
     _inheritMany(P._HashMap, [P._IdentityHashMap, P._CustomHashMap]);
+    _inheritMany(H.JsLinkedHashMap, [P._LinkedIdentityHashMap, P._LinkedCustomHashMap]);
     _inherit(P._SetBase, P.__SetBase_Object_SetMixin);
     _inheritMany(P._SetBase, [P._HashSet, P._LinkedHashSet]);
     _inherit(P.UnmodifiableListView, H.UnmodifiableListBase);
@@ -24919,16 +24999,15 @@
     typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
     mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"},
     mangledNames: {},
-    getTypeFromName: getGlobalFromName,
-    metadata: [],
-    types: ["~()", "@(@)", "Null()", "Object?(@)", "~(@)", "~(Event)", "~(String,@)", "Null(@)", "~(@,@)", "Null(Object,StackTrace)", "~(~())", "bool(Object?,Object?)", "int(Object?)", "bool(Element,String,String,_Html5NodeValidator)", "~(Object[StackTrace?])", "~(Object,StackTrace)", "~(Object?)", "bool(@)", "~(Object?,Object?)", "~(Symbol0,@)", "int(int,int)", "int(int)", "String(int)", "String(String)", "~(Uint8List,String,int)", "Future<Null>()", "bool(NodeValidator)", "bool(String)", "Object?(Object?)", "String(int,int)", "Null(Event)", "ScriptElement*()", "int(@,@)", "~(ProgressEvent)", "~(String,String)", "@(@,String)", "Null(~())", "Null(@,StackTrace)", "~(Node,Node?)", "Null(@,@)", "@(@,@)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "SetMultimapBuilder<Object,Object>()", "~(int,@)", "~(@,StackTrace)", "~(String,int)", "~(String[@])", "bool(Object?)", "ListBuilder<ExtensionEvent*>*()", "String*(@)", "Logger()", "~(String?)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "Uint8List(@,@)", "~(MessageEvent)", "Null(CloseEvent)", "Future<Null>*()", "bool(Object,Object)", "Null(String*,String*)", "DebugEventBuilder*(DebugEventBuilder*)", "Null(String*)", "RegisterEventBuilder*(RegisterEventBuilder*)", "DevToolsRequestBuilder*(DevToolsRequestBuilder*)", "Future<Null>*(String*)", "Null(Event*)", "ConnectRequestBuilder*(ConnectRequestBuilder*)", "Null(Object*,StackTrace*)", "Null(MessageEvent*)", "List<String*>*(String*)", "int*(String*,String*)", "~(JsError*)", "ScriptElement*()*()", "@(String)", "bool(Node)", "Promise<1&>*()", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())<Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)<Object?Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)<Object?Object?Object?>", "0^()(Zone,ZoneDelegate,Zone,0^())<Object?>", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))<Object?Object?>", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))<Object?Object?Object?>", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "~([Object?])", "_Future<@>(@)"],
+    types: ["~()", "@(@)", "Null()", "Object?(@)", "~(@)", "~(Event)", "~(String,@)", "Null(@)", "~(@,@)", "Null(Object,StackTrace)", "~(~())", "bool(@)", "bool(Object?,Object?)", "int(Object?)", "bool(Element,String,String,_Html5NodeValidator)", "~(Object[StackTrace?])", "~(Object,StackTrace)", "~(Object?)", "~(Object?,Object?)", "~(Symbol0,@)", "int(int,int)", "int(int)", "String(int)", "String(String)", "~(Uint8List,String,int)", "Future<Null>()", "bool(NodeValidator)", "bool(String)", "Object?(Object?)", "String(int,int)", "Null(Event)", "ScriptElement*()", "int(@,@)", "~(ProgressEvent)", "~(String,String)", "@(@,String)", "Null(~())", "Null(@,StackTrace)", "~(Node,Node?)", "Null(@,@)", "@(@,@)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "SetMultimapBuilder<Object,Object>()", "~(int,@)", "~(@,StackTrace)", "~(String,int)", "~(String[@])", "bool(Object?)", "ListBuilder<ExtensionEvent*>*()", "String*(@)", "Logger()", "~(String?)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "Uint8List(@,@)", "~(MessageEvent)", "Null(CloseEvent)", "Future<Null>*()", "bool(Object,Object)", "Null(String*,String*)", "DebugEventBuilder*(DebugEventBuilder*)", "Null(String*)", "RegisterEventBuilder*(RegisterEventBuilder*)", "DevToolsRequestBuilder*(DevToolsRequestBuilder*)", "Future<Null>*(String*)", "Null(Event*)", "ConnectRequestBuilder*(ConnectRequestBuilder*)", "Null(Object*,StackTrace*)", "Null(MessageEvent*)", "List<String*>*(String*)", "int*(String*,String*)", "~(JsError*)", "ScriptElement*()*()", "@(String)", "bool(Node)", "Promise<1&>*()", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())<Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)<Object?Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)<Object?Object?Object?>", "0^()(Zone,ZoneDelegate,Zone,0^())<Object?>", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))<Object?Object?>", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))<Object?Object?Object?>", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "~([Object?])", "_Future<@>(@)"],
     interceptorsByTag: null,
     leafTags: null,
-    arrayRti: typeof Symbol == "function" && typeof Symbol() == "symbol" ? Symbol("$ti") : "$ti"
+    arrayRti: Symbol("$ti")
   };
-  H._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"JavaScriptObject","UnknownJavaScriptObject":"JavaScriptObject","JavaScriptFunction":"JavaScriptObject","Promise":"JavaScriptObject","JsError":"JavaScriptObject","RequireLoader":"JavaScriptObject","JsMap":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","AElement":"SvgElement","GraphicsElement":"SvgElement","_ResourceProgressEvent":"ProgressEvent","AudioElement":"HtmlElement","MediaElement":"HtmlElement","ShadowRoot":"Node","DocumentFragment":"Node","XmlDocument":"Document","VttCue":"TextTrackCue","CompositionEvent":"UIEvent","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssStyleSheet":"StyleSheet","JavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSBool":{"bool":[]},"JSNull":{"Null":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[]},"EfficientLengthIterable":{"Iterable":["1"]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","Iterable.E":"2"},"CastMap":{"MapMixin":["3","4"],"Map":["3","4"],"MapMixin.K":"3","MapMixin.V":"4"},"LateError":{"Error":[]},"ReachabilityError":{"Error":[]},"NotNullableError":{"Error":[]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListMixin":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_ConstantMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"JSInvocationMirror":{"Invocation":[]},"NullError":{"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"ByteBuffer":[]},"NativeTypedData":{"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"TypedData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"NativeTypedData":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double","FixedLengthListMixin.E":"double"},"NativeFloat64List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double","FixedLengthListMixin.E":"double"},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"Uint16List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"Uint8List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"StreamView":{"Stream":["1"],"Stream.T":"1"},"StreamTransformerBase":{"StreamTransformer":["1","2"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_StreamImplEvents":{"_PendingEvents":["1"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListMixin":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","UnmodifiableListMixin.E":"1"},"IterableBase":{"Iterable":["1"]},"ListBase":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"ListIterable":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"_SetBase":{"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.1":"2","_SplayTreeIterator.K":"1"},"SplayTreeSet":{"SetMixin":["1"],"Set":["1"],"IterableMixin":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"_SplayTree.K":"1","_SplayTree.1":"_SplayTreeSetNode<1>"},"_JsonMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List<int>","String"],"Codec.S":"List<int>"},"Base64Encoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List<int>"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List<int>"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[]},"CloseEvent":{"Event":[]},"Element":{"Node":[],"EventTarget":[]},"File":{"Blob":[]},"HttpRequest":{"EventTarget":[]},"HttpRequestEventTarget":{"EventTarget":[]},"KeyboardEvent":{"Event":[]},"MessageEvent":{"Event":[]},"Node":{"EventTarget":[]},"ProgressEvent":{"Event":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBuffer":{"EventTarget":[]},"TextTrack":{"EventTarget":[]},"TextTrackCue":{"EventTarget":[]},"UIEvent":{"Event":[]},"_Html5NodeValidator":{"NodeValidator":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"CharacterData":{"Node":[],"EventTarget":[]},"CustomEvent":{"Event":[]},"Document":{"Node":[],"EventTarget":[]},"DomRectList":{"ListMixin":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"EfficientLengthIterable":["Rectangle<num>"],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListMixin.E":"Rectangle<num>"},"DomRectReadOnly":{"Rectangle":["num"]},"DomStringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"EventSource":{"EventTarget":[]},"FileList":{"ListMixin":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"Iterable":["File"],"ImmutableListMixin.E":"File","ListMixin.E":"File"},"FileWriter":{"EventTarget":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"HtmlCollection":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[]},"MessagePort":{"EventTarget":[]},"MidiInputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MidiOutputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MimeTypeArray":{"ListMixin":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListMixin.E":"MimeType"},"_ChildNodeListLazy":{"ListMixin":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListMixin.E":"Node"},"NodeList":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"PluginArray":{"ListMixin":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListMixin.E":"Plugin"},"RtcStatsReport":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBufferList":{"ListMixin":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"EventTarget":[],"EfficientLengthIterable":["SourceBuffer"],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListMixin.E":"SourceBuffer"},"SpeechGrammarList":{"ListMixin":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListMixin.E":"SpeechGrammar"},"Storage":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TextTrackCueList":{"ListMixin":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListMixin.E":"TextTrackCue"},"TextTrackList":{"ListMixin":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"EventTarget":[],"EfficientLengthIterable":["TextTrack"],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListMixin.E":"TextTrack"},"TouchList":{"ListMixin":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListMixin.E":"Touch"},"VideoTrackList":{"EventTarget":[]},"WebSocket":{"EventTarget":[]},"Window":{"EventTarget":[]},"WorkerGlobalScope":{"EventTarget":[]},"_Attr":{"Node":[],"EventTarget":[]},"_CssRuleList":{"ListMixin":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListMixin.E":"CssRule"},"_DomRect":{"Rectangle":["num"]},"_GamepadList":{"ListMixin":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListMixin.E":"Gamepad?"},"_NamedNodeMap":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"_SpeechRecognitionResultList":{"ListMixin":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListMixin.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListMixin":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListMixin.E":"StyleSheet"},"_AttributeMap":{"MapMixin":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"EventTarget":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListMixin.E":"1"},"LengthList":{"ListMixin":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListMixin.E":"Length"},"NumberList":{"ListMixin":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListMixin.E":"Number"},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[]},"StringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[]},"TransformList":{"ListMixin":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListMixin.E":"Transform"},"AudioParamMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"AudioTrackList":{"EventTarget":[]},"BaseAudioContext":{"EventTarget":[]},"OfflineAudioContext":{"EventTarget":[]},"SqlResultSetRowList":{"ListMixin":["Map<@,@>"],"ImmutableListMixin":["Map<@,@>"],"List":["Map<@,@>"],"EfficientLengthIterable":["Map<@,@>"],"Iterable":["Map<@,@>"],"ImmutableListMixin.E":"Map<@,@>","ListMixin.E":"Map<@,@>"},"DelegatingStreamSink":{"StreamSink":["1"]},"CopyOnWriteList":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"]},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"]},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>?"],"Equality":["Set<1>?"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>?"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus*"],"Serializer":["BuildStatus*"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult*"],"Serializer":["BuildResult*"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest*"],"Serializer":["ConnectRequest*"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent*"],"Serializer":["DebugEvent*"]},"_$DebugEvent":{"DebugEvent":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest*"],"Serializer":["DevToolsRequest*"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse*"],"Serializer":["DevToolsResponse*"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse*"],"Serializer":["ErrorResponse*"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest*"],"Serializer":["ExtensionRequest*"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse*"],"Serializer":["ExtensionResponse*"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent*"],"Serializer":["ExtensionEvent*"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents*"],"Serializer":["BatchedEvents*"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit*"],"Serializer":["IsolateExit*"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart*"],"Serializer":["IsolateStart*"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent*"],"Serializer":["RegisterEvent*"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest*"],"Serializer":["RunRequest*"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"WebSocketSink":{"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}'));
-  H._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"StreamTransformerBase":2,"IterableBase":1,"ListBase":1,"MapBase":2,"_ListBase_Object_ListMixin":1,"_SplayTreeSet__SplayTree_IterableMixin":1,"_SplayTreeSet__SplayTree_IterableMixin_SetMixin":1,"__SetBase_Object_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_RectangleBase":1,"StreamChannelMixin":1}'));
+  H._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"JavaScriptObject","UnknownJavaScriptObject":"JavaScriptObject","JavaScriptFunction":"JavaScriptObject","Promise":"JavaScriptObject","JsError":"JavaScriptObject","RequireLoader":"JavaScriptObject","JsMap":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","AElement":"SvgElement","GraphicsElement":"SvgElement","_ResourceProgressEvent":"ProgressEvent","AudioElement":"HtmlElement","MediaElement":"HtmlElement","ShadowRoot":"Node","DocumentFragment":"Node","XmlDocument":"Document","VttCue":"TextTrackCue","CompositionEvent":"UIEvent","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssStyleSheet":"StyleSheet","JSBool":{"bool":[]},"JSNull":{"Null":[]},"JavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","Iterable.E":"2"},"CastMap":{"MapMixin":["3","4"],"Map":["3","4"],"MapMixin.K":"3","MapMixin.V":"4"},"LateError":{"Error":[]},"ReachabilityError":{"Error":[]},"NotNullableError":{"TypeError":[],"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListMixin":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_ConstantMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"ByteBuffer":[]},"NativeTypedData":{"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"TypedData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"NativeTypedData":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double","FixedLengthListMixin.E":"double"},"NativeFloat64List":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"ListMixin.E":"double","FixedLengthListMixin.E":"double"},"NativeInt16List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeInt32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeInt8List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeUint16List":{"ListMixin":["int"],"Uint16List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeUint32List":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8ClampedList":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8List":{"ListMixin":["int"],"Uint8List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"ListMixin.E":"int","FixedLengthListMixin.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"StreamView":{"Stream":["1"],"Stream.T":"1"},"StreamTransformerBase":{"StreamTransformer":["1","2"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_StreamImplEvents":{"_PendingEvents":["1"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedIdentityHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.K":"1","MapMixin.V":"2"},"_HashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListMixin":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","UnmodifiableListMixin.E":"1"},"IterableBase":{"Iterable":["1"]},"ListBase":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"ListIterable":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"_SetBase":{"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.1":"2","_SplayTreeIterator.K":"1"},"SplayTreeSet":{"SetMixin":["1"],"Set":["1"],"IterableMixin":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"_SplayTree.K":"1","_SplayTree.1":"_SplayTreeSetNode<1>"},"_JsonMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List<int>","String"],"Codec.S":"List<int>"},"Base64Encoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List<int>"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List<int>"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[]},"Element":{"Node":[],"EventTarget":[]},"File":{"Blob":[]},"HttpRequest":{"EventTarget":[]},"KeyboardEvent":{"Event":[]},"MessageEvent":{"Event":[]},"Node":{"EventTarget":[]},"ProgressEvent":{"Event":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBuffer":{"EventTarget":[]},"TextTrack":{"EventTarget":[]},"TextTrackCue":{"EventTarget":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"CharacterData":{"Node":[],"EventTarget":[]},"CustomEvent":{"Event":[]},"Document":{"Node":[],"EventTarget":[]},"DomRectList":{"ListMixin":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"EfficientLengthIterable":["Rectangle<num>"],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListMixin.E":"Rectangle<num>"},"DomRectReadOnly":{"Rectangle":["num"]},"DomStringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"EventSource":{"EventTarget":[]},"FileList":{"ListMixin":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"Iterable":["File"],"ImmutableListMixin.E":"File","ListMixin.E":"File"},"FileWriter":{"EventTarget":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"HtmlCollection":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[]},"HttpRequestEventTarget":{"EventTarget":[]},"MessagePort":{"EventTarget":[]},"MidiInputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MidiOutputMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"MimeTypeArray":{"ListMixin":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListMixin.E":"MimeType"},"_ChildNodeListLazy":{"ListMixin":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListMixin.E":"Node"},"NodeList":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"PluginArray":{"ListMixin":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListMixin.E":"Plugin"},"RtcStatsReport":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"SourceBufferList":{"ListMixin":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"EventTarget":[],"EfficientLengthIterable":["SourceBuffer"],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListMixin.E":"SourceBuffer"},"SpeechGrammarList":{"ListMixin":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListMixin.E":"SpeechGrammar"},"Storage":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[]},"TextTrackCueList":{"ListMixin":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListMixin.E":"TextTrackCue"},"TextTrackList":{"ListMixin":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"EventTarget":[],"EfficientLengthIterable":["TextTrack"],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListMixin.E":"TextTrack"},"TouchList":{"ListMixin":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListMixin.E":"Touch"},"UIEvent":{"Event":[]},"VideoTrackList":{"EventTarget":[]},"WebSocket":{"EventTarget":[]},"Window":{"EventTarget":[]},"WorkerGlobalScope":{"EventTarget":[]},"_Attr":{"Node":[],"EventTarget":[]},"_CssRuleList":{"ListMixin":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListMixin.E":"CssRule"},"_DomRect":{"Rectangle":["num"]},"_GamepadList":{"ListMixin":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListMixin.E":"Gamepad?"},"_NamedNodeMap":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListMixin.E":"Node"},"_SpeechRecognitionResultList":{"ListMixin":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListMixin.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListMixin":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListMixin.E":"StyleSheet"},"_AttributeMap":{"MapMixin":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.K":"String","MapMixin.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"EventTarget":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListMixin.E":"1"},"LengthList":{"ListMixin":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListMixin.E":"Length"},"NumberList":{"ListMixin":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListMixin.E":"Number"},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[]},"StringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[]},"TransformList":{"ListMixin":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListMixin.E":"Transform"},"AudioParamMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.K":"String","MapMixin.V":"@"},"AudioTrackList":{"EventTarget":[]},"BaseAudioContext":{"EventTarget":[]},"OfflineAudioContext":{"EventTarget":[]},"SqlResultSetRowList":{"ListMixin":["Map<@,@>"],"ImmutableListMixin":["Map<@,@>"],"List":["Map<@,@>"],"EfficientLengthIterable":["Map<@,@>"],"Iterable":["Map<@,@>"],"ImmutableListMixin.E":"Map<@,@>","ListMixin.E":"Map<@,@>"},"DelegatingStreamSink":{"StreamSink":["1"]},"CopyOnWriteList":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"]},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"]},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>?"],"Equality":["Set<1>?"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>?"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus*"],"Serializer":["BuildStatus*"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult*"],"Serializer":["BuildResult*"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest*"],"Serializer":["ConnectRequest*"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent*"],"Serializer":["DebugEvent*"]},"_$DebugEvent":{"DebugEvent":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest*"],"Serializer":["DevToolsRequest*"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse*"],"Serializer":["DevToolsResponse*"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse*"],"Serializer":["ErrorResponse*"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest*"],"Serializer":["ExtensionRequest*"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse*"],"Serializer":["ExtensionResponse*"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent*"],"Serializer":["ExtensionEvent*"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents*"],"Serializer":["BatchedEvents*"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit*"],"Serializer":["IsolateExit*"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart*"],"Serializer":["IsolateStart*"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent*"],"Serializer":["RegisterEvent*"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest*"],"Serializer":["RunRequest*"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"WebSocketSink":{"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}'));
+  H._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"StreamTransformerBase":2,"IterableBase":1,"ListBase":1,"MapBase":2,"_ListBase_Object_ListMixin":1,"_SplayTreeSet__SplayTree_IterableMixin":1,"_SplayTreeSet__SplayTree_IterableMixin_SetMixin":1,"__SetBase_Object_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"StreamChannelMixin":1}'));
   var string$ = {
+    Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",
     _null_: "`null` encountered as the result from expression with type `Never`.",
     max_mu: "max must be in range 0 < max \u2264 2^32, was ",
     serial: "serializer must be StructuredSerializer or PrimitiveSerializer"
@@ -25050,6 +25129,7 @@
       Touch: findType("Touch"),
       Transform: findType("Transform"),
       Type: findType("Type"),
+      TypeError: findType("TypeError"),
       TypedData: findType("TypedData"),
       Uint8List: findType("Uint8List"),
       UnknownJavaScriptObject: findType("UnknownJavaScriptObject"),
@@ -25190,7 +25270,6 @@
     C.JSArray_methods = J.JSArray.prototype;
     C.JSBool_methods = J.JSBool.prototype;
     C.JSInt_methods = J.JSInt.prototype;
-    C.JSNull_methods = J.JSNull.prototype;
     C.JSNumber_methods = J.JSNumber.prototype;
     C.JSString_methods = J.JSString.prototype;
     C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;
@@ -25343,12 +25422,12 @@
     C.Duration_5000000 = new P.Duration(5000000);
     C.Type_BuiltListMultimap_2Mt = H.typeLiteral("BuiltListMultimap<@,@>");
     C.Type_Object_xQ6 = H.typeLiteral("Object");
-    C.List_empty1 = H.setRuntimeTypeInfo(makeConstList([]), type$.JSArray_legacy_FullType);
+    C.List_empty1 = H._setArrayType(makeConstList([]), type$.JSArray_legacy_FullType);
     C.FullType_1MH = new U.FullType(C.Type_Object_xQ6, C.List_empty1, false);
-    C.List_a1A = H.setRuntimeTypeInfo(makeConstList([C.FullType_1MH, C.FullType_1MH]), type$.JSArray_legacy_FullType);
+    C.List_a1A = H._setArrayType(makeConstList([C.FullType_1MH, C.FullType_1MH]), type$.JSArray_legacy_FullType);
     C.FullType_4Wf = new U.FullType(C.Type_BuiltListMultimap_2Mt, C.List_a1A, false);
     C.Type_BuiltSet_fcN = H.typeLiteral("BuiltSet<@>");
-    C.List_yym = H.setRuntimeTypeInfo(makeConstList([C.FullType_1MH]), type$.JSArray_legacy_FullType);
+    C.List_yym = H._setArrayType(makeConstList([C.FullType_1MH]), type$.JSArray_legacy_FullType);
     C.FullType_4e8 = new U.FullType(C.Type_BuiltSet_fcN, C.List_yym, false);
     C.Type_BuildStatus_ahk = H.typeLiteral("BuildStatus");
     C.FullType_FuN = new U.FullType(C.Type_BuildStatus_ahk, C.List_empty1, false);
@@ -25365,7 +25444,7 @@
     C.FullType_null_List_empty_false = new U.FullType(null, C.List_empty1, false);
     C.Type_ExtensionEvent_gsm = H.typeLiteral("ExtensionEvent");
     C.FullType_Ktb = new U.FullType(C.Type_ExtensionEvent_gsm, C.List_empty1, false);
-    C.List_BmO = H.setRuntimeTypeInfo(makeConstList([C.FullType_Ktb]), type$.JSArray_legacy_FullType);
+    C.List_BmO = H._setArrayType(makeConstList([C.FullType_Ktb]), type$.JSArray_legacy_FullType);
     C.FullType_w24 = new U.FullType(C.Type_BuiltList_iTR, C.List_BmO, false);
     C.Type_BuiltMap_qd4 = H.typeLiteral("BuiltMap<@,@>");
     C.FullType_wIv = new U.FullType(C.Type_BuiltMap_qd4, C.List_a1A, false);
@@ -25374,66 +25453,66 @@
     C.Level_INFO_800 = new Y.Level("INFO", 800);
     C.Level_SEVERE_1000 = new Y.Level("SEVERE", 1000);
     C.Level_WARNING_900 = new Y.Level("WARNING", 900);
-    C.List_2Vk = H.setRuntimeTypeInfo(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), type$.JSArray_legacy_int);
-    C.List_2Zi = H.setRuntimeTypeInfo(makeConstList(["*::class", "*::dir", "*::draggable", "*::hidden", "*::id", "*::inert", "*::itemprop", "*::itemref", "*::itemscope", "*::lang", "*::spellcheck", "*::title", "*::translate", "A::accesskey", "A::coords", "A::hreflang", "A::name", "A::shape", "A::tabindex", "A::target", "A::type", "AREA::accesskey", "AREA::alt", "AREA::coords", "AREA::nohref", "AREA::shape", "AREA::tabindex", "AREA::target", "AUDIO::controls", "AUDIO::loop", "AUDIO::mediagroup", "AUDIO::muted", "AUDIO::preload", "BDO::dir", "BODY::alink", "BODY::bgcolor", "BODY::link", "BODY::text", "BODY::vlink", "BR::clear", "BUTTON::accesskey", "BUTTON::disabled", "BUTTON::name", "BUTTON::tabindex", "BUTTON::type", "BUTTON::value", "CANVAS::height", "CANVAS::width", "CAPTION::align", "COL::align", "COL::char", "COL::charoff", "COL::span", "COL::valign", "COL::width", "COLGROUP::align", "COLGROUP::char", "COLGROUP::charoff", "COLGROUP::span", "COLGROUP::valign", "COLGROUP::width", "COMMAND::checked", "COMMAND::command", "COMMAND::disabled", "COMMAND::label", "COMMAND::radiogroup", "COMMAND::type", "DATA::value", "DEL::datetime", "DETAILS::open", "DIR::compact", "DIV::align", "DL::compact", "FIELDSET::disabled", "FONT::color", "FONT::face", "FONT::size", "FORM::accept", "FORM::autocomplete", "FORM::enctype", "FORM::method", "FORM::name", "FORM::novalidate", "FORM::target", "FRAME::name", "H1::align", "H2::align", "H3::align", "H4::align", "H5::align", "H6::align", "HR::align", "HR::noshade", "HR::size", "HR::width", "HTML::version", "IFRAME::align", "IFRAME::frameborder", "IFRAME::height", "IFRAME::marginheight", "IFRAME::marginwidth", "IFRAME::width", "IMG::align", "IMG::alt", "IMG::border", "IMG::height", "IMG::hspace", "IMG::ismap", "IMG::name", "IMG::usemap", "IMG::vspace", "IMG::width", "INPUT::accept", "INPUT::accesskey", "INPUT::align", "INPUT::alt", "INPUT::autocomplete", "INPUT::autofocus", "INPUT::checked", "INPUT::disabled", "INPUT::inputmode", "INPUT::ismap", "INPUT::list", "INPUT::max", "INPUT::maxlength", "INPUT::min", "INPUT::multiple", "INPUT::name", "INPUT::placeholder", "INPUT::readonly", "INPUT::required", "INPUT::size", "INPUT::step", "INPUT::tabindex", "INPUT::type", "INPUT::usemap", "INPUT::value", "INS::datetime", "KEYGEN::disabled", "KEYGEN::keytype", "KEYGEN::name", "LABEL::accesskey", "LABEL::for", "LEGEND::accesskey", "LEGEND::align", "LI::type", "LI::value", "LINK::sizes", "MAP::name", "MENU::compact", "MENU::label", "MENU::type", "METER::high", "METER::low", "METER::max", "METER::min", "METER::value", "OBJECT::typemustmatch", "OL::compact", "OL::reversed", "OL::start", "OL::type", "OPTGROUP::disabled", "OPTGROUP::label", "OPTION::disabled", "OPTION::label", "OPTION::selected", "OPTION::value", "OUTPUT::for", "OUTPUT::name", "P::align", "PRE::width", "PROGRESS::max", "PROGRESS::min", "PROGRESS::value", "SELECT::autocomplete", "SELECT::disabled", "SELECT::multiple", "SELECT::name", "SELECT::required", "SELECT::size", "SELECT::tabindex", "SOURCE::type", "TABLE::align", "TABLE::bgcolor", "TABLE::border", "TABLE::cellpadding", "TABLE::cellspacing", "TABLE::frame", "TABLE::rules", "TABLE::summary", "TABLE::width", "TBODY::align", "TBODY::char", "TBODY::charoff", "TBODY::valign", "TD::abbr", "TD::align", "TD::axis", "TD::bgcolor", "TD::char", "TD::charoff", "TD::colspan", "TD::headers", "TD::height", "TD::nowrap", "TD::rowspan", "TD::scope", "TD::valign", "TD::width", "TEXTAREA::accesskey", "TEXTAREA::autocomplete", "TEXTAREA::cols", "TEXTAREA::disabled", "TEXTAREA::inputmode", "TEXTAREA::name", "TEXTAREA::placeholder", "TEXTAREA::readonly", "TEXTAREA::required", "TEXTAREA::rows", "TEXTAREA::tabindex", "TEXTAREA::wrap", "TFOOT::align", "TFOOT::char", "TFOOT::charoff", "TFOOT::valign", "TH::abbr", "TH::align", "TH::axis", "TH::bgcolor", "TH::char", "TH::charoff", "TH::colspan", "TH::headers", "TH::height", "TH::nowrap", "TH::rowspan", "TH::scope", "TH::valign", "TH::width", "THEAD::align", "THEAD::char", "THEAD::charoff", "THEAD::valign", "TR::align", "TR::bgcolor", "TR::char", "TR::charoff", "TR::valign", "TRACK::default", "TRACK::kind", "TRACK::label", "TRACK::srclang", "UL::compact", "UL::type", "VIDEO::controls", "VIDEO::height", "VIDEO::loop", "VIDEO::mediagroup", "VIDEO::muted", "VIDEO::preload", "VIDEO::width"]), type$.JSArray_legacy_String);
+    C.List_2Vk = H._setArrayType(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), type$.JSArray_legacy_int);
+    C.List_2Zi = H._setArrayType(makeConstList(["*::class", "*::dir", "*::draggable", "*::hidden", "*::id", "*::inert", "*::itemprop", "*::itemref", "*::itemscope", "*::lang", "*::spellcheck", "*::title", "*::translate", "A::accesskey", "A::coords", "A::hreflang", "A::name", "A::shape", "A::tabindex", "A::target", "A::type", "AREA::accesskey", "AREA::alt", "AREA::coords", "AREA::nohref", "AREA::shape", "AREA::tabindex", "AREA::target", "AUDIO::controls", "AUDIO::loop", "AUDIO::mediagroup", "AUDIO::muted", "AUDIO::preload", "BDO::dir", "BODY::alink", "BODY::bgcolor", "BODY::link", "BODY::text", "BODY::vlink", "BR::clear", "BUTTON::accesskey", "BUTTON::disabled", "BUTTON::name", "BUTTON::tabindex", "BUTTON::type", "BUTTON::value", "CANVAS::height", "CANVAS::width", "CAPTION::align", "COL::align", "COL::char", "COL::charoff", "COL::span", "COL::valign", "COL::width", "COLGROUP::align", "COLGROUP::char", "COLGROUP::charoff", "COLGROUP::span", "COLGROUP::valign", "COLGROUP::width", "COMMAND::checked", "COMMAND::command", "COMMAND::disabled", "COMMAND::label", "COMMAND::radiogroup", "COMMAND::type", "DATA::value", "DEL::datetime", "DETAILS::open", "DIR::compact", "DIV::align", "DL::compact", "FIELDSET::disabled", "FONT::color", "FONT::face", "FONT::size", "FORM::accept", "FORM::autocomplete", "FORM::enctype", "FORM::method", "FORM::name", "FORM::novalidate", "FORM::target", "FRAME::name", "H1::align", "H2::align", "H3::align", "H4::align", "H5::align", "H6::align", "HR::align", "HR::noshade", "HR::size", "HR::width", "HTML::version", "IFRAME::align", "IFRAME::frameborder", "IFRAME::height", "IFRAME::marginheight", "IFRAME::marginwidth", "IFRAME::width", "IMG::align", "IMG::alt", "IMG::border", "IMG::height", "IMG::hspace", "IMG::ismap", "IMG::name", "IMG::usemap", "IMG::vspace", "IMG::width", "INPUT::accept", "INPUT::accesskey", "INPUT::align", "INPUT::alt", "INPUT::autocomplete", "INPUT::autofocus", "INPUT::checked", "INPUT::disabled", "INPUT::inputmode", "INPUT::ismap", "INPUT::list", "INPUT::max", "INPUT::maxlength", "INPUT::min", "INPUT::multiple", "INPUT::name", "INPUT::placeholder", "INPUT::readonly", "INPUT::required", "INPUT::size", "INPUT::step", "INPUT::tabindex", "INPUT::type", "INPUT::usemap", "INPUT::value", "INS::datetime", "KEYGEN::disabled", "KEYGEN::keytype", "KEYGEN::name", "LABEL::accesskey", "LABEL::for", "LEGEND::accesskey", "LEGEND::align", "LI::type", "LI::value", "LINK::sizes", "MAP::name", "MENU::compact", "MENU::label", "MENU::type", "METER::high", "METER::low", "METER::max", "METER::min", "METER::value", "OBJECT::typemustmatch", "OL::compact", "OL::reversed", "OL::start", "OL::type", "OPTGROUP::disabled", "OPTGROUP::label", "OPTION::disabled", "OPTION::label", "OPTION::selected", "OPTION::value", "OUTPUT::for", "OUTPUT::name", "P::align", "PRE::width", "PROGRESS::max", "PROGRESS::min", "PROGRESS::value", "SELECT::autocomplete", "SELECT::disabled", "SELECT::multiple", "SELECT::name", "SELECT::required", "SELECT::size", "SELECT::tabindex", "SOURCE::type", "TABLE::align", "TABLE::bgcolor", "TABLE::border", "TABLE::cellpadding", "TABLE::cellspacing", "TABLE::frame", "TABLE::rules", "TABLE::summary", "TABLE::width", "TBODY::align", "TBODY::char", "TBODY::charoff", "TBODY::valign", "TD::abbr", "TD::align", "TD::axis", "TD::bgcolor", "TD::char", "TD::charoff", "TD::colspan", "TD::headers", "TD::height", "TD::nowrap", "TD::rowspan", "TD::scope", "TD::valign", "TD::width", "TEXTAREA::accesskey", "TEXTAREA::autocomplete", "TEXTAREA::cols", "TEXTAREA::disabled", "TEXTAREA::inputmode", "TEXTAREA::name", "TEXTAREA::placeholder", "TEXTAREA::readonly", "TEXTAREA::required", "TEXTAREA::rows", "TEXTAREA::tabindex", "TEXTAREA::wrap", "TFOOT::align", "TFOOT::char", "TFOOT::charoff", "TFOOT::valign", "TH::abbr", "TH::align", "TH::axis", "TH::bgcolor", "TH::char", "TH::charoff", "TH::colspan", "TH::headers", "TH::height", "TH::nowrap", "TH::rowspan", "TH::scope", "TH::valign", "TH::width", "THEAD::align", "THEAD::char", "THEAD::charoff", "THEAD::valign", "TR::align", "TR::bgcolor", "TR::char", "TR::charoff", "TR::valign", "TRACK::default", "TRACK::kind", "TRACK::label", "TRACK::srclang", "UL::compact", "UL::type", "VIDEO::controls", "VIDEO::height", "VIDEO::loop", "VIDEO::mediagroup", "VIDEO::muted", "VIDEO::preload", "VIDEO::width"]), type$.JSArray_legacy_String);
     C.Type_DevToolsResponse_Hhy = H.typeLiteral("DevToolsResponse");
     C.Type__$DevToolsResponse_23h = H.typeLiteral("_$DevToolsResponse");
-    C.List_41A = H.setRuntimeTypeInfo(makeConstList([C.Type_DevToolsResponse_Hhy, C.Type__$DevToolsResponse_23h]), type$.JSArray_legacy_Type);
+    C.List_41A = H._setArrayType(makeConstList([C.Type_DevToolsResponse_Hhy, C.Type__$DevToolsResponse_23h]), type$.JSArray_legacy_Type);
     C.Type_RegisterEvent_0zQ = H.typeLiteral("RegisterEvent");
     C.Type__$RegisterEvent_SY6 = H.typeLiteral("_$RegisterEvent");
-    C.List_42K = H.setRuntimeTypeInfo(makeConstList([C.Type_RegisterEvent_0zQ, C.Type__$RegisterEvent_SY6]), type$.JSArray_legacy_Type);
+    C.List_42K = H._setArrayType(makeConstList([C.Type_RegisterEvent_0zQ, C.Type__$RegisterEvent_SY6]), type$.JSArray_legacy_Type);
     C.Type_IsolateStart_0 = H.typeLiteral("IsolateStart");
     C.Type__$IsolateStart_o3b = H.typeLiteral("_$IsolateStart");
-    C.List_6TA = H.setRuntimeTypeInfo(makeConstList([C.Type_IsolateStart_0, C.Type__$IsolateStart_o3b]), type$.JSArray_legacy_Type);
+    C.List_6TA = H._setArrayType(makeConstList([C.Type_IsolateStart_0, C.Type__$IsolateStart_o3b]), type$.JSArray_legacy_Type);
     C.Type_DevToolsRequest_A0n = H.typeLiteral("DevToolsRequest");
     C.Type__$DevToolsRequest_cDy = H.typeLiteral("_$DevToolsRequest");
-    C.List_BCG = H.setRuntimeTypeInfo(makeConstList([C.Type_DevToolsRequest_A0n, C.Type__$DevToolsRequest_cDy]), type$.JSArray_legacy_Type);
-    C.List_CVk = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
+    C.List_BCG = H._setArrayType(makeConstList([C.Type_DevToolsRequest_A0n, C.Type__$DevToolsRequest_cDy]), type$.JSArray_legacy_Type);
+    C.List_CVk = H._setArrayType(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
     C.Type_DebugEvent_sSr = H.typeLiteral("DebugEvent");
     C.Type__$DebugEvent_EmR = H.typeLiteral("_$DebugEvent");
-    C.List_Cpu = H.setRuntimeTypeInfo(makeConstList([C.Type_DebugEvent_sSr, C.Type__$DebugEvent_EmR]), type$.JSArray_legacy_Type);
-    C.List_JYB = H.setRuntimeTypeInfo(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_legacy_int);
+    C.List_Cpu = H._setArrayType(makeConstList([C.Type_DebugEvent_sSr, C.Type__$DebugEvent_EmR]), type$.JSArray_legacy_Type);
+    C.List_JYB = H._setArrayType(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_legacy_int);
     C.Type_IsolateExit_D1o = H.typeLiteral("IsolateExit");
     C.Type__$IsolateExit_eWg = H.typeLiteral("_$IsolateExit");
-    C.List_LT1 = H.setRuntimeTypeInfo(makeConstList([C.Type_IsolateExit_D1o, C.Type__$IsolateExit_eWg]), type$.JSArray_legacy_Type);
+    C.List_LT1 = H._setArrayType(makeConstList([C.Type_IsolateExit_D1o, C.Type__$IsolateExit_eWg]), type$.JSArray_legacy_Type);
     C.Type_BuildResult_dEV = H.typeLiteral("BuildResult");
     C.Type__$BuildResult_knt = H.typeLiteral("_$BuildResult");
-    C.List_OHe = H.setRuntimeTypeInfo(makeConstList([C.Type_BuildResult_dEV, C.Type__$BuildResult_knt]), type$.JSArray_legacy_Type);
-    C.List_Type_BuildStatus_ahk = H.setRuntimeTypeInfo(makeConstList([C.Type_BuildStatus_ahk]), type$.JSArray_legacy_Type);
-    C.List_WrN = H.setRuntimeTypeInfo(makeConstList([0, 0, 1048576, 531441, 1048576, 390625, 279936, 823543, 262144, 531441, 1000000, 161051, 248832, 371293, 537824, 759375, 1048576, 83521, 104976, 130321, 160000, 194481, 234256, 279841, 331776, 390625, 456976, 531441, 614656, 707281, 810000, 923521, 1048576, 35937, 39304, 42875, 46656]), type$.JSArray_legacy_int);
-    C.List_ego = H.setRuntimeTypeInfo(makeConstList(["HEAD", "AREA", "BASE", "BASEFONT", "BR", "COL", "COLGROUP", "EMBED", "FRAME", "FRAMESET", "HR", "IMAGE", "IMG", "INPUT", "ISINDEX", "LINK", "META", "PARAM", "SOURCE", "STYLE", "TITLE", "WBR"]), type$.JSArray_legacy_String);
-    C.List_empty0 = H.setRuntimeTypeInfo(makeConstList([]), type$.JSArray_dynamic);
-    C.List_empty = H.setRuntimeTypeInfo(makeConstList([]), type$.JSArray_legacy_String);
+    C.List_OHe = H._setArrayType(makeConstList([C.Type_BuildResult_dEV, C.Type__$BuildResult_knt]), type$.JSArray_legacy_Type);
+    C.List_Type_BuildStatus_ahk = H._setArrayType(makeConstList([C.Type_BuildStatus_ahk]), type$.JSArray_legacy_Type);
+    C.List_WrN = H._setArrayType(makeConstList([0, 0, 1048576, 531441, 1048576, 390625, 279936, 823543, 262144, 531441, 1000000, 161051, 248832, 371293, 537824, 759375, 1048576, 83521, 104976, 130321, 160000, 194481, 234256, 279841, 331776, 390625, 456976, 531441, 614656, 707281, 810000, 923521, 1048576, 35937, 39304, 42875, 46656]), type$.JSArray_legacy_int);
+    C.List_ego = H._setArrayType(makeConstList(["HEAD", "AREA", "BASE", "BASEFONT", "BR", "COL", "COLGROUP", "EMBED", "FRAME", "FRAMESET", "HR", "IMAGE", "IMG", "INPUT", "ISINDEX", "LINK", "META", "PARAM", "SOURCE", "STYLE", "TITLE", "WBR"]), type$.JSArray_legacy_String);
+    C.List_empty0 = H._setArrayType(makeConstList([]), type$.JSArray_dynamic);
+    C.List_empty = H._setArrayType(makeConstList([]), type$.JSArray_legacy_String);
     C.Type_ExtensionRequest_BMe = H.typeLiteral("ExtensionRequest");
     C.Type__$ExtensionRequest_1Ej = H.typeLiteral("_$ExtensionRequest");
-    C.List_evd = H.setRuntimeTypeInfo(makeConstList([C.Type_ExtensionRequest_BMe, C.Type__$ExtensionRequest_1Ej]), type$.JSArray_legacy_Type);
+    C.List_evd = H._setArrayType(makeConstList([C.Type_ExtensionRequest_BMe, C.Type__$ExtensionRequest_1Ej]), type$.JSArray_legacy_Type);
     C.Type_ErrorResponse_Q43 = H.typeLiteral("ErrorResponse");
     C.Type__$ErrorResponse_xV7 = H.typeLiteral("_$ErrorResponse");
-    C.List_gQA = H.setRuntimeTypeInfo(makeConstList([C.Type_ErrorResponse_Q43, C.Type__$ErrorResponse_xV7]), type$.JSArray_legacy_Type);
-    C.List_gRj = H.setRuntimeTypeInfo(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_legacy_int);
-    C.List_nxB = H.setRuntimeTypeInfo(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_legacy_int);
+    C.List_gQA = H._setArrayType(makeConstList([C.Type_ErrorResponse_Q43, C.Type__$ErrorResponse_xV7]), type$.JSArray_legacy_Type);
+    C.List_gRj = H._setArrayType(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_legacy_int);
+    C.List_nxB = H._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_legacy_int);
     C.Type__$ExtensionEvent_XOq = H.typeLiteral("_$ExtensionEvent");
-    C.List_pnF = H.setRuntimeTypeInfo(makeConstList([C.Type_ExtensionEvent_gsm, C.Type__$ExtensionEvent_XOq]), type$.JSArray_legacy_Type);
-    C.List_qNA = H.setRuntimeTypeInfo(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_legacy_int);
-    C.List_qg40 = H.setRuntimeTypeInfo(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
-    C.List_qg4 = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
+    C.List_pnF = H._setArrayType(makeConstList([C.Type_ExtensionEvent_gsm, C.Type__$ExtensionEvent_XOq]), type$.JSArray_legacy_Type);
+    C.List_qNA = H._setArrayType(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_legacy_int);
+    C.List_qg40 = H._setArrayType(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
+    C.List_qg4 = H._setArrayType(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_legacy_int);
     C.Type_ConnectRequest_UGQ = H.typeLiteral("ConnectRequest");
     C.Type__$ConnectRequest_cJC = H.typeLiteral("_$ConnectRequest");
-    C.List_ssp = H.setRuntimeTypeInfo(makeConstList([C.Type_ConnectRequest_UGQ, C.Type__$ConnectRequest_cJC]), type$.JSArray_legacy_Type);
+    C.List_ssp = H._setArrayType(makeConstList([C.Type_ConnectRequest_UGQ, C.Type__$ConnectRequest_cJC]), type$.JSArray_legacy_Type);
     C.Type_ExtensionResponse_CC0 = H.typeLiteral("ExtensionResponse");
     C.Type__$ExtensionResponse_Ddl = H.typeLiteral("_$ExtensionResponse");
-    C.List_tQ0 = H.setRuntimeTypeInfo(makeConstList([C.Type_ExtensionResponse_CC0, C.Type__$ExtensionResponse_Ddl]), type$.JSArray_legacy_Type);
+    C.List_tQ0 = H._setArrayType(makeConstList([C.Type_ExtensionResponse_CC0, C.Type__$ExtensionResponse_Ddl]), type$.JSArray_legacy_Type);
     C.Type_BatchedEvents_gDG = H.typeLiteral("BatchedEvents");
     C.Type__$BatchedEvents_qxo = H.typeLiteral("_$BatchedEvents");
-    C.List_w8N = H.setRuntimeTypeInfo(makeConstList([C.Type_BatchedEvents_gDG, C.Type__$BatchedEvents_qxo]), type$.JSArray_legacy_Type);
-    C.List_wSV = H.setRuntimeTypeInfo(makeConstList(["bind", "if", "ref", "repeat", "syntax"]), type$.JSArray_legacy_String);
+    C.List_w8N = H._setArrayType(makeConstList([C.Type_BatchedEvents_gDG, C.Type__$BatchedEvents_qxo]), type$.JSArray_legacy_Type);
+    C.List_wSV = H._setArrayType(makeConstList(["bind", "if", "ref", "repeat", "syntax"]), type$.JSArray_legacy_String);
     C.Type_RunRequest_Pkw = H.typeLiteral("RunRequest");
     C.Type__$RunRequest_Im4 = H.typeLiteral("_$RunRequest");
-    C.List_wsa = H.setRuntimeTypeInfo(makeConstList([C.Type_RunRequest_Pkw, C.Type__$RunRequest_Im4]), type$.JSArray_legacy_Type);
-    C.List_yrN = H.setRuntimeTypeInfo(makeConstList(["A::href", "AREA::href", "BLOCKQUOTE::cite", "BODY::background", "COMMAND::icon", "DEL::cite", "FORM::action", "IMG::src", "INPUT::src", "INS::cite", "Q::cite", "VIDEO::poster"]), type$.JSArray_legacy_String);
-    C.List_zgw = H.setRuntimeTypeInfo(makeConstList(["d", "D", "\u2202", "\xce"]), type$.JSArray_legacy_String);
+    C.List_wsa = H._setArrayType(makeConstList([C.Type_RunRequest_Pkw, C.Type__$RunRequest_Im4]), type$.JSArray_legacy_Type);
+    C.List_yrN = H._setArrayType(makeConstList(["A::href", "AREA::href", "BLOCKQUOTE::cite", "BODY::background", "COMMAND::icon", "DEL::cite", "FORM::action", "IMG::src", "INPUT::src", "INS::cite", "Q::cite", "VIDEO::poster"]), type$.JSArray_legacy_String);
+    C.List_zgw = H._setArrayType(makeConstList(["d", "D", "\u2202", "\xce"]), type$.JSArray_legacy_String);
     C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty0, H.findType("ConstantStringMap<@,@>"));
-    C.List_empty2 = H.setRuntimeTypeInfo(makeConstList([]), H.findType("JSArray<Symbol0*>"));
+    C.List_empty2 = H._setArrayType(makeConstList([]), H.findType("JSArray<Symbol0*>"));
     C.Map_empty0 = new H.ConstantStringMap(0, {}, C.List_empty2, H.findType("ConstantStringMap<Symbol0*,@>"));
     C.Symbol_call = new H.Symbol("call");
     C.Type_BigInt_8OV = H.typeLiteral("BigInt");
@@ -25483,8 +25562,8 @@
     $._JS_INTEROP_INTERCEPTOR_TAG = null;
     $.printToZone = null;
     $.Closure_functionCounter = 0;
-    $.BoundClosure_selfFieldNameCache = null;
-    $.BoundClosure_receiverFieldNameCache = null;
+    $.BoundClosure__receiverFieldNameCache = null;
+    $.BoundClosure__interceptorFieldNameCache = null;
     $.getTagFunction = null;
     $.alternateTagFunction = null;
     $.prototypeForTagFunction = null;
@@ -25497,15 +25576,15 @@
     $._isInCallbackLoop = false;
     $.Zone__current = C.C__RootZone;
     $._RootZone__rootDelegate = null;
-    $._toStringVisiting = H.setRuntimeTypeInfo([], type$.JSArray_Object);
+    $._toStringVisiting = H._setArrayType([], type$.JSArray_Object);
     $._BigIntImpl__lastDividendDigits = null;
     $._BigIntImpl__lastDividendUsed = null;
     $._BigIntImpl__lastDivisorDigits = null;
     $._BigIntImpl__lastDivisorUsed = null;
-    $._BigIntImpl____lastQuoRemDigits = $;
-    $._BigIntImpl____lastQuoRemUsed = $;
-    $._BigIntImpl____lastRemUsed = $;
-    $._BigIntImpl____lastRem_nsh = $;
+    $._BigIntImpl__lastQuoRemDigits = H._Cell$named("_lastQuoRemDigits");
+    $._BigIntImpl__lastQuoRemUsed = H._Cell$named("_lastQuoRemUsed");
+    $._BigIntImpl__lastRemUsed = H._Cell$named("_lastRemUsed");
+    $._BigIntImpl__lastRem_nsh = H._Cell$named("_lastRem_nsh");
     $.Element__parseDocument = null;
     $.Element__parseRange = null;
     $.Element__defaultValidator = null;
@@ -25602,7 +25681,7 @@
       return P.HashMap_HashMap(null, null, null, t1, t1);
     });
     _lazyFinal($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", function() {
-      return H.NativeInt8List__create1(H._ensureNativeList(H.setRuntimeTypeInfo([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], type$.JSArray_int)));
+      return H.NativeInt8List__create1(H._ensureNativeList(H._setArrayType([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], type$.JSArray_int)));
     });
     _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", function() {
       return P.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false);
@@ -25643,7 +25722,7 @@
       };
     });
     _lazyFinal($, "isSoundMode", "$get$isSoundMode", function() {
-      return !H.findType("List<int>")._is(H.setRuntimeTypeInfo([], H.findType("JSArray<int?>")));
+      return !H.findType("List<int>")._is(H._setArrayType([], H.findType("JSArray<int?>")));
     });
     _lazy($, "newBuiltValueToStringHelper", "$get$newBuiltValueToStringHelper", function() {
       return new Y.newBuiltValueToStringHelper_closure();
@@ -25772,8 +25851,8 @@
       }
       init.dispatchPropertyName = init.getIsolateTag("dispatch_record");
     }();
-    hunkHelpers.setOrUpdateInterceptorsByTag({AnimationEffectReadOnly: J.Interceptor, AnimationEffectTiming: J.Interceptor, AnimationEffectTimingReadOnly: J.Interceptor, AnimationTimeline: J.Interceptor, AnimationWorkletGlobalScope: J.Interceptor, AuthenticatorAssertionResponse: J.Interceptor, AuthenticatorAttestationResponse: J.Interceptor, AuthenticatorResponse: J.Interceptor, BackgroundFetchFetch: J.Interceptor, BackgroundFetchManager: J.Interceptor, BackgroundFetchSettledFetch: J.Interceptor, BarProp: J.Interceptor, BarcodeDetector: J.Interceptor, BluetoothRemoteGATTDescriptor: J.Interceptor, Body: J.Interceptor, BudgetState: J.Interceptor, CacheStorage: J.Interceptor, CanvasGradient: J.Interceptor, CanvasPattern: J.Interceptor, CanvasRenderingContext2D: J.Interceptor, Client: J.Interceptor, Clients: J.Interceptor, CookieStore: J.Interceptor, Coordinates: J.Interceptor, Credential: J.Interceptor, CredentialUserData: J.Interceptor, CredentialsContainer: J.Interceptor, Crypto: J.Interceptor, CryptoKey: J.Interceptor, CSS: J.Interceptor, CSSVariableReferenceValue: J.Interceptor, CustomElementRegistry: J.Interceptor, DataTransfer: J.Interceptor, DataTransferItem: J.Interceptor, DeprecatedStorageInfo: J.Interceptor, DeprecatedStorageQuota: J.Interceptor, DeprecationReport: J.Interceptor, DetectedBarcode: J.Interceptor, DetectedFace: J.Interceptor, DetectedText: J.Interceptor, DeviceAcceleration: J.Interceptor, DeviceRotationRate: J.Interceptor, DirectoryEntry: J.Interceptor, DirectoryReader: J.Interceptor, DocumentOrShadowRoot: J.Interceptor, DocumentTimeline: J.Interceptor, DOMError: J.Interceptor, Iterator: J.Interceptor, DOMMatrix: J.Interceptor, DOMMatrixReadOnly: J.Interceptor, DOMParser: J.Interceptor, DOMPoint: J.Interceptor, DOMPointReadOnly: J.Interceptor, DOMQuad: J.Interceptor, DOMStringMap: J.Interceptor, Entry: J.Interceptor, External: J.Interceptor, FaceDetector: J.Interceptor, FederatedCredential: J.Interceptor, FileEntry: J.Interceptor, DOMFileSystem: J.Interceptor, FontFace: J.Interceptor, FontFaceSource: J.Interceptor, FormData: J.Interceptor, GamepadButton: J.Interceptor, GamepadPose: J.Interceptor, Geolocation: J.Interceptor, Position: J.Interceptor, Headers: J.Interceptor, HTMLHyperlinkElementUtils: J.Interceptor, IdleDeadline: J.Interceptor, ImageBitmap: J.Interceptor, ImageBitmapRenderingContext: J.Interceptor, ImageCapture: J.Interceptor, InputDeviceCapabilities: J.Interceptor, IntersectionObserver: J.Interceptor, IntersectionObserverEntry: J.Interceptor, InterventionReport: J.Interceptor, KeyframeEffect: J.Interceptor, KeyframeEffectReadOnly: J.Interceptor, MediaCapabilities: J.Interceptor, MediaCapabilitiesInfo: J.Interceptor, MediaDeviceInfo: J.Interceptor, MediaError: J.Interceptor, MediaKeyStatusMap: J.Interceptor, MediaKeySystemAccess: J.Interceptor, MediaKeys: J.Interceptor, MediaKeysPolicy: J.Interceptor, MediaMetadata: J.Interceptor, MediaSession: J.Interceptor, MediaSettingsRange: J.Interceptor, MemoryInfo: J.Interceptor, MessageChannel: J.Interceptor, Metadata: J.Interceptor, MutationObserver: J.Interceptor, WebKitMutationObserver: J.Interceptor, MutationRecord: J.Interceptor, NavigationPreloadManager: J.Interceptor, Navigator: J.Interceptor, NavigatorAutomationInformation: J.Interceptor, NavigatorConcurrentHardware: J.Interceptor, NavigatorCookies: J.Interceptor, NavigatorUserMediaError: J.Interceptor, NodeFilter: J.Interceptor, NodeIterator: J.Interceptor, NonDocumentTypeChildNode: J.Interceptor, NonElementParentNode: J.Interceptor, NoncedElement: J.Interceptor, OffscreenCanvasRenderingContext2D: J.Interceptor, OverconstrainedError: J.Interceptor, PaintRenderingContext2D: J.Interceptor, PaintSize: J.Interceptor, PaintWorkletGlobalScope: J.Interceptor, PasswordCredential: J.Interceptor, Path2D: J.Interceptor, PaymentAddress: J.Interceptor, PaymentInstruments: J.Interceptor, PaymentManager: J.Interceptor, PaymentResponse: J.Interceptor, PerformanceEntry: J.Interceptor, PerformanceLongTaskTiming: J.Interceptor, PerformanceMark: J.Interceptor, PerformanceMeasure: J.Interceptor, PerformanceNavigation: J.Interceptor, PerformanceNavigationTiming: J.Interceptor, PerformanceObserver: J.Interceptor, PerformanceObserverEntryList: J.Interceptor, PerformancePaintTiming: J.Interceptor, PerformanceResourceTiming: J.Interceptor, PerformanceServerTiming: J.Interceptor, PerformanceTiming: J.Interceptor, Permissions: J.Interceptor, PhotoCapabilities: J.Interceptor, PositionError: J.Interceptor, Presentation: J.Interceptor, PresentationReceiver: J.Interceptor, PublicKeyCredential: J.Interceptor, PushManager: J.Interceptor, PushMessageData: J.Interceptor, PushSubscription: J.Interceptor, PushSubscriptionOptions: J.Interceptor, Range: J.Interceptor, RelatedApplication: J.Interceptor, ReportBody: J.Interceptor, ReportingObserver: J.Interceptor, ResizeObserver: J.Interceptor, ResizeObserverEntry: J.Interceptor, RTCCertificate: J.Interceptor, RTCIceCandidate: J.Interceptor, mozRTCIceCandidate: J.Interceptor, RTCLegacyStatsReport: J.Interceptor, RTCRtpContributingSource: J.Interceptor, RTCRtpReceiver: J.Interceptor, RTCRtpSender: J.Interceptor, RTCSessionDescription: J.Interceptor, mozRTCSessionDescription: J.Interceptor, RTCStatsResponse: J.Interceptor, Screen: J.Interceptor, ScrollState: J.Interceptor, ScrollTimeline: J.Interceptor, Selection: J.Interceptor, SharedArrayBuffer: J.Interceptor, SpeechRecognitionAlternative: J.Interceptor, SpeechSynthesisVoice: J.Interceptor, StaticRange: J.Interceptor, StorageManager: J.Interceptor, StyleMedia: J.Interceptor, StylePropertyMap: J.Interceptor, StylePropertyMapReadonly: J.Interceptor, SyncManager: J.Interceptor, TaskAttributionTiming: J.Interceptor, TextDetector: J.Interceptor, TextMetrics: J.Interceptor, TrackDefault: J.Interceptor, TreeWalker: J.Interceptor, TrustedHTML: J.Interceptor, TrustedScriptURL: J.Interceptor, TrustedURL: J.Interceptor, UnderlyingSourceBase: J.Interceptor, URLSearchParams: J.Interceptor, VRCoordinateSystem: J.Interceptor, VRDisplayCapabilities: J.Interceptor, VREyeParameters: J.Interceptor, VRFrameData: J.Interceptor, VRFrameOfReference: J.Interceptor, VRPose: J.Interceptor, VRStageBounds: J.Interceptor, VRStageBoundsPoint: J.Interceptor, VRStageParameters: J.Interceptor, ValidityState: J.Interceptor, VideoPlaybackQuality: J.Interceptor, VideoTrack: J.Interceptor, VTTRegion: J.Interceptor, WindowClient: J.Interceptor, WorkletAnimation: J.Interceptor, WorkletGlobalScope: J.Interceptor, XPathEvaluator: J.Interceptor, XPathExpression: J.Interceptor, XPathNSResolver: J.Interceptor, XPathResult: J.Interceptor, XMLSerializer: J.Interceptor, XSLTProcessor: J.Interceptor, Bluetooth: J.Interceptor, BluetoothCharacteristicProperties: J.Interceptor, BluetoothRemoteGATTServer: J.Interceptor, BluetoothRemoteGATTService: J.Interceptor, BluetoothUUID: J.Interceptor, BudgetService: J.Interceptor, Cache: J.Interceptor, DOMFileSystemSync: J.Interceptor, DirectoryEntrySync: J.Interceptor, DirectoryReaderSync: J.Interceptor, EntrySync: J.Interceptor, FileEntrySync: J.Interceptor, FileReaderSync: J.Interceptor, FileWriterSync: J.Interceptor, HTMLAllCollection: J.Interceptor, Mojo: J.Interceptor, MojoHandle: J.Interceptor, MojoWatcher: J.Interceptor, NFC: J.Interceptor, PagePopupController: J.Interceptor, Report: J.Interceptor, Request: J.Interceptor, Response: J.Interceptor, SubtleCrypto: J.Interceptor, USBAlternateInterface: J.Interceptor, USBConfiguration: J.Interceptor, USBDevice: J.Interceptor, USBEndpoint: J.Interceptor, USBInTransferResult: J.Interceptor, USBInterface: J.Interceptor, USBIsochronousInTransferPacket: J.Interceptor, USBIsochronousInTransferResult: J.Interceptor, USBIsochronousOutTransferPacket: J.Interceptor, USBIsochronousOutTransferResult: J.Interceptor, USBOutTransferResult: J.Interceptor, WorkerLocation: J.Interceptor, WorkerNavigator: J.Interceptor, Worklet: J.Interceptor, IDBCursor: J.Interceptor, IDBCursorWithValue: J.Interceptor, IDBFactory: J.Interceptor, IDBIndex: J.Interceptor, IDBObjectStore: J.Interceptor, IDBObservation: J.Interceptor, IDBObserver: J.Interceptor, IDBObserverChanges: J.Interceptor, SVGAngle: J.Interceptor, SVGAnimatedAngle: J.Interceptor, SVGAnimatedBoolean: J.Interceptor, SVGAnimatedEnumeration: J.Interceptor, SVGAnimatedInteger: J.Interceptor, SVGAnimatedLength: J.Interceptor, SVGAnimatedLengthList: J.Interceptor, SVGAnimatedNumber: J.Interceptor, SVGAnimatedNumberList: J.Interceptor, SVGAnimatedPreserveAspectRatio: J.Interceptor, SVGAnimatedRect: J.Interceptor, SVGAnimatedString: J.Interceptor, SVGAnimatedTransformList: J.Interceptor, SVGMatrix: J.Interceptor, SVGPoint: J.Interceptor, SVGPreserveAspectRatio: J.Interceptor, SVGRect: J.Interceptor, SVGUnitTypes: J.Interceptor, AudioListener: J.Interceptor, AudioParam: J.Interceptor, AudioTrack: J.Interceptor, AudioWorkletGlobalScope: J.Interceptor, AudioWorkletProcessor: J.Interceptor, PeriodicWave: J.Interceptor, WebGLActiveInfo: J.Interceptor, ANGLEInstancedArrays: J.Interceptor, ANGLE_instanced_arrays: J.Interceptor, WebGLBuffer: J.Interceptor, WebGLCanvas: J.Interceptor, WebGLColorBufferFloat: J.Interceptor, WebGLCompressedTextureASTC: J.Interceptor, WebGLCompressedTextureATC: J.Interceptor, WEBGL_compressed_texture_atc: J.Interceptor, WebGLCompressedTextureETC1: J.Interceptor, WEBGL_compressed_texture_etc1: J.Interceptor, WebGLCompressedTextureETC: J.Interceptor, WebGLCompressedTexturePVRTC: J.Interceptor, WEBGL_compressed_texture_pvrtc: J.Interceptor, WebGLCompressedTextureS3TC: J.Interceptor, WEBGL_compressed_texture_s3tc: J.Interceptor, WebGLCompressedTextureS3TCsRGB: J.Interceptor, WebGLDebugRendererInfo: J.Interceptor, WEBGL_debug_renderer_info: J.Interceptor, WebGLDebugShaders: J.Interceptor, WEBGL_debug_shaders: J.Interceptor, WebGLDepthTexture: J.Interceptor, WEBGL_depth_texture: J.Interceptor, WebGLDrawBuffers: J.Interceptor, WEBGL_draw_buffers: J.Interceptor, EXTsRGB: J.Interceptor, EXT_sRGB: J.Interceptor, EXTBlendMinMax: J.Interceptor, EXT_blend_minmax: J.Interceptor, EXTColorBufferFloat: J.Interceptor, EXTColorBufferHalfFloat: J.Interceptor, EXTDisjointTimerQuery: J.Interceptor, EXTDisjointTimerQueryWebGL2: J.Interceptor, EXTFragDepth: J.Interceptor, EXT_frag_depth: J.Interceptor, EXTShaderTextureLOD: J.Interceptor, EXT_shader_texture_lod: J.Interceptor, EXTTextureFilterAnisotropic: J.Interceptor, EXT_texture_filter_anisotropic: J.Interceptor, WebGLFramebuffer: J.Interceptor, WebGLGetBufferSubDataAsync: J.Interceptor, WebGLLoseContext: J.Interceptor, WebGLExtensionLoseContext: J.Interceptor, WEBGL_lose_context: J.Interceptor, OESElementIndexUint: J.Interceptor, OES_element_index_uint: J.Interceptor, OESStandardDerivatives: J.Interceptor, OES_standard_derivatives: J.Interceptor, OESTextureFloat: J.Interceptor, OES_texture_float: J.Interceptor, OESTextureFloatLinear: J.Interceptor, OES_texture_float_linear: J.Interceptor, OESTextureHalfFloat: J.Interceptor, OES_texture_half_float: J.Interceptor, OESTextureHalfFloatLinear: J.Interceptor, OES_texture_half_float_linear: J.Interceptor, OESVertexArrayObject: J.Interceptor, OES_vertex_array_object: J.Interceptor, WebGLProgram: J.Interceptor, WebGLQuery: J.Interceptor, WebGLRenderbuffer: J.Interceptor, WebGLRenderingContext: J.Interceptor, WebGL2RenderingContext: J.Interceptor, WebGLSampler: J.Interceptor, WebGLShader: J.Interceptor, WebGLShaderPrecisionFormat: J.Interceptor, WebGLSync: J.Interceptor, WebGLTexture: J.Interceptor, WebGLTimerQueryEXT: J.Interceptor, WebGLTransformFeedback: J.Interceptor, WebGLUniformLocation: J.Interceptor, WebGLVertexArrayObject: J.Interceptor, WebGLVertexArrayObjectOES: J.Interceptor, WebGL: J.Interceptor, WebGL2RenderingContextBase: J.Interceptor, Database: J.Interceptor, SQLError: J.Interceptor, SQLResultSet: J.Interceptor, SQLTransaction: J.Interceptor, ArrayBuffer: H.NativeByteBuffer, ArrayBufferView: H.NativeTypedData, DataView: H.NativeByteData, Float32Array: H.NativeFloat32List, Float64Array: H.NativeFloat64List, Int16Array: H.NativeInt16List, Int32Array: H.NativeInt32List, Int8Array: H.NativeInt8List, Uint16Array: H.NativeUint16List, Uint32Array: H.NativeUint32List, Uint8ClampedArray: H.NativeUint8ClampedList, CanvasPixelArray: H.NativeUint8ClampedList, Uint8Array: H.NativeUint8List, HTMLAudioElement: W.HtmlElement, HTMLBRElement: W.HtmlElement, HTMLButtonElement: W.HtmlElement, HTMLCanvasElement: W.HtmlElement, HTMLContentElement: W.HtmlElement, HTMLDListElement: W.HtmlElement, HTMLDataElement: W.HtmlElement, HTMLDataListElement: W.HtmlElement, HTMLDetailsElement: W.HtmlElement, HTMLDialogElement: W.HtmlElement, HTMLDivElement: W.HtmlElement, HTMLEmbedElement: W.HtmlElement, HTMLFieldSetElement: W.HtmlElement, HTMLHRElement: W.HtmlElement, HTMLHeadElement: W.HtmlElement, HTMLHeadingElement: W.HtmlElement, HTMLHtmlElement: W.HtmlElement, HTMLIFrameElement: W.HtmlElement, HTMLImageElement: W.HtmlElement, HTMLInputElement: W.HtmlElement, HTMLLIElement: W.HtmlElement, HTMLLabelElement: W.HtmlElement, HTMLLegendElement: W.HtmlElement, HTMLLinkElement: W.HtmlElement, HTMLMapElement: W.HtmlElement, HTMLMediaElement: W.HtmlElement, HTMLMenuElement: W.HtmlElement, HTMLMetaElement: W.HtmlElement, HTMLMeterElement: W.HtmlElement, HTMLModElement: W.HtmlElement, HTMLOListElement: W.HtmlElement, HTMLObjectElement: W.HtmlElement, HTMLOptGroupElement: W.HtmlElement, HTMLOptionElement: W.HtmlElement, HTMLOutputElement: W.HtmlElement, HTMLParagraphElement: W.HtmlElement, HTMLParamElement: W.HtmlElement, HTMLPictureElement: W.HtmlElement, HTMLPreElement: W.HtmlElement, HTMLProgressElement: W.HtmlElement, HTMLQuoteElement: W.HtmlElement, HTMLShadowElement: W.HtmlElement, HTMLSlotElement: W.HtmlElement, HTMLSourceElement: W.HtmlElement, HTMLSpanElement: W.HtmlElement, HTMLStyleElement: W.HtmlElement, HTMLTableCaptionElement: W.HtmlElement, HTMLTableCellElement: W.HtmlElement, HTMLTableDataCellElement: W.HtmlElement, HTMLTableHeaderCellElement: W.HtmlElement, HTMLTableColElement: W.HtmlElement, HTMLTextAreaElement: W.HtmlElement, HTMLTimeElement: W.HtmlElement, HTMLTitleElement: W.HtmlElement, HTMLTrackElement: W.HtmlElement, HTMLUListElement: W.HtmlElement, HTMLUnknownElement: W.HtmlElement, HTMLVideoElement: W.HtmlElement, HTMLDirectoryElement: W.HtmlElement, HTMLFontElement: W.HtmlElement, HTMLFrameElement: W.HtmlElement, HTMLFrameSetElement: W.HtmlElement, HTMLMarqueeElement: W.HtmlElement, HTMLElement: W.HtmlElement, AccessibleNodeList: W.AccessibleNodeList, HTMLAnchorElement: W.AnchorElement, HTMLAreaElement: W.AreaElement, HTMLBaseElement: W.BaseElement, Blob: W.Blob, HTMLBodyElement: W.BodyElement, CDATASection: W.CharacterData, CharacterData: W.CharacterData, Comment: W.CharacterData, ProcessingInstruction: W.CharacterData, Text: W.CharacterData, CloseEvent: W.CloseEvent, CSSPerspective: W.CssPerspective, CSSCharsetRule: W.CssRule, CSSConditionRule: W.CssRule, CSSFontFaceRule: W.CssRule, CSSGroupingRule: W.CssRule, CSSImportRule: W.CssRule, CSSKeyframeRule: W.CssRule, MozCSSKeyframeRule: W.CssRule, WebKitCSSKeyframeRule: W.CssRule, CSSKeyframesRule: W.CssRule, MozCSSKeyframesRule: W.CssRule, WebKitCSSKeyframesRule: W.CssRule, CSSMediaRule: W.CssRule, CSSNamespaceRule: W.CssRule, CSSPageRule: W.CssRule, CSSRule: W.CssRule, CSSStyleRule: W.CssRule, CSSSupportsRule: W.CssRule, CSSViewportRule: W.CssRule, CSSStyleDeclaration: W.CssStyleDeclaration, MSStyleCSSProperties: W.CssStyleDeclaration, CSS2Properties: W.CssStyleDeclaration, CSSImageValue: W.CssStyleValue, CSSKeywordValue: W.CssStyleValue, CSSNumericValue: W.CssStyleValue, CSSPositionValue: W.CssStyleValue, CSSResourceValue: W.CssStyleValue, CSSUnitValue: W.CssStyleValue, CSSURLImageValue: W.CssStyleValue, CSSStyleValue: W.CssStyleValue, CSSMatrixComponent: W.CssTransformComponent, CSSRotation: W.CssTransformComponent, CSSScale: W.CssTransformComponent, CSSSkew: W.CssTransformComponent, CSSTranslation: W.CssTransformComponent, CSSTransformComponent: W.CssTransformComponent, CSSTransformValue: W.CssTransformValue, CSSUnparsedValue: W.CssUnparsedValue, CustomEvent: W.CustomEvent, DataTransferItemList: W.DataTransferItemList, XMLDocument: W.Document, Document: W.Document, DOMException: W.DomException, DOMImplementation: W.DomImplementation, ClientRectList: W.DomRectList, DOMRectList: W.DomRectList, DOMRectReadOnly: W.DomRectReadOnly, DOMStringList: W.DomStringList, DOMTokenList: W.DomTokenList, Element: W.Element, AbortPaymentEvent: W.Event, AnimationEvent: W.Event, AnimationPlaybackEvent: W.Event, ApplicationCacheErrorEvent: W.Event, BackgroundFetchClickEvent: W.Event, BackgroundFetchEvent: W.Event, BackgroundFetchFailEvent: W.Event, BackgroundFetchedEvent: W.Event, BeforeInstallPromptEvent: W.Event, BeforeUnloadEvent: W.Event, BlobEvent: W.Event, CanMakePaymentEvent: W.Event, ClipboardEvent: W.Event, DeviceMotionEvent: W.Event, DeviceOrientationEvent: W.Event, ErrorEvent: W.Event, ExtendableEvent: W.Event, ExtendableMessageEvent: W.Event, FetchEvent: W.Event, FontFaceSetLoadEvent: W.Event, ForeignFetchEvent: W.Event, GamepadEvent: W.Event, HashChangeEvent: W.Event, InstallEvent: W.Event, MediaEncryptedEvent: W.Event, MediaKeyMessageEvent: W.Event, MediaQueryListEvent: W.Event, MediaStreamEvent: W.Event, MediaStreamTrackEvent: W.Event, MIDIConnectionEvent: W.Event, MIDIMessageEvent: W.Event, MutationEvent: W.Event, NotificationEvent: W.Event, PageTransitionEvent: W.Event, PaymentRequestEvent: W.Event, PaymentRequestUpdateEvent: W.Event, PopStateEvent: W.Event, PresentationConnectionAvailableEvent: W.Event, PresentationConnectionCloseEvent: W.Event, PromiseRejectionEvent: W.Event, PushEvent: W.Event, RTCDataChannelEvent: W.Event, RTCDTMFToneChangeEvent: W.Event, RTCPeerConnectionIceEvent: W.Event, RTCTrackEvent: W.Event, SecurityPolicyViolationEvent: W.Event, SensorErrorEvent: W.Event, SpeechRecognitionError: W.Event, SpeechRecognitionEvent: W.Event, SpeechSynthesisEvent: W.Event, StorageEvent: W.Event, SyncEvent: W.Event, TrackEvent: W.Event, TransitionEvent: W.Event, WebKitTransitionEvent: W.Event, VRDeviceEvent: W.Event, VRDisplayEvent: W.Event, VRSessionEvent: W.Event, MojoInterfaceRequestEvent: W.Event, USBConnectionEvent: W.Event, IDBVersionChangeEvent: W.Event, AudioProcessingEvent: W.Event, OfflineAudioCompletionEvent: W.Event, WebGLContextEvent: W.Event, Event: W.Event, InputEvent: W.Event, SubmitEvent: W.Event, EventSource: W.EventSource, AbsoluteOrientationSensor: W.EventTarget, Accelerometer: W.EventTarget, AccessibleNode: W.EventTarget, AmbientLightSensor: W.EventTarget, Animation: W.EventTarget, ApplicationCache: W.EventTarget, DOMApplicationCache: W.EventTarget, OfflineResourceList: W.EventTarget, BackgroundFetchRegistration: W.EventTarget, BatteryManager: W.EventTarget, BroadcastChannel: W.EventTarget, CanvasCaptureMediaStreamTrack: W.EventTarget, FileReader: W.EventTarget, FontFaceSet: W.EventTarget, Gyroscope: W.EventTarget, LinearAccelerationSensor: W.EventTarget, Magnetometer: W.EventTarget, MediaDevices: W.EventTarget, MediaKeySession: W.EventTarget, MediaQueryList: W.EventTarget, MediaRecorder: W.EventTarget, MediaSource: W.EventTarget, MediaStream: W.EventTarget, MediaStreamTrack: W.EventTarget, MIDIAccess: W.EventTarget, MIDIInput: W.EventTarget, MIDIOutput: W.EventTarget, MIDIPort: W.EventTarget, NetworkInformation: W.EventTarget, Notification: W.EventTarget, OffscreenCanvas: W.EventTarget, OrientationSensor: W.EventTarget, PaymentRequest: W.EventTarget, Performance: W.EventTarget, PermissionStatus: W.EventTarget, PresentationAvailability: W.EventTarget, PresentationConnection: W.EventTarget, PresentationConnectionList: W.EventTarget, PresentationRequest: W.EventTarget, RelativeOrientationSensor: W.EventTarget, RemotePlayback: W.EventTarget, RTCDataChannel: W.EventTarget, DataChannel: W.EventTarget, RTCDTMFSender: W.EventTarget, RTCPeerConnection: W.EventTarget, webkitRTCPeerConnection: W.EventTarget, mozRTCPeerConnection: W.EventTarget, ScreenOrientation: W.EventTarget, Sensor: W.EventTarget, ServiceWorker: W.EventTarget, ServiceWorkerContainer: W.EventTarget, ServiceWorkerRegistration: W.EventTarget, SharedWorker: W.EventTarget, SpeechRecognition: W.EventTarget, SpeechSynthesis: W.EventTarget, SpeechSynthesisUtterance: W.EventTarget, VR: W.EventTarget, VRDevice: W.EventTarget, VRDisplay: W.EventTarget, VRSession: W.EventTarget, VisualViewport: W.EventTarget, Worker: W.EventTarget, WorkerPerformance: W.EventTarget, BluetoothDevice: W.EventTarget, BluetoothRemoteGATTCharacteristic: W.EventTarget, Clipboard: W.EventTarget, MojoInterfaceInterceptor: W.EventTarget, USB: W.EventTarget, IDBDatabase: W.EventTarget, IDBOpenDBRequest: W.EventTarget, IDBVersionChangeRequest: W.EventTarget, IDBRequest: W.EventTarget, IDBTransaction: W.EventTarget, AnalyserNode: W.EventTarget, RealtimeAnalyserNode: W.EventTarget, AudioBufferSourceNode: W.EventTarget, AudioDestinationNode: W.EventTarget, AudioNode: W.EventTarget, AudioScheduledSourceNode: W.EventTarget, AudioWorkletNode: W.EventTarget, BiquadFilterNode: W.EventTarget, ChannelMergerNode: W.EventTarget, AudioChannelMerger: W.EventTarget, ChannelSplitterNode: W.EventTarget, AudioChannelSplitter: W.EventTarget, ConstantSourceNode: W.EventTarget, ConvolverNode: W.EventTarget, DelayNode: W.EventTarget, DynamicsCompressorNode: W.EventTarget, GainNode: W.EventTarget, AudioGainNode: W.EventTarget, IIRFilterNode: W.EventTarget, MediaElementAudioSourceNode: W.EventTarget, MediaStreamAudioDestinationNode: W.EventTarget, MediaStreamAudioSourceNode: W.EventTarget, OscillatorNode: W.EventTarget, Oscillator: W.EventTarget, PannerNode: W.EventTarget, AudioPannerNode: W.EventTarget, webkitAudioPannerNode: W.EventTarget, ScriptProcessorNode: W.EventTarget, JavaScriptAudioNode: W.EventTarget, StereoPannerNode: W.EventTarget, WaveShaperNode: W.EventTarget, EventTarget: W.EventTarget, File: W.File, FileList: W.FileList, FileWriter: W.FileWriter, HTMLFormElement: W.FormElement, Gamepad: W.Gamepad, History: W.History, HTMLCollection: W.HtmlCollection, HTMLFormControlsCollection: W.HtmlCollection, HTMLOptionsCollection: W.HtmlCollection, HTMLDocument: W.HtmlDocument, XMLHttpRequest: W.HttpRequest, XMLHttpRequestUpload: W.HttpRequestEventTarget, XMLHttpRequestEventTarget: W.HttpRequestEventTarget, ImageData: W.ImageData, KeyboardEvent: W.KeyboardEvent, Location: W.Location, MediaList: W.MediaList, MessageEvent: W.MessageEvent, MessagePort: W.MessagePort, MIDIInputMap: W.MidiInputMap, MIDIOutputMap: W.MidiOutputMap, MimeType: W.MimeType, MimeTypeArray: W.MimeTypeArray, DocumentFragment: W.Node, ShadowRoot: W.Node, DocumentType: W.Node, Node: W.Node, NodeList: W.NodeList, RadioNodeList: W.NodeList, Plugin: W.Plugin, PluginArray: W.PluginArray, ProgressEvent: W.ProgressEvent, ResourceProgressEvent: W.ProgressEvent, RTCStatsReport: W.RtcStatsReport, HTMLScriptElement: W.ScriptElement, HTMLSelectElement: W.SelectElement, SourceBuffer: W.SourceBuffer, SourceBufferList: W.SourceBufferList, SpeechGrammar: W.SpeechGrammar, SpeechGrammarList: W.SpeechGrammarList, SpeechRecognitionResult: W.SpeechRecognitionResult, Storage: W.Storage, CSSStyleSheet: W.StyleSheet, StyleSheet: W.StyleSheet, HTMLTableElement: W.TableElement, HTMLTableRowElement: W.TableRowElement, HTMLTableSectionElement: W.TableSectionElement, HTMLTemplateElement: W.TemplateElement, TextTrack: W.TextTrack, TextTrackCue: W.TextTrackCue, VTTCue: W.TextTrackCue, TextTrackCueList: W.TextTrackCueList, TextTrackList: W.TextTrackList, TimeRanges: W.TimeRanges, Touch: W.Touch, TouchList: W.TouchList, TrackDefaultList: W.TrackDefaultList, CompositionEvent: W.UIEvent, FocusEvent: W.UIEvent, MouseEvent: W.UIEvent, DragEvent: W.UIEvent, PointerEvent: W.UIEvent, TextEvent: W.UIEvent, TouchEvent: W.UIEvent, WheelEvent: W.UIEvent, UIEvent: W.UIEvent, URL: W.Url, VideoTrackList: W.VideoTrackList, WebSocket: W.WebSocket, Window: W.Window, DOMWindow: W.Window, DedicatedWorkerGlobalScope: W.WorkerGlobalScope, ServiceWorkerGlobalScope: W.WorkerGlobalScope, SharedWorkerGlobalScope: W.WorkerGlobalScope, WorkerGlobalScope: W.WorkerGlobalScope, Attr: W._Attr, CSSRuleList: W._CssRuleList, ClientRect: W._DomRect, DOMRect: W._DomRect, GamepadList: W._GamepadList, NamedNodeMap: W._NamedNodeMap, MozNamedAttrMap: W._NamedNodeMap, SpeechRecognitionResultList: W._SpeechRecognitionResultList, StyleSheetList: W._StyleSheetList, IDBKeyRange: P.KeyRange, SVGLength: P.Length, SVGLengthList: P.LengthList, SVGNumber: P.Number, SVGNumberList: P.NumberList, SVGPointList: P.PointList, SVGScriptElement: P.ScriptElement0, SVGStringList: P.StringList, SVGAElement: P.SvgElement, SVGAnimateElement: P.SvgElement, SVGAnimateMotionElement: P.SvgElement, SVGAnimateTransformElement: P.SvgElement, SVGAnimationElement: P.SvgElement, SVGCircleElement: P.SvgElement, SVGClipPathElement: P.SvgElement, SVGDefsElement: P.SvgElement, SVGDescElement: P.SvgElement, SVGDiscardElement: P.SvgElement, SVGEllipseElement: P.SvgElement, SVGFEBlendElement: P.SvgElement, SVGFEColorMatrixElement: P.SvgElement, SVGFEComponentTransferElement: P.SvgElement, SVGFECompositeElement: P.SvgElement, SVGFEConvolveMatrixElement: P.SvgElement, SVGFEDiffuseLightingElement: P.SvgElement, SVGFEDisplacementMapElement: P.SvgElement, SVGFEDistantLightElement: P.SvgElement, SVGFEFloodElement: P.SvgElement, SVGFEFuncAElement: P.SvgElement, SVGFEFuncBElement: P.SvgElement, SVGFEFuncGElement: P.SvgElement, SVGFEFuncRElement: P.SvgElement, SVGFEGaussianBlurElement: P.SvgElement, SVGFEImageElement: P.SvgElement, SVGFEMergeElement: P.SvgElement, SVGFEMergeNodeElement: P.SvgElement, SVGFEMorphologyElement: P.SvgElement, SVGFEOffsetElement: P.SvgElement, SVGFEPointLightElement: P.SvgElement, SVGFESpecularLightingElement: P.SvgElement, SVGFESpotLightElement: P.SvgElement, SVGFETileElement: P.SvgElement, SVGFETurbulenceElement: P.SvgElement, SVGFilterElement: P.SvgElement, SVGForeignObjectElement: P.SvgElement, SVGGElement: P.SvgElement, SVGGeometryElement: P.SvgElement, SVGGraphicsElement: P.SvgElement, SVGImageElement: P.SvgElement, SVGLineElement: P.SvgElement, SVGLinearGradientElement: P.SvgElement, SVGMarkerElement: P.SvgElement, SVGMaskElement: P.SvgElement, SVGMetadataElement: P.SvgElement, SVGPathElement: P.SvgElement, SVGPatternElement: P.SvgElement, SVGPolygonElement: P.SvgElement, SVGPolylineElement: P.SvgElement, SVGRadialGradientElement: P.SvgElement, SVGRectElement: P.SvgElement, SVGSetElement: P.SvgElement, SVGStopElement: P.SvgElement, SVGStyleElement: P.SvgElement, SVGSVGElement: P.SvgElement, SVGSwitchElement: P.SvgElement, SVGSymbolElement: P.SvgElement, SVGTSpanElement: P.SvgElement, SVGTextContentElement: P.SvgElement, SVGTextElement: P.SvgElement, SVGTextPathElement: P.SvgElement, SVGTextPositioningElement: P.SvgElement, SVGTitleElement: P.SvgElement, SVGUseElement: P.SvgElement, SVGViewElement: P.SvgElement, SVGGradientElement: P.SvgElement, SVGComponentTransferFunctionElement: P.SvgElement, SVGFEDropShadowElement: P.SvgElement, SVGMPathElement: P.SvgElement, SVGElement: P.SvgElement, SVGTransform: P.Transform, SVGTransformList: P.TransformList, AudioBuffer: P.AudioBuffer, AudioParamMap: P.AudioParamMap, AudioTrackList: P.AudioTrackList, AudioContext: P.BaseAudioContext, webkitAudioContext: P.BaseAudioContext, BaseAudioContext: P.BaseAudioContext, OfflineAudioContext: P.OfflineAudioContext, SQLResultSetRowList: P.SqlResultSetRowList});
-    hunkHelpers.setOrUpdateLeafTags({AnimationEffectReadOnly: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: true, AnimationTimeline: true, AnimationWorkletGlobalScope: true, AuthenticatorAssertionResponse: true, AuthenticatorAttestationResponse: true, AuthenticatorResponse: true, BackgroundFetchFetch: true, BackgroundFetchManager: true, BackgroundFetchSettledFetch: true, BarProp: true, BarcodeDetector: true, BluetoothRemoteGATTDescriptor: true, Body: true, BudgetState: true, CacheStorage: true, CanvasGradient: true, CanvasPattern: true, CanvasRenderingContext2D: true, Client: true, Clients: true, CookieStore: true, Coordinates: true, Credential: true, CredentialUserData: true, CredentialsContainer: true, Crypto: true, CryptoKey: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, DataTransfer: true, DataTransferItem: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DeprecationReport: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: true, DeviceRotationRate: true, DirectoryEntry: true, DirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMError: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, Entry: true, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, DOMFileSystem: true, FontFace: true, FontFaceSource: true, FormData: true, GamepadButton: true, GamepadPose: true, Geolocation: true, Position: true, Headers: true, HTMLHyperlinkElementUtils: true, IdleDeadline: true, ImageBitmap: true, ImageBitmapRenderingContext: true, ImageCapture: true, InputDeviceCapabilities: true, IntersectionObserver: true, IntersectionObserverEntry: true, InterventionReport: true, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaDeviceInfo: true, MediaError: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaSession: true, MediaSettingsRange: true, MemoryInfo: true, MessageChannel: true, Metadata: true, MutationObserver: true, WebKitMutationObserver: true, MutationRecord: true, NavigationPreloadManager: true, Navigator: true, NavigatorAutomationInformation: true, NavigatorConcurrentHardware: true, NavigatorCookies: true, NavigatorUserMediaError: true, NodeFilter: true, NodeIterator: true, NonDocumentTypeChildNode: true, NonElementParentNode: true, NoncedElement: true, OffscreenCanvasRenderingContext2D: true, OverconstrainedError: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, PasswordCredential: true, Path2D: true, PaymentAddress: true, PaymentInstruments: true, PaymentManager: true, PaymentResponse: true, PerformanceEntry: true, PerformanceLongTaskTiming: true, PerformanceMark: true, PerformanceMeasure: true, PerformanceNavigation: true, PerformanceNavigationTiming: true, PerformanceObserver: true, PerformanceObserverEntryList: true, PerformancePaintTiming: true, PerformanceResourceTiming: true, PerformanceServerTiming: true, PerformanceTiming: true, Permissions: true, PhotoCapabilities: true, PositionError: true, Presentation: true, PresentationReceiver: true, PublicKeyCredential: true, PushManager: true, PushMessageData: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: true, ReportBody: true, ReportingObserver: true, ResizeObserver: true, ResizeObserverEntry: true, RTCCertificate: true, RTCIceCandidate: true, mozRTCIceCandidate: true, RTCLegacyStatsReport: true, RTCRtpContributingSource: true, RTCRtpReceiver: true, RTCRtpSender: true, RTCSessionDescription: true, mozRTCSessionDescription: true, RTCStatsResponse: true, Screen: true, ScrollState: true, ScrollTimeline: true, Selection: true, SharedArrayBuffer: true, SpeechRecognitionAlternative: true, SpeechSynthesisVoice: true, StaticRange: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncManager: true, TaskAttributionTiming: true, TextDetector: true, TextMetrics: true, TrackDefault: true, TreeWalker: true, TrustedHTML: true, TrustedScriptURL: true, TrustedURL: true, UnderlyingSourceBase: true, URLSearchParams: true, VRCoordinateSystem: true, VRDisplayCapabilities: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: true, VideoTrack: true, VTTRegion: true, WindowClient: true, WorkletAnimation: true, WorkletGlobalScope: true, XPathEvaluator: true, XPathExpression: true, XPathNSResolver: true, XPathResult: true, XMLSerializer: true, XSLTProcessor: true, Bluetooth: true, BluetoothCharacteristicProperties: true, BluetoothRemoteGATTServer: true, BluetoothRemoteGATTService: true, BluetoothUUID: true, BudgetService: true, Cache: true, DOMFileSystemSync: true, DirectoryEntrySync: true, DirectoryReaderSync: true, EntrySync: true, FileEntrySync: true, FileReaderSync: true, FileWriterSync: true, HTMLAllCollection: true, Mojo: true, MojoHandle: true, MojoWatcher: true, NFC: true, PagePopupController: true, Report: true, Request: true, Response: true, SubtleCrypto: true, USBAlternateInterface: true, USBConfiguration: true, USBDevice: true, USBEndpoint: true, USBInTransferResult: true, USBInterface: true, USBIsochronousInTransferPacket: true, USBIsochronousInTransferResult: true, USBIsochronousOutTransferPacket: true, USBIsochronousOutTransferResult: true, USBOutTransferResult: true, WorkerLocation: true, WorkerNavigator: true, Worklet: true, IDBCursor: true, IDBCursorWithValue: true, IDBFactory: true, IDBIndex: true, IDBObjectStore: true, IDBObservation: true, IDBObserver: true, IDBObserverChanges: true, SVGAngle: true, SVGAnimatedAngle: true, SVGAnimatedBoolean: true, SVGAnimatedEnumeration: true, SVGAnimatedInteger: true, SVGAnimatedLength: true, SVGAnimatedLengthList: true, SVGAnimatedNumber: true, SVGAnimatedNumberList: true, SVGAnimatedPreserveAspectRatio: true, SVGAnimatedRect: true, SVGAnimatedString: true, SVGAnimatedTransformList: true, SVGMatrix: true, SVGPoint: true, SVGPreserveAspectRatio: true, SVGRect: true, SVGUnitTypes: true, AudioListener: true, AudioParam: true, AudioTrack: true, AudioWorkletGlobalScope: true, AudioWorkletProcessor: true, PeriodicWave: true, WebGLActiveInfo: true, ANGLEInstancedArrays: true, ANGLE_instanced_arrays: true, WebGLBuffer: true, WebGLCanvas: true, WebGLColorBufferFloat: true, WebGLCompressedTextureASTC: true, WebGLCompressedTextureATC: true, WEBGL_compressed_texture_atc: true, WebGLCompressedTextureETC1: true, WEBGL_compressed_texture_etc1: true, WebGLCompressedTextureETC: true, WebGLCompressedTexturePVRTC: true, WEBGL_compressed_texture_pvrtc: true, WebGLCompressedTextureS3TC: true, WEBGL_compressed_texture_s3tc: true, WebGLCompressedTextureS3TCsRGB: true, WebGLDebugRendererInfo: true, WEBGL_debug_renderer_info: true, WebGLDebugShaders: true, WEBGL_debug_shaders: true, WebGLDepthTexture: true, WEBGL_depth_texture: true, WebGLDrawBuffers: true, WEBGL_draw_buffers: true, EXTsRGB: true, EXT_sRGB: true, EXTBlendMinMax: true, EXT_blend_minmax: true, EXTColorBufferFloat: true, EXTColorBufferHalfFloat: true, EXTDisjointTimerQuery: true, EXTDisjointTimerQueryWebGL2: true, EXTFragDepth: true, EXT_frag_depth: true, EXTShaderTextureLOD: true, EXT_shader_texture_lod: true, EXTTextureFilterAnisotropic: true, EXT_texture_filter_anisotropic: true, WebGLFramebuffer: true, WebGLGetBufferSubDataAsync: true, WebGLLoseContext: true, WebGLExtensionLoseContext: true, WEBGL_lose_context: true, OESElementIndexUint: true, OES_element_index_uint: true, OESStandardDerivatives: true, OES_standard_derivatives: true, OESTextureFloat: true, OES_texture_float: true, OESTextureFloatLinear: true, OES_texture_float_linear: true, OESTextureHalfFloat: true, OES_texture_half_float: true, OESTextureHalfFloatLinear: true, OES_texture_half_float_linear: true, OESVertexArrayObject: true, OES_vertex_array_object: true, WebGLProgram: true, WebGLQuery: true, WebGLRenderbuffer: true, WebGLRenderingContext: true, WebGL2RenderingContext: true, WebGLSampler: true, WebGLShader: true, WebGLShaderPrecisionFormat: true, WebGLSync: true, WebGLTexture: true, WebGLTimerQueryEXT: true, WebGLTransformFeedback: true, WebGLUniformLocation: true, WebGLVertexArrayObject: true, WebGLVertexArrayObjectOES: true, WebGL: true, WebGL2RenderingContextBase: true, Database: true, SQLError: true, SQLResultSet: true, SQLTransaction: true, ArrayBuffer: true, ArrayBufferView: false, DataView: true, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false, HTMLAudioElement: true, HTMLBRElement: true, HTMLButtonElement: true, HTMLCanvasElement: true, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: true, HTMLDivElement: true, HTMLEmbedElement: true, HTMLFieldSetElement: true, HTMLHRElement: true, HTMLHeadElement: true, HTMLHeadingElement: true, HTMLHtmlElement: true, HTMLIFrameElement: true, HTMLImageElement: true, HTMLInputElement: true, HTMLLIElement: true, HTMLLabelElement: true, HTMLLegendElement: true, HTMLLinkElement: true, HTMLMapElement: true, HTMLMediaElement: true, HTMLMenuElement: true, HTMLMetaElement: true, HTMLMeterElement: true, HTMLModElement: true, HTMLOListElement: true, HTMLObjectElement: true, HTMLOptGroupElement: true, HTMLOptionElement: true, HTMLOutputElement: true, HTMLParagraphElement: true, HTMLParamElement: true, HTMLPictureElement: true, HTMLPreElement: true, HTMLProgressElement: true, HTMLQuoteElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTextAreaElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLTrackElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, AccessibleNodeList: true, HTMLAnchorElement: true, HTMLAreaElement: true, HTMLBaseElement: true, Blob: false, HTMLBodyElement: true, CDATASection: true, CharacterData: true, Comment: true, ProcessingInstruction: true, Text: true, CloseEvent: true, CSSPerspective: true, CSSCharsetRule: true, CSSConditionRule: true, CSSFontFaceRule: true, CSSGroupingRule: true, CSSImportRule: true, CSSKeyframeRule: true, MozCSSKeyframeRule: true, WebKitCSSKeyframeRule: true, CSSKeyframesRule: true, MozCSSKeyframesRule: true, WebKitCSSKeyframesRule: true, CSSMediaRule: true, CSSNamespaceRule: true, CSSPageRule: true, CSSRule: true, CSSStyleRule: true, CSSSupportsRule: true, CSSViewportRule: true, CSSStyleDeclaration: true, MSStyleCSSProperties: true, CSS2Properties: true, CSSImageValue: true, CSSKeywordValue: true, CSSNumericValue: true, CSSPositionValue: true, CSSResourceValue: true, CSSUnitValue: true, CSSURLImageValue: true, CSSStyleValue: false, CSSMatrixComponent: true, CSSRotation: true, CSSScale: true, CSSSkew: true, CSSTranslation: true, CSSTransformComponent: false, CSSTransformValue: true, CSSUnparsedValue: true, CustomEvent: true, DataTransferItemList: true, XMLDocument: true, Document: false, DOMException: true, DOMImplementation: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, Element: false, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, MojoInterfaceRequestEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, EventSource: true, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, BroadcastChannel: true, CanvasCaptureMediaStreamTrack: true, FileReader: true, FontFaceSet: true, Gyroscope: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaKeySession: true, MediaQueryList: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MediaStreamTrack: true, MIDIAccess: true, MIDIInput: true, MIDIOutput: true, MIDIPort: true, NetworkInformation: true, Notification: true, OffscreenCanvas: true, OrientationSensor: true, PaymentRequest: true, Performance: true, PermissionStatus: true, PresentationAvailability: true, PresentationConnection: true, PresentationConnectionList: true, PresentationRequest: true, RelativeOrientationSensor: true, RemotePlayback: true, RTCDataChannel: true, DataChannel: true, RTCDTMFSender: true, RTCPeerConnection: true, webkitRTCPeerConnection: true, mozRTCPeerConnection: true, ScreenOrientation: true, Sensor: true, ServiceWorker: true, ServiceWorkerContainer: true, ServiceWorkerRegistration: true, SharedWorker: true, SpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, Worker: true, WorkerPerformance: true, BluetoothDevice: true, BluetoothRemoteGATTCharacteristic: true, Clipboard: true, MojoInterfaceInterceptor: true, USB: true, IDBDatabase: true, IDBOpenDBRequest: true, IDBVersionChangeRequest: true, IDBRequest: true, IDBTransaction: true, AnalyserNode: true, RealtimeAnalyserNode: true, AudioBufferSourceNode: true, AudioDestinationNode: true, AudioNode: true, AudioScheduledSourceNode: true, AudioWorkletNode: true, BiquadFilterNode: true, ChannelMergerNode: true, AudioChannelMerger: true, ChannelSplitterNode: true, AudioChannelSplitter: true, ConstantSourceNode: true, ConvolverNode: true, DelayNode: true, DynamicsCompressorNode: true, GainNode: true, AudioGainNode: true, IIRFilterNode: true, MediaElementAudioSourceNode: true, MediaStreamAudioDestinationNode: true, MediaStreamAudioSourceNode: true, OscillatorNode: true, Oscillator: true, PannerNode: true, AudioPannerNode: true, webkitAudioPannerNode: true, ScriptProcessorNode: true, JavaScriptAudioNode: true, StereoPannerNode: true, WaveShaperNode: true, EventTarget: false, File: true, FileList: true, FileWriter: true, HTMLFormElement: true, Gamepad: true, History: true, HTMLCollection: true, HTMLFormControlsCollection: true, HTMLOptionsCollection: true, HTMLDocument: true, XMLHttpRequest: true, XMLHttpRequestUpload: true, XMLHttpRequestEventTarget: false, ImageData: true, KeyboardEvent: true, Location: true, MediaList: true, MessageEvent: true, MessagePort: true, MIDIInputMap: true, MIDIOutputMap: true, MimeType: true, MimeTypeArray: true, DocumentFragment: true, ShadowRoot: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, Plugin: true, PluginArray: true, ProgressEvent: true, ResourceProgressEvent: true, RTCStatsReport: true, HTMLScriptElement: true, HTMLSelectElement: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionResult: true, Storage: true, CSSStyleSheet: true, StyleSheet: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, TextTrack: true, TextTrackCue: true, VTTCue: true, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchList: true, TrackDefaultList: true, CompositionEvent: true, FocusEvent: true, MouseEvent: true, DragEvent: true, PointerEvent: true, TextEvent: true, TouchEvent: true, WheelEvent: true, UIEvent: false, URL: true, VideoTrackList: true, WebSocket: true, Window: true, DOMWindow: true, DedicatedWorkerGlobalScope: true, ServiceWorkerGlobalScope: true, SharedWorkerGlobalScope: true, WorkerGlobalScope: true, Attr: true, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, IDBKeyRange: true, SVGLength: true, SVGLengthList: true, SVGNumber: true, SVGNumberList: true, SVGPointList: true, SVGScriptElement: true, SVGStringList: true, SVGAElement: true, SVGAnimateElement: true, SVGAnimateMotionElement: true, SVGAnimateTransformElement: true, SVGAnimationElement: true, SVGCircleElement: true, SVGClipPathElement: true, SVGDefsElement: true, SVGDescElement: true, SVGDiscardElement: true, SVGEllipseElement: true, SVGFEBlendElement: true, SVGFEColorMatrixElement: true, SVGFEComponentTransferElement: true, SVGFECompositeElement: true, SVGFEConvolveMatrixElement: true, SVGFEDiffuseLightingElement: true, SVGFEDisplacementMapElement: true, SVGFEDistantLightElement: true, SVGFEFloodElement: true, SVGFEFuncAElement: true, SVGFEFuncBElement: true, SVGFEFuncGElement: true, SVGFEFuncRElement: true, SVGFEGaussianBlurElement: true, SVGFEImageElement: true, SVGFEMergeElement: true, SVGFEMergeNodeElement: true, SVGFEMorphologyElement: true, SVGFEOffsetElement: true, SVGFEPointLightElement: true, SVGFESpecularLightingElement: true, SVGFESpotLightElement: true, SVGFETileElement: true, SVGFETurbulenceElement: true, SVGFilterElement: true, SVGForeignObjectElement: true, SVGGElement: true, SVGGeometryElement: true, SVGGraphicsElement: true, SVGImageElement: true, SVGLineElement: true, SVGLinearGradientElement: true, SVGMarkerElement: true, SVGMaskElement: true, SVGMetadataElement: true, SVGPathElement: true, SVGPatternElement: true, SVGPolygonElement: true, SVGPolylineElement: true, SVGRadialGradientElement: true, SVGRectElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGSVGElement: true, SVGSwitchElement: true, SVGSymbolElement: true, SVGTSpanElement: true, SVGTextContentElement: true, SVGTextElement: true, SVGTextPathElement: true, SVGTextPositioningElement: true, SVGTitleElement: true, SVGUseElement: true, SVGViewElement: true, SVGGradientElement: true, SVGComponentTransferFunctionElement: true, SVGFEDropShadowElement: true, SVGMPathElement: true, SVGElement: false, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true, SQLResultSetRowList: true});
+    hunkHelpers.setOrUpdateInterceptorsByTag({AnimationEffectReadOnly: J.Interceptor, AnimationEffectTiming: J.Interceptor, AnimationEffectTimingReadOnly: J.Interceptor, AnimationTimeline: J.Interceptor, AnimationWorkletGlobalScope: J.Interceptor, AuthenticatorAssertionResponse: J.Interceptor, AuthenticatorAttestationResponse: J.Interceptor, AuthenticatorResponse: J.Interceptor, BackgroundFetchFetch: J.Interceptor, BackgroundFetchManager: J.Interceptor, BackgroundFetchSettledFetch: J.Interceptor, BarProp: J.Interceptor, BarcodeDetector: J.Interceptor, BluetoothRemoteGATTDescriptor: J.Interceptor, Body: J.Interceptor, BudgetState: J.Interceptor, CacheStorage: J.Interceptor, CanvasGradient: J.Interceptor, CanvasPattern: J.Interceptor, CanvasRenderingContext2D: J.Interceptor, Client: J.Interceptor, Clients: J.Interceptor, CookieStore: J.Interceptor, Coordinates: J.Interceptor, Credential: J.Interceptor, CredentialUserData: J.Interceptor, CredentialsContainer: J.Interceptor, Crypto: J.Interceptor, CryptoKey: J.Interceptor, CSS: J.Interceptor, CSSVariableReferenceValue: J.Interceptor, CustomElementRegistry: J.Interceptor, DataTransfer: J.Interceptor, DataTransferItem: J.Interceptor, DeprecatedStorageInfo: J.Interceptor, DeprecatedStorageQuota: J.Interceptor, DeprecationReport: J.Interceptor, DetectedBarcode: J.Interceptor, DetectedFace: J.Interceptor, DetectedText: J.Interceptor, DeviceAcceleration: J.Interceptor, DeviceRotationRate: J.Interceptor, DirectoryEntry: J.Interceptor, DirectoryReader: J.Interceptor, DocumentOrShadowRoot: J.Interceptor, DocumentTimeline: J.Interceptor, DOMError: J.Interceptor, Iterator: J.Interceptor, DOMMatrix: J.Interceptor, DOMMatrixReadOnly: J.Interceptor, DOMParser: J.Interceptor, DOMPoint: J.Interceptor, DOMPointReadOnly: J.Interceptor, DOMQuad: J.Interceptor, DOMStringMap: J.Interceptor, Entry: J.Interceptor, External: J.Interceptor, FaceDetector: J.Interceptor, FederatedCredential: J.Interceptor, FileEntry: J.Interceptor, DOMFileSystem: J.Interceptor, FontFace: J.Interceptor, FontFaceSource: J.Interceptor, FormData: J.Interceptor, GamepadButton: J.Interceptor, GamepadPose: J.Interceptor, Geolocation: J.Interceptor, Position: J.Interceptor, GeolocationPosition: J.Interceptor, Headers: J.Interceptor, HTMLHyperlinkElementUtils: J.Interceptor, IdleDeadline: J.Interceptor, ImageBitmap: J.Interceptor, ImageBitmapRenderingContext: J.Interceptor, ImageCapture: J.Interceptor, InputDeviceCapabilities: J.Interceptor, IntersectionObserver: J.Interceptor, IntersectionObserverEntry: J.Interceptor, InterventionReport: J.Interceptor, KeyframeEffect: J.Interceptor, KeyframeEffectReadOnly: J.Interceptor, MediaCapabilities: J.Interceptor, MediaCapabilitiesInfo: J.Interceptor, MediaDeviceInfo: J.Interceptor, MediaError: J.Interceptor, MediaKeyStatusMap: J.Interceptor, MediaKeySystemAccess: J.Interceptor, MediaKeys: J.Interceptor, MediaKeysPolicy: J.Interceptor, MediaMetadata: J.Interceptor, MediaSession: J.Interceptor, MediaSettingsRange: J.Interceptor, MemoryInfo: J.Interceptor, MessageChannel: J.Interceptor, Metadata: J.Interceptor, MutationObserver: J.Interceptor, WebKitMutationObserver: J.Interceptor, MutationRecord: J.Interceptor, NavigationPreloadManager: J.Interceptor, Navigator: J.Interceptor, NavigatorAutomationInformation: J.Interceptor, NavigatorConcurrentHardware: J.Interceptor, NavigatorCookies: J.Interceptor, NavigatorUserMediaError: J.Interceptor, NodeFilter: J.Interceptor, NodeIterator: J.Interceptor, NonDocumentTypeChildNode: J.Interceptor, NonElementParentNode: J.Interceptor, NoncedElement: J.Interceptor, OffscreenCanvasRenderingContext2D: J.Interceptor, OverconstrainedError: J.Interceptor, PaintRenderingContext2D: J.Interceptor, PaintSize: J.Interceptor, PaintWorkletGlobalScope: J.Interceptor, PasswordCredential: J.Interceptor, Path2D: J.Interceptor, PaymentAddress: J.Interceptor, PaymentInstruments: J.Interceptor, PaymentManager: J.Interceptor, PaymentResponse: J.Interceptor, PerformanceEntry: J.Interceptor, PerformanceLongTaskTiming: J.Interceptor, PerformanceMark: J.Interceptor, PerformanceMeasure: J.Interceptor, PerformanceNavigation: J.Interceptor, PerformanceNavigationTiming: J.Interceptor, PerformanceObserver: J.Interceptor, PerformanceObserverEntryList: J.Interceptor, PerformancePaintTiming: J.Interceptor, PerformanceResourceTiming: J.Interceptor, PerformanceServerTiming: J.Interceptor, PerformanceTiming: J.Interceptor, Permissions: J.Interceptor, PhotoCapabilities: J.Interceptor, PositionError: J.Interceptor, GeolocationPositionError: J.Interceptor, Presentation: J.Interceptor, PresentationReceiver: J.Interceptor, PublicKeyCredential: J.Interceptor, PushManager: J.Interceptor, PushMessageData: J.Interceptor, PushSubscription: J.Interceptor, PushSubscriptionOptions: J.Interceptor, Range: J.Interceptor, RelatedApplication: J.Interceptor, ReportBody: J.Interceptor, ReportingObserver: J.Interceptor, ResizeObserver: J.Interceptor, ResizeObserverEntry: J.Interceptor, RTCCertificate: J.Interceptor, RTCIceCandidate: J.Interceptor, mozRTCIceCandidate: J.Interceptor, RTCLegacyStatsReport: J.Interceptor, RTCRtpContributingSource: J.Interceptor, RTCRtpReceiver: J.Interceptor, RTCRtpSender: J.Interceptor, RTCSessionDescription: J.Interceptor, mozRTCSessionDescription: J.Interceptor, RTCStatsResponse: J.Interceptor, Screen: J.Interceptor, ScrollState: J.Interceptor, ScrollTimeline: J.Interceptor, Selection: J.Interceptor, SharedArrayBuffer: J.Interceptor, SpeechRecognitionAlternative: J.Interceptor, SpeechSynthesisVoice: J.Interceptor, StaticRange: J.Interceptor, StorageManager: J.Interceptor, StyleMedia: J.Interceptor, StylePropertyMap: J.Interceptor, StylePropertyMapReadonly: J.Interceptor, SyncManager: J.Interceptor, TaskAttributionTiming: J.Interceptor, TextDetector: J.Interceptor, TextMetrics: J.Interceptor, TrackDefault: J.Interceptor, TreeWalker: J.Interceptor, TrustedHTML: J.Interceptor, TrustedScriptURL: J.Interceptor, TrustedURL: J.Interceptor, UnderlyingSourceBase: J.Interceptor, URLSearchParams: J.Interceptor, VRCoordinateSystem: J.Interceptor, VRDisplayCapabilities: J.Interceptor, VREyeParameters: J.Interceptor, VRFrameData: J.Interceptor, VRFrameOfReference: J.Interceptor, VRPose: J.Interceptor, VRStageBounds: J.Interceptor, VRStageBoundsPoint: J.Interceptor, VRStageParameters: J.Interceptor, ValidityState: J.Interceptor, VideoPlaybackQuality: J.Interceptor, VideoTrack: J.Interceptor, VTTRegion: J.Interceptor, WindowClient: J.Interceptor, WorkletAnimation: J.Interceptor, WorkletGlobalScope: J.Interceptor, XPathEvaluator: J.Interceptor, XPathExpression: J.Interceptor, XPathNSResolver: J.Interceptor, XPathResult: J.Interceptor, XMLSerializer: J.Interceptor, XSLTProcessor: J.Interceptor, Bluetooth: J.Interceptor, BluetoothCharacteristicProperties: J.Interceptor, BluetoothRemoteGATTServer: J.Interceptor, BluetoothRemoteGATTService: J.Interceptor, BluetoothUUID: J.Interceptor, BudgetService: J.Interceptor, Cache: J.Interceptor, DOMFileSystemSync: J.Interceptor, DirectoryEntrySync: J.Interceptor, DirectoryReaderSync: J.Interceptor, EntrySync: J.Interceptor, FileEntrySync: J.Interceptor, FileReaderSync: J.Interceptor, FileWriterSync: J.Interceptor, HTMLAllCollection: J.Interceptor, Mojo: J.Interceptor, MojoHandle: J.Interceptor, MojoWatcher: J.Interceptor, NFC: J.Interceptor, PagePopupController: J.Interceptor, Report: J.Interceptor, Request: J.Interceptor, Response: J.Interceptor, SubtleCrypto: J.Interceptor, USBAlternateInterface: J.Interceptor, USBConfiguration: J.Interceptor, USBDevice: J.Interceptor, USBEndpoint: J.Interceptor, USBInTransferResult: J.Interceptor, USBInterface: J.Interceptor, USBIsochronousInTransferPacket: J.Interceptor, USBIsochronousInTransferResult: J.Interceptor, USBIsochronousOutTransferPacket: J.Interceptor, USBIsochronousOutTransferResult: J.Interceptor, USBOutTransferResult: J.Interceptor, WorkerLocation: J.Interceptor, WorkerNavigator: J.Interceptor, Worklet: J.Interceptor, IDBCursor: J.Interceptor, IDBCursorWithValue: J.Interceptor, IDBFactory: J.Interceptor, IDBIndex: J.Interceptor, IDBObjectStore: J.Interceptor, IDBObservation: J.Interceptor, IDBObserver: J.Interceptor, IDBObserverChanges: J.Interceptor, SVGAngle: J.Interceptor, SVGAnimatedAngle: J.Interceptor, SVGAnimatedBoolean: J.Interceptor, SVGAnimatedEnumeration: J.Interceptor, SVGAnimatedInteger: J.Interceptor, SVGAnimatedLength: J.Interceptor, SVGAnimatedLengthList: J.Interceptor, SVGAnimatedNumber: J.Interceptor, SVGAnimatedNumberList: J.Interceptor, SVGAnimatedPreserveAspectRatio: J.Interceptor, SVGAnimatedRect: J.Interceptor, SVGAnimatedString: J.Interceptor, SVGAnimatedTransformList: J.Interceptor, SVGMatrix: J.Interceptor, SVGPoint: J.Interceptor, SVGPreserveAspectRatio: J.Interceptor, SVGRect: J.Interceptor, SVGUnitTypes: J.Interceptor, AudioListener: J.Interceptor, AudioParam: J.Interceptor, AudioTrack: J.Interceptor, AudioWorkletGlobalScope: J.Interceptor, AudioWorkletProcessor: J.Interceptor, PeriodicWave: J.Interceptor, WebGLActiveInfo: J.Interceptor, ANGLEInstancedArrays: J.Interceptor, ANGLE_instanced_arrays: J.Interceptor, WebGLBuffer: J.Interceptor, WebGLCanvas: J.Interceptor, WebGLColorBufferFloat: J.Interceptor, WebGLCompressedTextureASTC: J.Interceptor, WebGLCompressedTextureATC: J.Interceptor, WEBGL_compressed_texture_atc: J.Interceptor, WebGLCompressedTextureETC1: J.Interceptor, WEBGL_compressed_texture_etc1: J.Interceptor, WebGLCompressedTextureETC: J.Interceptor, WebGLCompressedTexturePVRTC: J.Interceptor, WEBGL_compressed_texture_pvrtc: J.Interceptor, WebGLCompressedTextureS3TC: J.Interceptor, WEBGL_compressed_texture_s3tc: J.Interceptor, WebGLCompressedTextureS3TCsRGB: J.Interceptor, WebGLDebugRendererInfo: J.Interceptor, WEBGL_debug_renderer_info: J.Interceptor, WebGLDebugShaders: J.Interceptor, WEBGL_debug_shaders: J.Interceptor, WebGLDepthTexture: J.Interceptor, WEBGL_depth_texture: J.Interceptor, WebGLDrawBuffers: J.Interceptor, WEBGL_draw_buffers: J.Interceptor, EXTsRGB: J.Interceptor, EXT_sRGB: J.Interceptor, EXTBlendMinMax: J.Interceptor, EXT_blend_minmax: J.Interceptor, EXTColorBufferFloat: J.Interceptor, EXTColorBufferHalfFloat: J.Interceptor, EXTDisjointTimerQuery: J.Interceptor, EXTDisjointTimerQueryWebGL2: J.Interceptor, EXTFragDepth: J.Interceptor, EXT_frag_depth: J.Interceptor, EXTShaderTextureLOD: J.Interceptor, EXT_shader_texture_lod: J.Interceptor, EXTTextureFilterAnisotropic: J.Interceptor, EXT_texture_filter_anisotropic: J.Interceptor, WebGLFramebuffer: J.Interceptor, WebGLGetBufferSubDataAsync: J.Interceptor, WebGLLoseContext: J.Interceptor, WebGLExtensionLoseContext: J.Interceptor, WEBGL_lose_context: J.Interceptor, OESElementIndexUint: J.Interceptor, OES_element_index_uint: J.Interceptor, OESStandardDerivatives: J.Interceptor, OES_standard_derivatives: J.Interceptor, OESTextureFloat: J.Interceptor, OES_texture_float: J.Interceptor, OESTextureFloatLinear: J.Interceptor, OES_texture_float_linear: J.Interceptor, OESTextureHalfFloat: J.Interceptor, OES_texture_half_float: J.Interceptor, OESTextureHalfFloatLinear: J.Interceptor, OES_texture_half_float_linear: J.Interceptor, OESVertexArrayObject: J.Interceptor, OES_vertex_array_object: J.Interceptor, WebGLProgram: J.Interceptor, WebGLQuery: J.Interceptor, WebGLRenderbuffer: J.Interceptor, WebGLRenderingContext: J.Interceptor, WebGL2RenderingContext: J.Interceptor, WebGLSampler: J.Interceptor, WebGLShader: J.Interceptor, WebGLShaderPrecisionFormat: J.Interceptor, WebGLSync: J.Interceptor, WebGLTexture: J.Interceptor, WebGLTimerQueryEXT: J.Interceptor, WebGLTransformFeedback: J.Interceptor, WebGLUniformLocation: J.Interceptor, WebGLVertexArrayObject: J.Interceptor, WebGLVertexArrayObjectOES: J.Interceptor, WebGL: J.Interceptor, WebGL2RenderingContextBase: J.Interceptor, Database: J.Interceptor, SQLError: J.Interceptor, SQLResultSet: J.Interceptor, SQLTransaction: J.Interceptor, ArrayBuffer: H.NativeByteBuffer, ArrayBufferView: H.NativeTypedData, DataView: H.NativeByteData, Float32Array: H.NativeFloat32List, Float64Array: H.NativeFloat64List, Int16Array: H.NativeInt16List, Int32Array: H.NativeInt32List, Int8Array: H.NativeInt8List, Uint16Array: H.NativeUint16List, Uint32Array: H.NativeUint32List, Uint8ClampedArray: H.NativeUint8ClampedList, CanvasPixelArray: H.NativeUint8ClampedList, Uint8Array: H.NativeUint8List, HTMLAudioElement: W.HtmlElement, HTMLBRElement: W.HtmlElement, HTMLButtonElement: W.HtmlElement, HTMLCanvasElement: W.HtmlElement, HTMLContentElement: W.HtmlElement, HTMLDListElement: W.HtmlElement, HTMLDataElement: W.HtmlElement, HTMLDataListElement: W.HtmlElement, HTMLDetailsElement: W.HtmlElement, HTMLDialogElement: W.HtmlElement, HTMLDivElement: W.HtmlElement, HTMLEmbedElement: W.HtmlElement, HTMLFieldSetElement: W.HtmlElement, HTMLHRElement: W.HtmlElement, HTMLHeadElement: W.HtmlElement, HTMLHeadingElement: W.HtmlElement, HTMLHtmlElement: W.HtmlElement, HTMLIFrameElement: W.HtmlElement, HTMLImageElement: W.HtmlElement, HTMLInputElement: W.HtmlElement, HTMLLIElement: W.HtmlElement, HTMLLabelElement: W.HtmlElement, HTMLLegendElement: W.HtmlElement, HTMLLinkElement: W.HtmlElement, HTMLMapElement: W.HtmlElement, HTMLMediaElement: W.HtmlElement, HTMLMenuElement: W.HtmlElement, HTMLMetaElement: W.HtmlElement, HTMLMeterElement: W.HtmlElement, HTMLModElement: W.HtmlElement, HTMLOListElement: W.HtmlElement, HTMLObjectElement: W.HtmlElement, HTMLOptGroupElement: W.HtmlElement, HTMLOptionElement: W.HtmlElement, HTMLOutputElement: W.HtmlElement, HTMLParagraphElement: W.HtmlElement, HTMLParamElement: W.HtmlElement, HTMLPictureElement: W.HtmlElement, HTMLPreElement: W.HtmlElement, HTMLProgressElement: W.HtmlElement, HTMLQuoteElement: W.HtmlElement, HTMLShadowElement: W.HtmlElement, HTMLSlotElement: W.HtmlElement, HTMLSourceElement: W.HtmlElement, HTMLSpanElement: W.HtmlElement, HTMLStyleElement: W.HtmlElement, HTMLTableCaptionElement: W.HtmlElement, HTMLTableCellElement: W.HtmlElement, HTMLTableDataCellElement: W.HtmlElement, HTMLTableHeaderCellElement: W.HtmlElement, HTMLTableColElement: W.HtmlElement, HTMLTextAreaElement: W.HtmlElement, HTMLTimeElement: W.HtmlElement, HTMLTitleElement: W.HtmlElement, HTMLTrackElement: W.HtmlElement, HTMLUListElement: W.HtmlElement, HTMLUnknownElement: W.HtmlElement, HTMLVideoElement: W.HtmlElement, HTMLDirectoryElement: W.HtmlElement, HTMLFontElement: W.HtmlElement, HTMLFrameElement: W.HtmlElement, HTMLFrameSetElement: W.HtmlElement, HTMLMarqueeElement: W.HtmlElement, HTMLElement: W.HtmlElement, AccessibleNodeList: W.AccessibleNodeList, HTMLAnchorElement: W.AnchorElement, HTMLAreaElement: W.AreaElement, HTMLBaseElement: W.BaseElement, Blob: W.Blob, HTMLBodyElement: W.BodyElement, CDATASection: W.CharacterData, CharacterData: W.CharacterData, Comment: W.CharacterData, ProcessingInstruction: W.CharacterData, Text: W.CharacterData, CloseEvent: W.CloseEvent, CSSPerspective: W.CssPerspective, CSSCharsetRule: W.CssRule, CSSConditionRule: W.CssRule, CSSFontFaceRule: W.CssRule, CSSGroupingRule: W.CssRule, CSSImportRule: W.CssRule, CSSKeyframeRule: W.CssRule, MozCSSKeyframeRule: W.CssRule, WebKitCSSKeyframeRule: W.CssRule, CSSKeyframesRule: W.CssRule, MozCSSKeyframesRule: W.CssRule, WebKitCSSKeyframesRule: W.CssRule, CSSMediaRule: W.CssRule, CSSNamespaceRule: W.CssRule, CSSPageRule: W.CssRule, CSSRule: W.CssRule, CSSStyleRule: W.CssRule, CSSSupportsRule: W.CssRule, CSSViewportRule: W.CssRule, CSSStyleDeclaration: W.CssStyleDeclaration, MSStyleCSSProperties: W.CssStyleDeclaration, CSS2Properties: W.CssStyleDeclaration, CSSImageValue: W.CssStyleValue, CSSKeywordValue: W.CssStyleValue, CSSNumericValue: W.CssStyleValue, CSSPositionValue: W.CssStyleValue, CSSResourceValue: W.CssStyleValue, CSSUnitValue: W.CssStyleValue, CSSURLImageValue: W.CssStyleValue, CSSStyleValue: W.CssStyleValue, CSSMatrixComponent: W.CssTransformComponent, CSSRotation: W.CssTransformComponent, CSSScale: W.CssTransformComponent, CSSSkew: W.CssTransformComponent, CSSTranslation: W.CssTransformComponent, CSSTransformComponent: W.CssTransformComponent, CSSTransformValue: W.CssTransformValue, CSSUnparsedValue: W.CssUnparsedValue, CustomEvent: W.CustomEvent, DataTransferItemList: W.DataTransferItemList, XMLDocument: W.Document, Document: W.Document, DOMException: W.DomException, DOMImplementation: W.DomImplementation, ClientRectList: W.DomRectList, DOMRectList: W.DomRectList, DOMRectReadOnly: W.DomRectReadOnly, DOMStringList: W.DomStringList, DOMTokenList: W.DomTokenList, Element: W.Element, AbortPaymentEvent: W.Event, AnimationEvent: W.Event, AnimationPlaybackEvent: W.Event, ApplicationCacheErrorEvent: W.Event, BackgroundFetchClickEvent: W.Event, BackgroundFetchEvent: W.Event, BackgroundFetchFailEvent: W.Event, BackgroundFetchedEvent: W.Event, BeforeInstallPromptEvent: W.Event, BeforeUnloadEvent: W.Event, BlobEvent: W.Event, CanMakePaymentEvent: W.Event, ClipboardEvent: W.Event, DeviceMotionEvent: W.Event, DeviceOrientationEvent: W.Event, ErrorEvent: W.Event, ExtendableEvent: W.Event, ExtendableMessageEvent: W.Event, FetchEvent: W.Event, FontFaceSetLoadEvent: W.Event, ForeignFetchEvent: W.Event, GamepadEvent: W.Event, HashChangeEvent: W.Event, InstallEvent: W.Event, MediaEncryptedEvent: W.Event, MediaKeyMessageEvent: W.Event, MediaQueryListEvent: W.Event, MediaStreamEvent: W.Event, MediaStreamTrackEvent: W.Event, MIDIConnectionEvent: W.Event, MIDIMessageEvent: W.Event, MutationEvent: W.Event, NotificationEvent: W.Event, PageTransitionEvent: W.Event, PaymentRequestEvent: W.Event, PaymentRequestUpdateEvent: W.Event, PopStateEvent: W.Event, PresentationConnectionAvailableEvent: W.Event, PresentationConnectionCloseEvent: W.Event, PromiseRejectionEvent: W.Event, PushEvent: W.Event, RTCDataChannelEvent: W.Event, RTCDTMFToneChangeEvent: W.Event, RTCPeerConnectionIceEvent: W.Event, RTCTrackEvent: W.Event, SecurityPolicyViolationEvent: W.Event, SensorErrorEvent: W.Event, SpeechRecognitionError: W.Event, SpeechRecognitionEvent: W.Event, SpeechSynthesisEvent: W.Event, StorageEvent: W.Event, SyncEvent: W.Event, TrackEvent: W.Event, TransitionEvent: W.Event, WebKitTransitionEvent: W.Event, VRDeviceEvent: W.Event, VRDisplayEvent: W.Event, VRSessionEvent: W.Event, MojoInterfaceRequestEvent: W.Event, USBConnectionEvent: W.Event, IDBVersionChangeEvent: W.Event, AudioProcessingEvent: W.Event, OfflineAudioCompletionEvent: W.Event, WebGLContextEvent: W.Event, Event: W.Event, InputEvent: W.Event, SubmitEvent: W.Event, EventSource: W.EventSource, AbsoluteOrientationSensor: W.EventTarget, Accelerometer: W.EventTarget, AccessibleNode: W.EventTarget, AmbientLightSensor: W.EventTarget, Animation: W.EventTarget, ApplicationCache: W.EventTarget, DOMApplicationCache: W.EventTarget, OfflineResourceList: W.EventTarget, BackgroundFetchRegistration: W.EventTarget, BatteryManager: W.EventTarget, BroadcastChannel: W.EventTarget, CanvasCaptureMediaStreamTrack: W.EventTarget, FileReader: W.EventTarget, FontFaceSet: W.EventTarget, Gyroscope: W.EventTarget, LinearAccelerationSensor: W.EventTarget, Magnetometer: W.EventTarget, MediaDevices: W.EventTarget, MediaKeySession: W.EventTarget, MediaQueryList: W.EventTarget, MediaRecorder: W.EventTarget, MediaSource: W.EventTarget, MediaStream: W.EventTarget, MediaStreamTrack: W.EventTarget, MIDIAccess: W.EventTarget, MIDIInput: W.EventTarget, MIDIOutput: W.EventTarget, MIDIPort: W.EventTarget, NetworkInformation: W.EventTarget, Notification: W.EventTarget, OffscreenCanvas: W.EventTarget, OrientationSensor: W.EventTarget, PaymentRequest: W.EventTarget, Performance: W.EventTarget, PermissionStatus: W.EventTarget, PresentationAvailability: W.EventTarget, PresentationConnection: W.EventTarget, PresentationConnectionList: W.EventTarget, PresentationRequest: W.EventTarget, RelativeOrientationSensor: W.EventTarget, RemotePlayback: W.EventTarget, RTCDataChannel: W.EventTarget, DataChannel: W.EventTarget, RTCDTMFSender: W.EventTarget, RTCPeerConnection: W.EventTarget, webkitRTCPeerConnection: W.EventTarget, mozRTCPeerConnection: W.EventTarget, ScreenOrientation: W.EventTarget, Sensor: W.EventTarget, ServiceWorker: W.EventTarget, ServiceWorkerContainer: W.EventTarget, ServiceWorkerRegistration: W.EventTarget, SharedWorker: W.EventTarget, SpeechRecognition: W.EventTarget, SpeechSynthesis: W.EventTarget, SpeechSynthesisUtterance: W.EventTarget, VR: W.EventTarget, VRDevice: W.EventTarget, VRDisplay: W.EventTarget, VRSession: W.EventTarget, VisualViewport: W.EventTarget, Worker: W.EventTarget, WorkerPerformance: W.EventTarget, BluetoothDevice: W.EventTarget, BluetoothRemoteGATTCharacteristic: W.EventTarget, Clipboard: W.EventTarget, MojoInterfaceInterceptor: W.EventTarget, USB: W.EventTarget, IDBDatabase: W.EventTarget, IDBOpenDBRequest: W.EventTarget, IDBVersionChangeRequest: W.EventTarget, IDBRequest: W.EventTarget, IDBTransaction: W.EventTarget, AnalyserNode: W.EventTarget, RealtimeAnalyserNode: W.EventTarget, AudioBufferSourceNode: W.EventTarget, AudioDestinationNode: W.EventTarget, AudioNode: W.EventTarget, AudioScheduledSourceNode: W.EventTarget, AudioWorkletNode: W.EventTarget, BiquadFilterNode: W.EventTarget, ChannelMergerNode: W.EventTarget, AudioChannelMerger: W.EventTarget, ChannelSplitterNode: W.EventTarget, AudioChannelSplitter: W.EventTarget, ConstantSourceNode: W.EventTarget, ConvolverNode: W.EventTarget, DelayNode: W.EventTarget, DynamicsCompressorNode: W.EventTarget, GainNode: W.EventTarget, AudioGainNode: W.EventTarget, IIRFilterNode: W.EventTarget, MediaElementAudioSourceNode: W.EventTarget, MediaStreamAudioDestinationNode: W.EventTarget, MediaStreamAudioSourceNode: W.EventTarget, OscillatorNode: W.EventTarget, Oscillator: W.EventTarget, PannerNode: W.EventTarget, AudioPannerNode: W.EventTarget, webkitAudioPannerNode: W.EventTarget, ScriptProcessorNode: W.EventTarget, JavaScriptAudioNode: W.EventTarget, StereoPannerNode: W.EventTarget, WaveShaperNode: W.EventTarget, EventTarget: W.EventTarget, File: W.File, FileList: W.FileList, FileWriter: W.FileWriter, HTMLFormElement: W.FormElement, Gamepad: W.Gamepad, History: W.History, HTMLCollection: W.HtmlCollection, HTMLFormControlsCollection: W.HtmlCollection, HTMLOptionsCollection: W.HtmlCollection, HTMLDocument: W.HtmlDocument, XMLHttpRequest: W.HttpRequest, XMLHttpRequestUpload: W.HttpRequestEventTarget, XMLHttpRequestEventTarget: W.HttpRequestEventTarget, ImageData: W.ImageData, KeyboardEvent: W.KeyboardEvent, Location: W.Location, MediaList: W.MediaList, MessageEvent: W.MessageEvent, MessagePort: W.MessagePort, MIDIInputMap: W.MidiInputMap, MIDIOutputMap: W.MidiOutputMap, MimeType: W.MimeType, MimeTypeArray: W.MimeTypeArray, DocumentFragment: W.Node, ShadowRoot: W.Node, DocumentType: W.Node, Node: W.Node, NodeList: W.NodeList, RadioNodeList: W.NodeList, Plugin: W.Plugin, PluginArray: W.PluginArray, ProgressEvent: W.ProgressEvent, ResourceProgressEvent: W.ProgressEvent, RTCStatsReport: W.RtcStatsReport, HTMLScriptElement: W.ScriptElement, HTMLSelectElement: W.SelectElement, SourceBuffer: W.SourceBuffer, SourceBufferList: W.SourceBufferList, SpeechGrammar: W.SpeechGrammar, SpeechGrammarList: W.SpeechGrammarList, SpeechRecognitionResult: W.SpeechRecognitionResult, Storage: W.Storage, CSSStyleSheet: W.StyleSheet, StyleSheet: W.StyleSheet, HTMLTableElement: W.TableElement, HTMLTableRowElement: W.TableRowElement, HTMLTableSectionElement: W.TableSectionElement, HTMLTemplateElement: W.TemplateElement, TextTrack: W.TextTrack, TextTrackCue: W.TextTrackCue, VTTCue: W.TextTrackCue, TextTrackCueList: W.TextTrackCueList, TextTrackList: W.TextTrackList, TimeRanges: W.TimeRanges, Touch: W.Touch, TouchList: W.TouchList, TrackDefaultList: W.TrackDefaultList, CompositionEvent: W.UIEvent, FocusEvent: W.UIEvent, MouseEvent: W.UIEvent, DragEvent: W.UIEvent, PointerEvent: W.UIEvent, TextEvent: W.UIEvent, TouchEvent: W.UIEvent, WheelEvent: W.UIEvent, UIEvent: W.UIEvent, URL: W.Url, VideoTrackList: W.VideoTrackList, WebSocket: W.WebSocket, Window: W.Window, DOMWindow: W.Window, DedicatedWorkerGlobalScope: W.WorkerGlobalScope, ServiceWorkerGlobalScope: W.WorkerGlobalScope, SharedWorkerGlobalScope: W.WorkerGlobalScope, WorkerGlobalScope: W.WorkerGlobalScope, Attr: W._Attr, CSSRuleList: W._CssRuleList, ClientRect: W._DomRect, DOMRect: W._DomRect, GamepadList: W._GamepadList, NamedNodeMap: W._NamedNodeMap, MozNamedAttrMap: W._NamedNodeMap, SpeechRecognitionResultList: W._SpeechRecognitionResultList, StyleSheetList: W._StyleSheetList, IDBKeyRange: P.KeyRange, SVGLength: P.Length, SVGLengthList: P.LengthList, SVGNumber: P.Number, SVGNumberList: P.NumberList, SVGPointList: P.PointList, SVGScriptElement: P.ScriptElement0, SVGStringList: P.StringList, SVGAElement: P.SvgElement, SVGAnimateElement: P.SvgElement, SVGAnimateMotionElement: P.SvgElement, SVGAnimateTransformElement: P.SvgElement, SVGAnimationElement: P.SvgElement, SVGCircleElement: P.SvgElement, SVGClipPathElement: P.SvgElement, SVGDefsElement: P.SvgElement, SVGDescElement: P.SvgElement, SVGDiscardElement: P.SvgElement, SVGEllipseElement: P.SvgElement, SVGFEBlendElement: P.SvgElement, SVGFEColorMatrixElement: P.SvgElement, SVGFEComponentTransferElement: P.SvgElement, SVGFECompositeElement: P.SvgElement, SVGFEConvolveMatrixElement: P.SvgElement, SVGFEDiffuseLightingElement: P.SvgElement, SVGFEDisplacementMapElement: P.SvgElement, SVGFEDistantLightElement: P.SvgElement, SVGFEFloodElement: P.SvgElement, SVGFEFuncAElement: P.SvgElement, SVGFEFuncBElement: P.SvgElement, SVGFEFuncGElement: P.SvgElement, SVGFEFuncRElement: P.SvgElement, SVGFEGaussianBlurElement: P.SvgElement, SVGFEImageElement: P.SvgElement, SVGFEMergeElement: P.SvgElement, SVGFEMergeNodeElement: P.SvgElement, SVGFEMorphologyElement: P.SvgElement, SVGFEOffsetElement: P.SvgElement, SVGFEPointLightElement: P.SvgElement, SVGFESpecularLightingElement: P.SvgElement, SVGFESpotLightElement: P.SvgElement, SVGFETileElement: P.SvgElement, SVGFETurbulenceElement: P.SvgElement, SVGFilterElement: P.SvgElement, SVGForeignObjectElement: P.SvgElement, SVGGElement: P.SvgElement, SVGGeometryElement: P.SvgElement, SVGGraphicsElement: P.SvgElement, SVGImageElement: P.SvgElement, SVGLineElement: P.SvgElement, SVGLinearGradientElement: P.SvgElement, SVGMarkerElement: P.SvgElement, SVGMaskElement: P.SvgElement, SVGMetadataElement: P.SvgElement, SVGPathElement: P.SvgElement, SVGPatternElement: P.SvgElement, SVGPolygonElement: P.SvgElement, SVGPolylineElement: P.SvgElement, SVGRadialGradientElement: P.SvgElement, SVGRectElement: P.SvgElement, SVGSetElement: P.SvgElement, SVGStopElement: P.SvgElement, SVGStyleElement: P.SvgElement, SVGSVGElement: P.SvgElement, SVGSwitchElement: P.SvgElement, SVGSymbolElement: P.SvgElement, SVGTSpanElement: P.SvgElement, SVGTextContentElement: P.SvgElement, SVGTextElement: P.SvgElement, SVGTextPathElement: P.SvgElement, SVGTextPositioningElement: P.SvgElement, SVGTitleElement: P.SvgElement, SVGUseElement: P.SvgElement, SVGViewElement: P.SvgElement, SVGGradientElement: P.SvgElement, SVGComponentTransferFunctionElement: P.SvgElement, SVGFEDropShadowElement: P.SvgElement, SVGMPathElement: P.SvgElement, SVGElement: P.SvgElement, SVGTransform: P.Transform, SVGTransformList: P.TransformList, AudioBuffer: P.AudioBuffer, AudioParamMap: P.AudioParamMap, AudioTrackList: P.AudioTrackList, AudioContext: P.BaseAudioContext, webkitAudioContext: P.BaseAudioContext, BaseAudioContext: P.BaseAudioContext, OfflineAudioContext: P.OfflineAudioContext, SQLResultSetRowList: P.SqlResultSetRowList});
+    hunkHelpers.setOrUpdateLeafTags({AnimationEffectReadOnly: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: true, AnimationTimeline: true, AnimationWorkletGlobalScope: true, AuthenticatorAssertionResponse: true, AuthenticatorAttestationResponse: true, AuthenticatorResponse: true, BackgroundFetchFetch: true, BackgroundFetchManager: true, BackgroundFetchSettledFetch: true, BarProp: true, BarcodeDetector: true, BluetoothRemoteGATTDescriptor: true, Body: true, BudgetState: true, CacheStorage: true, CanvasGradient: true, CanvasPattern: true, CanvasRenderingContext2D: true, Client: true, Clients: true, CookieStore: true, Coordinates: true, Credential: true, CredentialUserData: true, CredentialsContainer: true, Crypto: true, CryptoKey: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, DataTransfer: true, DataTransferItem: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DeprecationReport: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: true, DeviceRotationRate: true, DirectoryEntry: true, DirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMError: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, Entry: true, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, DOMFileSystem: true, FontFace: true, FontFaceSource: true, FormData: true, GamepadButton: true, GamepadPose: true, Geolocation: true, Position: true, GeolocationPosition: true, Headers: true, HTMLHyperlinkElementUtils: true, IdleDeadline: true, ImageBitmap: true, ImageBitmapRenderingContext: true, ImageCapture: true, InputDeviceCapabilities: true, IntersectionObserver: true, IntersectionObserverEntry: true, InterventionReport: true, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaDeviceInfo: true, MediaError: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaSession: true, MediaSettingsRange: true, MemoryInfo: true, MessageChannel: true, Metadata: true, MutationObserver: true, WebKitMutationObserver: true, MutationRecord: true, NavigationPreloadManager: true, Navigator: true, NavigatorAutomationInformation: true, NavigatorConcurrentHardware: true, NavigatorCookies: true, NavigatorUserMediaError: true, NodeFilter: true, NodeIterator: true, NonDocumentTypeChildNode: true, NonElementParentNode: true, NoncedElement: true, OffscreenCanvasRenderingContext2D: true, OverconstrainedError: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, PasswordCredential: true, Path2D: true, PaymentAddress: true, PaymentInstruments: true, PaymentManager: true, PaymentResponse: true, PerformanceEntry: true, PerformanceLongTaskTiming: true, PerformanceMark: true, PerformanceMeasure: true, PerformanceNavigation: true, PerformanceNavigationTiming: true, PerformanceObserver: true, PerformanceObserverEntryList: true, PerformancePaintTiming: true, PerformanceResourceTiming: true, PerformanceServerTiming: true, PerformanceTiming: true, Permissions: true, PhotoCapabilities: true, PositionError: true, GeolocationPositionError: true, Presentation: true, PresentationReceiver: true, PublicKeyCredential: true, PushManager: true, PushMessageData: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: true, ReportBody: true, ReportingObserver: true, ResizeObserver: true, ResizeObserverEntry: true, RTCCertificate: true, RTCIceCandidate: true, mozRTCIceCandidate: true, RTCLegacyStatsReport: true, RTCRtpContributingSource: true, RTCRtpReceiver: true, RTCRtpSender: true, RTCSessionDescription: true, mozRTCSessionDescription: true, RTCStatsResponse: true, Screen: true, ScrollState: true, ScrollTimeline: true, Selection: true, SharedArrayBuffer: true, SpeechRecognitionAlternative: true, SpeechSynthesisVoice: true, StaticRange: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncManager: true, TaskAttributionTiming: true, TextDetector: true, TextMetrics: true, TrackDefault: true, TreeWalker: true, TrustedHTML: true, TrustedScriptURL: true, TrustedURL: true, UnderlyingSourceBase: true, URLSearchParams: true, VRCoordinateSystem: true, VRDisplayCapabilities: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: true, VideoTrack: true, VTTRegion: true, WindowClient: true, WorkletAnimation: true, WorkletGlobalScope: true, XPathEvaluator: true, XPathExpression: true, XPathNSResolver: true, XPathResult: true, XMLSerializer: true, XSLTProcessor: true, Bluetooth: true, BluetoothCharacteristicProperties: true, BluetoothRemoteGATTServer: true, BluetoothRemoteGATTService: true, BluetoothUUID: true, BudgetService: true, Cache: true, DOMFileSystemSync: true, DirectoryEntrySync: true, DirectoryReaderSync: true, EntrySync: true, FileEntrySync: true, FileReaderSync: true, FileWriterSync: true, HTMLAllCollection: true, Mojo: true, MojoHandle: true, MojoWatcher: true, NFC: true, PagePopupController: true, Report: true, Request: true, Response: true, SubtleCrypto: true, USBAlternateInterface: true, USBConfiguration: true, USBDevice: true, USBEndpoint: true, USBInTransferResult: true, USBInterface: true, USBIsochronousInTransferPacket: true, USBIsochronousInTransferResult: true, USBIsochronousOutTransferPacket: true, USBIsochronousOutTransferResult: true, USBOutTransferResult: true, WorkerLocation: true, WorkerNavigator: true, Worklet: true, IDBCursor: true, IDBCursorWithValue: true, IDBFactory: true, IDBIndex: true, IDBObjectStore: true, IDBObservation: true, IDBObserver: true, IDBObserverChanges: true, SVGAngle: true, SVGAnimatedAngle: true, SVGAnimatedBoolean: true, SVGAnimatedEnumeration: true, SVGAnimatedInteger: true, SVGAnimatedLength: true, SVGAnimatedLengthList: true, SVGAnimatedNumber: true, SVGAnimatedNumberList: true, SVGAnimatedPreserveAspectRatio: true, SVGAnimatedRect: true, SVGAnimatedString: true, SVGAnimatedTransformList: true, SVGMatrix: true, SVGPoint: true, SVGPreserveAspectRatio: true, SVGRect: true, SVGUnitTypes: true, AudioListener: true, AudioParam: true, AudioTrack: true, AudioWorkletGlobalScope: true, AudioWorkletProcessor: true, PeriodicWave: true, WebGLActiveInfo: true, ANGLEInstancedArrays: true, ANGLE_instanced_arrays: true, WebGLBuffer: true, WebGLCanvas: true, WebGLColorBufferFloat: true, WebGLCompressedTextureASTC: true, WebGLCompressedTextureATC: true, WEBGL_compressed_texture_atc: true, WebGLCompressedTextureETC1: true, WEBGL_compressed_texture_etc1: true, WebGLCompressedTextureETC: true, WebGLCompressedTexturePVRTC: true, WEBGL_compressed_texture_pvrtc: true, WebGLCompressedTextureS3TC: true, WEBGL_compressed_texture_s3tc: true, WebGLCompressedTextureS3TCsRGB: true, WebGLDebugRendererInfo: true, WEBGL_debug_renderer_info: true, WebGLDebugShaders: true, WEBGL_debug_shaders: true, WebGLDepthTexture: true, WEBGL_depth_texture: true, WebGLDrawBuffers: true, WEBGL_draw_buffers: true, EXTsRGB: true, EXT_sRGB: true, EXTBlendMinMax: true, EXT_blend_minmax: true, EXTColorBufferFloat: true, EXTColorBufferHalfFloat: true, EXTDisjointTimerQuery: true, EXTDisjointTimerQueryWebGL2: true, EXTFragDepth: true, EXT_frag_depth: true, EXTShaderTextureLOD: true, EXT_shader_texture_lod: true, EXTTextureFilterAnisotropic: true, EXT_texture_filter_anisotropic: true, WebGLFramebuffer: true, WebGLGetBufferSubDataAsync: true, WebGLLoseContext: true, WebGLExtensionLoseContext: true, WEBGL_lose_context: true, OESElementIndexUint: true, OES_element_index_uint: true, OESStandardDerivatives: true, OES_standard_derivatives: true, OESTextureFloat: true, OES_texture_float: true, OESTextureFloatLinear: true, OES_texture_float_linear: true, OESTextureHalfFloat: true, OES_texture_half_float: true, OESTextureHalfFloatLinear: true, OES_texture_half_float_linear: true, OESVertexArrayObject: true, OES_vertex_array_object: true, WebGLProgram: true, WebGLQuery: true, WebGLRenderbuffer: true, WebGLRenderingContext: true, WebGL2RenderingContext: true, WebGLSampler: true, WebGLShader: true, WebGLShaderPrecisionFormat: true, WebGLSync: true, WebGLTexture: true, WebGLTimerQueryEXT: true, WebGLTransformFeedback: true, WebGLUniformLocation: true, WebGLVertexArrayObject: true, WebGLVertexArrayObjectOES: true, WebGL: true, WebGL2RenderingContextBase: true, Database: true, SQLError: true, SQLResultSet: true, SQLTransaction: true, ArrayBuffer: true, ArrayBufferView: false, DataView: true, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false, HTMLAudioElement: true, HTMLBRElement: true, HTMLButtonElement: true, HTMLCanvasElement: true, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: true, HTMLDivElement: true, HTMLEmbedElement: true, HTMLFieldSetElement: true, HTMLHRElement: true, HTMLHeadElement: true, HTMLHeadingElement: true, HTMLHtmlElement: true, HTMLIFrameElement: true, HTMLImageElement: true, HTMLInputElement: true, HTMLLIElement: true, HTMLLabelElement: true, HTMLLegendElement: true, HTMLLinkElement: true, HTMLMapElement: true, HTMLMediaElement: true, HTMLMenuElement: true, HTMLMetaElement: true, HTMLMeterElement: true, HTMLModElement: true, HTMLOListElement: true, HTMLObjectElement: true, HTMLOptGroupElement: true, HTMLOptionElement: true, HTMLOutputElement: true, HTMLParagraphElement: true, HTMLParamElement: true, HTMLPictureElement: true, HTMLPreElement: true, HTMLProgressElement: true, HTMLQuoteElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTextAreaElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLTrackElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, AccessibleNodeList: true, HTMLAnchorElement: true, HTMLAreaElement: true, HTMLBaseElement: true, Blob: false, HTMLBodyElement: true, CDATASection: true, CharacterData: true, Comment: true, ProcessingInstruction: true, Text: true, CloseEvent: true, CSSPerspective: true, CSSCharsetRule: true, CSSConditionRule: true, CSSFontFaceRule: true, CSSGroupingRule: true, CSSImportRule: true, CSSKeyframeRule: true, MozCSSKeyframeRule: true, WebKitCSSKeyframeRule: true, CSSKeyframesRule: true, MozCSSKeyframesRule: true, WebKitCSSKeyframesRule: true, CSSMediaRule: true, CSSNamespaceRule: true, CSSPageRule: true, CSSRule: true, CSSStyleRule: true, CSSSupportsRule: true, CSSViewportRule: true, CSSStyleDeclaration: true, MSStyleCSSProperties: true, CSS2Properties: true, CSSImageValue: true, CSSKeywordValue: true, CSSNumericValue: true, CSSPositionValue: true, CSSResourceValue: true, CSSUnitValue: true, CSSURLImageValue: true, CSSStyleValue: false, CSSMatrixComponent: true, CSSRotation: true, CSSScale: true, CSSSkew: true, CSSTranslation: true, CSSTransformComponent: false, CSSTransformValue: true, CSSUnparsedValue: true, CustomEvent: true, DataTransferItemList: true, XMLDocument: true, Document: false, DOMException: true, DOMImplementation: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, Element: false, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, MojoInterfaceRequestEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, EventSource: true, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, BroadcastChannel: true, CanvasCaptureMediaStreamTrack: true, FileReader: true, FontFaceSet: true, Gyroscope: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaKeySession: true, MediaQueryList: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MediaStreamTrack: true, MIDIAccess: true, MIDIInput: true, MIDIOutput: true, MIDIPort: true, NetworkInformation: true, Notification: true, OffscreenCanvas: true, OrientationSensor: true, PaymentRequest: true, Performance: true, PermissionStatus: true, PresentationAvailability: true, PresentationConnection: true, PresentationConnectionList: true, PresentationRequest: true, RelativeOrientationSensor: true, RemotePlayback: true, RTCDataChannel: true, DataChannel: true, RTCDTMFSender: true, RTCPeerConnection: true, webkitRTCPeerConnection: true, mozRTCPeerConnection: true, ScreenOrientation: true, Sensor: true, ServiceWorker: true, ServiceWorkerContainer: true, ServiceWorkerRegistration: true, SharedWorker: true, SpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, Worker: true, WorkerPerformance: true, BluetoothDevice: true, BluetoothRemoteGATTCharacteristic: true, Clipboard: true, MojoInterfaceInterceptor: true, USB: true, IDBDatabase: true, IDBOpenDBRequest: true, IDBVersionChangeRequest: true, IDBRequest: true, IDBTransaction: true, AnalyserNode: true, RealtimeAnalyserNode: true, AudioBufferSourceNode: true, AudioDestinationNode: true, AudioNode: true, AudioScheduledSourceNode: true, AudioWorkletNode: true, BiquadFilterNode: true, ChannelMergerNode: true, AudioChannelMerger: true, ChannelSplitterNode: true, AudioChannelSplitter: true, ConstantSourceNode: true, ConvolverNode: true, DelayNode: true, DynamicsCompressorNode: true, GainNode: true, AudioGainNode: true, IIRFilterNode: true, MediaElementAudioSourceNode: true, MediaStreamAudioDestinationNode: true, MediaStreamAudioSourceNode: true, OscillatorNode: true, Oscillator: true, PannerNode: true, AudioPannerNode: true, webkitAudioPannerNode: true, ScriptProcessorNode: true, JavaScriptAudioNode: true, StereoPannerNode: true, WaveShaperNode: true, EventTarget: false, File: true, FileList: true, FileWriter: true, HTMLFormElement: true, Gamepad: true, History: true, HTMLCollection: true, HTMLFormControlsCollection: true, HTMLOptionsCollection: true, HTMLDocument: true, XMLHttpRequest: true, XMLHttpRequestUpload: true, XMLHttpRequestEventTarget: false, ImageData: true, KeyboardEvent: true, Location: true, MediaList: true, MessageEvent: true, MessagePort: true, MIDIInputMap: true, MIDIOutputMap: true, MimeType: true, MimeTypeArray: true, DocumentFragment: true, ShadowRoot: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, Plugin: true, PluginArray: true, ProgressEvent: true, ResourceProgressEvent: true, RTCStatsReport: true, HTMLScriptElement: true, HTMLSelectElement: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionResult: true, Storage: true, CSSStyleSheet: true, StyleSheet: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, TextTrack: true, TextTrackCue: true, VTTCue: true, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchList: true, TrackDefaultList: true, CompositionEvent: true, FocusEvent: true, MouseEvent: true, DragEvent: true, PointerEvent: true, TextEvent: true, TouchEvent: true, WheelEvent: true, UIEvent: false, URL: true, VideoTrackList: true, WebSocket: true, Window: true, DOMWindow: true, DedicatedWorkerGlobalScope: true, ServiceWorkerGlobalScope: true, SharedWorkerGlobalScope: true, WorkerGlobalScope: true, Attr: true, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, IDBKeyRange: true, SVGLength: true, SVGLengthList: true, SVGNumber: true, SVGNumberList: true, SVGPointList: true, SVGScriptElement: true, SVGStringList: true, SVGAElement: true, SVGAnimateElement: true, SVGAnimateMotionElement: true, SVGAnimateTransformElement: true, SVGAnimationElement: true, SVGCircleElement: true, SVGClipPathElement: true, SVGDefsElement: true, SVGDescElement: true, SVGDiscardElement: true, SVGEllipseElement: true, SVGFEBlendElement: true, SVGFEColorMatrixElement: true, SVGFEComponentTransferElement: true, SVGFECompositeElement: true, SVGFEConvolveMatrixElement: true, SVGFEDiffuseLightingElement: true, SVGFEDisplacementMapElement: true, SVGFEDistantLightElement: true, SVGFEFloodElement: true, SVGFEFuncAElement: true, SVGFEFuncBElement: true, SVGFEFuncGElement: true, SVGFEFuncRElement: true, SVGFEGaussianBlurElement: true, SVGFEImageElement: true, SVGFEMergeElement: true, SVGFEMergeNodeElement: true, SVGFEMorphologyElement: true, SVGFEOffsetElement: true, SVGFEPointLightElement: true, SVGFESpecularLightingElement: true, SVGFESpotLightElement: true, SVGFETileElement: true, SVGFETurbulenceElement: true, SVGFilterElement: true, SVGForeignObjectElement: true, SVGGElement: true, SVGGeometryElement: true, SVGGraphicsElement: true, SVGImageElement: true, SVGLineElement: true, SVGLinearGradientElement: true, SVGMarkerElement: true, SVGMaskElement: true, SVGMetadataElement: true, SVGPathElement: true, SVGPatternElement: true, SVGPolygonElement: true, SVGPolylineElement: true, SVGRadialGradientElement: true, SVGRectElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGSVGElement: true, SVGSwitchElement: true, SVGSymbolElement: true, SVGTSpanElement: true, SVGTextContentElement: true, SVGTextElement: true, SVGTextPathElement: true, SVGTextPositioningElement: true, SVGTitleElement: true, SVGUseElement: true, SVGViewElement: true, SVGGradientElement: true, SVGComponentTransferFunctionElement: true, SVGFEDropShadowElement: true, SVGMPathElement: true, SVGElement: false, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true, SQLResultSetRowList: true});
     H.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
     H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
     H._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
@@ -25816,6 +25895,9 @@
   Function.prototype.call$1$4 = function(a, b, c, d) {
     return this(a, b, c, d);
   };
+  Function.prototype.call$2$1 = function(a) {
+    return this(a);
+  };
   Function.prototype.call$2$5 = function(a, b, c, d, e) {
     return this(a, b, c, d, e);
   };
@@ -25825,9 +25907,6 @@
   Function.prototype.call$3$1 = function(a) {
     return this(a);
   };
-  Function.prototype.call$2$1 = function(a) {
-    return this(a);
-  };
   Function.prototype.call$3$4 = function(a, b, c, d) {
     return this(a, b, c, d);
   };
diff --git a/dwds/lib/src/utilities/domain.dart b/dwds/lib/src/utilities/domain.dart
index e8db9d6..1879fda 100644
--- a/dwds/lib/src/utilities/domain.dart
+++ b/dwds/lib/src/utilities/domain.dart
@@ -32,7 +32,8 @@
   /// isolate id.
   Isolate checkIsolate(String methodName, String isolateId) {
     if (isolateId != inspector.isolate?.id) {
-      throwInvalidParam(methodName, 'Unrecognized isolateId: $isolateId');
+      throwSentinel(methodName, SentinelKind.kCollected,
+          'Unrecognized isolateId: $isolateId');
     }
     return inspector.isolate;
   }
@@ -41,4 +42,10 @@
   void throwInvalidParam(String method, String message) {
     throw RPCError(method, RPCError.kInvalidParams, message);
   }
+
+  @alwaysThrows
+  void throwSentinel(String method, String kind, String message) {
+    var data = <String, String>{'kind': kind, 'valueAsString': message};
+    throw SentinelException.parse(method, data);
+  }
 }
diff --git a/dwds/lib/src/version.dart b/dwds/lib/src/version.dart
index ef8d1c0..44b84f8 100644
--- a/dwds/lib/src/version.dart
+++ b/dwds/lib/src/version.dart
@@ -1,2 +1,2 @@
 // Generated code. Do not modify.
-const packageVersion = '11.1.2';
+const packageVersion = '11.2.0-dev';
diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml
index eb0b717..1004ab1 100644
--- a/dwds/pubspec.yaml
+++ b/dwds/pubspec.yaml
@@ -1,6 +1,6 @@
 name: dwds
 # Every time this changes you need to run `pub run build_runner build`.
-version: 11.1.2
+version: 11.2.0-dev
 homepage: https://github.com/dart-lang/webdev/tree/master/dwds
 description: >-
   A service that proxies between the Chrome debug protocol and the Dart VM
diff --git a/dwds/test/chrome_proxy_service_test.dart b/dwds/test/chrome_proxy_service_test.dart
index dae6c84..ee160d2 100644
--- a/dwds/test/chrome_proxy_service_test.dart
+++ b/dwds/test/chrome_proxy_service_test.dart
@@ -107,8 +107,9 @@
         expect(bp.id, isNotNull);
       });
 
-      test('addBreakpointAtEntry', () {
-        expect(() => service.addBreakpointAtEntry(null, null), throwsRPCError);
+      test('addBreakpointAtEntry', () async {
+        await expectLater(
+            service.addBreakpointAtEntry(null, null), throwsRPCError);
       });
 
       test('addBreakpointWithScriptUri', () async {
@@ -136,13 +137,16 @@
         expect(bp.id, isNotNull);
       });
 
-      test('removeBreakpoint null arguments', () {
-        expect(() => service.removeBreakpoint(null, null), throwsRPCError);
+      test('removeBreakpoint null arguments', () async {
+        await expectLater(
+            service.removeBreakpoint(null, null), throwsSentinelException);
+        await expectLater(
+            service.removeBreakpoint(isolate.id, null), throwsRPCError);
       });
 
-      test("removeBreakpoint that doesn't exist fails", () {
-        expect(
-            () => service.removeBreakpoint(isolate.id, '1234'), throwsRPCError);
+      test("removeBreakpoint that doesn't exist fails", () async {
+        await expectLater(
+            service.removeBreakpoint(isolate.id, '1234'), throwsRPCError);
       });
 
       test('add and remove breakpoint', () async {
@@ -204,24 +208,24 @@
     });
 
     group('VMTimeline', () {
-      test('clearVMTimeline', () {
-        expect(() => service.clearVMTimeline(), throwsRPCError);
+      test('clearVMTimeline', () async {
+        await expectLater(service.clearVMTimeline(), throwsRPCError);
       });
 
-      test('getVMTimelineMicros', () {
-        expect(() => service.getVMTimelineMicros(), throwsRPCError);
+      test('getVMTimelineMicros', () async {
+        await expectLater(service.getVMTimelineMicros(), throwsRPCError);
       });
 
-      test('getVMTimeline', () {
-        expect(() => service.getVMTimeline(), throwsRPCError);
+      test('getVMTimeline', () async {
+        await expectLater(service.getVMTimeline(), throwsRPCError);
       });
 
-      test('getVMTimelineFlags', () {
-        expect(() => service.getVMTimelineFlags(), throwsRPCError);
+      test('getVMTimelineFlags', () async {
+        await expectLater(service.getVMTimelineFlags(), throwsRPCError);
       });
 
-      test('setVMTimelineFlags', () {
-        expect(() => service.setVMTimelineFlags(null), throwsRPCError);
+      test('setVMTimelineFlags', () async {
+        await expectLater(service.setVMTimelineFlags(null), throwsRPCError);
       });
     });
 
@@ -336,24 +340,25 @@
       });
     });
 
-    test('evaluateInFrame', () {
-      expect(() => service.evaluateInFrame(null, null, null), throwsRPCError);
+    test('evaluateInFrame', () async {
+      await expectLater(
+          service.evaluateInFrame(null, null, null), throwsRPCError);
     });
 
-    test('getAllocationProfile', () {
-      expect(() => service.getAllocationProfile(null), throwsRPCError);
+    test('getAllocationProfile', () async {
+      await expectLater(service.getAllocationProfile(null), throwsRPCError);
     });
 
-    test('getClassList', () {
-      expect(() => service.getClassList(null), throwsRPCError);
+    test('getClassList', () async {
+      await expectLater(service.getClassList(null), throwsRPCError);
     });
 
     test('getFlagList', () async {
       expect(await service.getFlagList(), isA<FlagList>());
     });
 
-    test('getInstances', () {
-      expect(() => service.getInstances(null, null, null), throwsRPCError);
+    test('getInstances', () async {
+      await expectLater(service.getInstances(null, null, null), throwsRPCError);
     });
 
     group('getIsolate', () {
@@ -653,16 +658,16 @@
         var vm = await service.getVM();
         var isolateId = vm.isolates.first.id;
 
-        expect(() => service.getSourceReport(isolateId, ['Coverage']),
-            throwsRPCError);
+        await expectLater(
+            service.getSourceReport(isolateId, ['Coverage']), throwsRPCError);
       });
 
       test('report type not understood', () async {
         var vm = await service.getVM();
         var isolateId = vm.isolates.first.id;
 
-        expect(() => service.getSourceReport(isolateId, ['FooBar']),
-            throwsRPCError);
+        await expectLater(
+            service.getSourceReport(isolateId, ['FooBar']), throwsRPCError);
       });
 
       test('PossibleBreakpoints report', () async {
@@ -804,25 +809,28 @@
             .firstWhere((each) => each.uri.contains('main.dart'));
       });
 
-      test('returns null if not paused', () async {
-        expect(await service.getStack(isolateId), isNull);
-      }, onPlatform: {'windows': const Skip('issues/721')});
+      test('throws if not paused', () async {
+        await expectLater(service.getStack(isolateId), throwsRPCError);
+      });
 
       /// Support function for pausing and returning the stack at a line.
       Future<Stack> breakAt(String breakpointId, {int limit}) async {
-        var lineNumber = await context.findBreakpointLine(
+        var line = await context.findBreakpointLine(
             breakpointId, isolateId, mainScript);
-        var bp =
-            await service.addBreakpoint(isolateId, mainScript.id, lineNumber);
-        // Wait for breakpoint to trigger.
-        await stream
-            .firstWhere((event) => event.kind == EventKind.kPauseBreakpoint);
-        // Remove breakpoint so it doesn't impact other tests.
-        await service.removeBreakpoint(isolateId, bp.id);
-        var stack = await service.getStack(isolateId, limit: limit);
-        // Resume as to not impact other tests.
-        await service.resume(isolateId);
-        return stack;
+        Breakpoint bp;
+        try {
+          bp = await service.addBreakpoint(isolateId, mainScript.id, line);
+          // Wait for breakpoint to trigger.
+          await stream
+              .firstWhere((event) => event.kind == EventKind.kPauseBreakpoint);
+          return await service.getStack(isolateId, limit: limit);
+        } finally {
+          // Remove breakpoint and resume so it doesn't impact other tests.
+          if (bp != null) {
+            await service.removeBreakpoint(isolateId, bp.id);
+          }
+          await service.resume(isolateId);
+        }
       }
 
       test('returns stack when broken', () async {
@@ -1048,11 +1056,11 @@
       });
     });
 
-    test('kill', () {
-      expect(() => service.kill(null), throwsRPCError);
+    test('kill', () async {
+      await expectLater(service.kill(null), throwsRPCError);
     });
 
-    test('onEvent', () {
+    test('onEvent', () async {
       expect(() => service.onEvent(null), throwsRPCError);
     });
 
@@ -1085,21 +1093,22 @@
     });
 
     test('getInboundReferences', () async {
-      expect(
-          () => service.getInboundReferences(null, null, null), throwsRPCError);
+      await expectLater(
+          service.getInboundReferences(null, null, null), throwsRPCError);
     });
 
     test('getRetainingPath', () async {
-      expect(() => service.getRetainingPath(null, null, null), throwsRPCError);
+      await expectLater(
+          service.getRetainingPath(null, null, null), throwsRPCError);
     });
 
     test('registerService', () async {
-      expect(
-          () => service.registerService('ext.foo.bar', null), throwsRPCError);
+      await expectLater(
+          service.registerService('ext.foo.bar', null), throwsRPCError);
     });
 
-    test('reloadSources', () {
-      expect(() => service.reloadSources(null), throwsRPCError);
+    test('reloadSources', () async {
+      await expectLater(service.reloadSources(null), throwsRPCError);
     });
 
     test('setExceptionPauseMode', () async {
@@ -1111,17 +1120,17 @@
       // Make sure this is the last one - or future tests might hang.
       expect(
           await service.setExceptionPauseMode(isolateId, 'none'), _isSuccess);
-      expect(
+      await expectLater(
           service.setExceptionPauseMode(isolateId, 'invalid'), throwsRPCError);
     });
 
-    test('setFlag', () {
-      expect(() => service.setFlag(null, null), throwsRPCError);
+    test('setFlag', () async {
+      await expectLater(service.setFlag(null, null), throwsRPCError);
     });
 
-    test('setLibraryDebuggable', () {
-      expect(
-          () => service.setLibraryDebuggable(null, null, null), throwsRPCError);
+    test('setLibraryDebuggable', () async {
+      await expectLater(
+          service.setLibraryDebuggable(null, null, null), throwsRPCError);
     });
 
     test('setName', () async {
@@ -1138,8 +1147,8 @@
       expect(vm.name, 'foo');
     });
 
-    test('streamCancel', () {
-      expect(() => service.streamCancel(null), throwsRPCError);
+    test('streamCancel', () async {
+      await expectLater(service.streamCancel(null), throwsRPCError);
     });
 
     group('streamListen/onEvent', () {
diff --git a/dwds/test/fixtures/context.dart b/dwds/test/fixtures/context.dart
index 4841f4b..2ca1d04 100644
--- a/dwds/test/fixtures/context.dart
+++ b/dwds/test/fixtures/context.dart
@@ -36,8 +36,10 @@
 final _exeExt = Platform.isWindows ? '.exe' : '';
 
 const isRPCError = TypeMatcher<RPCError>();
+const isSentinelException = TypeMatcher<SentinelException>();
 
 final Matcher throwsRPCError = throwsA(isRPCError);
+final Matcher throwsSentinelException = throwsA(isSentinelException);
 
 enum CompilationMode { buildDaemon, frontendServer }