From 1ad4008a6fee8ffd2db7013168aa9d613062e7ab Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Fri, 3 Nov 2023 16:37:32 -0700
Subject: [PATCH 01/16] Update with code from google3 prototype

---
 dwds/lib/data/connect_request.dart            |    6 +-
 dwds/lib/data/connect_request.g.dart          |   90 +-
 .../lib/data/register_entrypoint_request.dart |   27 +
 .../data/register_entrypoint_request.g.dart   |  173 ++
 dwds/lib/data/serializers.dart                |    2 +
 dwds/lib/data/serializers.g.dart              |    6 +-
 dwds/lib/src/debugging/inspector.dart         |   17 +-
 dwds/lib/src/debugging/libraries.dart         |    2 +-
 dwds/lib/src/debugging/location.dart          |   12 +-
 dwds/lib/src/debugging/metadata/provider.dart |   94 +-
 dwds/lib/src/debugging/modules.dart           |    8 +-
 dwds/lib/src/handlers/dev_handler.dart        |   20 +
 dwds/lib/src/handlers/injector.dart           |   69 +-
 dwds/lib/src/injected/client.js               | 1623 +++++++++++------
 .../lib/src/loaders/build_runner_require.dart |    4 +-
 dwds/lib/src/loaders/legacy.dart              |    2 +-
 dwds/lib/src/loaders/strategy.dart            |   22 +-
 .../batched_expression_evaluator.dart         |    4 +-
 .../src/services/chrome_proxy_service.dart    |   74 +-
 .../src/services/expression_evaluator.dart    |    6 +-
 dwds/web/client.dart                          |  558 +++---
 21 files changed, 1892 insertions(+), 927 deletions(-)
 create mode 100644 dwds/lib/data/register_entrypoint_request.dart
 create mode 100644 dwds/lib/data/register_entrypoint_request.g.dart

diff --git a/dwds/lib/data/connect_request.dart b/dwds/lib/data/connect_request.dart
index 23ee5364f..57d383593 100644
--- a/dwds/lib/data/connect_request.dart
+++ b/dwds/lib/data/connect_request.dart
@@ -2,6 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'package:built_collection/built_collection.dart';
 import 'package:built_value/built_value.dart';
 import 'package:built_value/serializer.dart';
 
@@ -18,6 +19,9 @@ abstract class ConnectRequest
 
   ConnectRequest._();
 
+  /// Whole app name.
+  String get appName;
+
   /// Identifies a given application, across tabs/windows.
   String get appId;
 
@@ -25,5 +29,5 @@ abstract class ConnectRequest
   String get instanceId;
 
   /// The entrypoint for the Dart application.
-  String get entrypointPath;
+  BuiltList<String> get entrypoints;
 }
diff --git a/dwds/lib/data/connect_request.g.dart b/dwds/lib/data/connect_request.g.dart
index ab1ff180b..d83344480 100644
--- a/dwds/lib/data/connect_request.g.dart
+++ b/dwds/lib/data/connect_request.g.dart
@@ -20,15 +20,19 @@ class _$ConnectRequestSerializer
   Iterable<Object?> serialize(Serializers serializers, ConnectRequest object,
       {FullType specifiedType = FullType.unspecified}) {
     final result = <Object?>[
+      'appName',
+      serializers.serialize(object.appName,
+          specifiedType: const FullType(String)),
       'appId',
       serializers.serialize(object.appId,
           specifiedType: const FullType(String)),
       'instanceId',
       serializers.serialize(object.instanceId,
           specifiedType: const FullType(String)),
-      'entrypointPath',
-      serializers.serialize(object.entrypointPath,
-          specifiedType: const FullType(String)),
+      'entrypoints',
+      serializers.serialize(object.entrypoints,
+          specifiedType:
+              const FullType(BuiltList, const [const FullType(String)])),
     ];
 
     return result;
@@ -46,6 +50,10 @@ class _$ConnectRequestSerializer
       iterator.moveNext();
       final Object? value = iterator.current;
       switch (key) {
+        case 'appName':
+          result.appName = serializers.deserialize(value,
+              specifiedType: const FullType(String))! as String;
+          break;
         case 'appId':
           result.appId = serializers.deserialize(value,
               specifiedType: const FullType(String))! as String;
@@ -54,9 +62,11 @@ class _$ConnectRequestSerializer
           result.instanceId = serializers.deserialize(value,
               specifiedType: const FullType(String))! as String;
           break;
-        case 'entrypointPath':
-          result.entrypointPath = serializers.deserialize(value,
-              specifiedType: const FullType(String))! as String;
+        case 'entrypoints':
+          result.entrypoints.replace(serializers.deserialize(value,
+                  specifiedType: const FullType(
+                      BuiltList, const [const FullType(String)]))!
+              as BuiltList<Object?>);
           break;
       }
     }
@@ -66,26 +76,31 @@ class _$ConnectRequestSerializer
 }
 
 class _$ConnectRequest extends ConnectRequest {
+  @override
+  final String appName;
   @override
   final String appId;
   @override
   final String instanceId;
   @override
-  final String entrypointPath;
+  final BuiltList<String> entrypoints;
 
   factory _$ConnectRequest([void Function(ConnectRequestBuilder)? updates]) =>
       (new ConnectRequestBuilder()..update(updates))._build();
 
   _$ConnectRequest._(
-      {required this.appId,
+      {required this.appName,
+      required this.appId,
       required this.instanceId,
-      required this.entrypointPath})
+      required this.entrypoints})
       : super._() {
+    BuiltValueNullFieldError.checkNotNull(
+        appName, r'ConnectRequest', 'appName');
     BuiltValueNullFieldError.checkNotNull(appId, r'ConnectRequest', 'appId');
     BuiltValueNullFieldError.checkNotNull(
         instanceId, r'ConnectRequest', 'instanceId');
     BuiltValueNullFieldError.checkNotNull(
-        entrypointPath, r'ConnectRequest', 'entrypointPath');
+        entrypoints, r'ConnectRequest', 'entrypoints');
   }
 
   @override
@@ -100,17 +115,19 @@ class _$ConnectRequest extends ConnectRequest {
   bool operator ==(Object other) {
     if (identical(other, this)) return true;
     return other is ConnectRequest &&
+        appName == other.appName &&
         appId == other.appId &&
         instanceId == other.instanceId &&
-        entrypointPath == other.entrypointPath;
+        entrypoints == other.entrypoints;
   }
 
   @override
   int get hashCode {
     var _$hash = 0;
+    _$hash = $jc(_$hash, appName.hashCode);
     _$hash = $jc(_$hash, appId.hashCode);
     _$hash = $jc(_$hash, instanceId.hashCode);
-    _$hash = $jc(_$hash, entrypointPath.hashCode);
+    _$hash = $jc(_$hash, entrypoints.hashCode);
     _$hash = $jf(_$hash);
     return _$hash;
   }
@@ -118,9 +135,10 @@ class _$ConnectRequest extends ConnectRequest {
   @override
   String toString() {
     return (newBuiltValueToStringHelper(r'ConnectRequest')
+          ..add('appName', appName)
           ..add('appId', appId)
           ..add('instanceId', instanceId)
-          ..add('entrypointPath', entrypointPath))
+          ..add('entrypoints', entrypoints))
         .toString();
   }
 }
@@ -129,6 +147,10 @@ class ConnectRequestBuilder
     implements Builder<ConnectRequest, ConnectRequestBuilder> {
   _$ConnectRequest? _$v;
 
+  String? _appName;
+  String? get appName => _$this._appName;
+  set appName(String? appName) => _$this._appName = appName;
+
   String? _appId;
   String? get appId => _$this._appId;
   set appId(String? appId) => _$this._appId = appId;
@@ -137,19 +159,21 @@ class ConnectRequestBuilder
   String? get instanceId => _$this._instanceId;
   set instanceId(String? instanceId) => _$this._instanceId = instanceId;
 
-  String? _entrypointPath;
-  String? get entrypointPath => _$this._entrypointPath;
-  set entrypointPath(String? entrypointPath) =>
-      _$this._entrypointPath = entrypointPath;
+  ListBuilder<String>? _entrypoints;
+  ListBuilder<String> get entrypoints =>
+      _$this._entrypoints ??= new ListBuilder<String>();
+  set entrypoints(ListBuilder<String>? entrypoints) =>
+      _$this._entrypoints = entrypoints;
 
   ConnectRequestBuilder();
 
   ConnectRequestBuilder get _$this {
     final $v = _$v;
     if ($v != null) {
+      _appName = $v.appName;
       _appId = $v.appId;
       _instanceId = $v.instanceId;
-      _entrypointPath = $v.entrypointPath;
+      _entrypoints = $v.entrypoints.toBuilder();
       _$v = null;
     }
     return this;
@@ -170,14 +194,28 @@ class ConnectRequestBuilder
   ConnectRequest build() => _build();
 
   _$ConnectRequest _build() {
-    final _$result = _$v ??
-        new _$ConnectRequest._(
-            appId: BuiltValueNullFieldError.checkNotNull(
-                appId, r'ConnectRequest', 'appId'),
-            instanceId: BuiltValueNullFieldError.checkNotNull(
-                instanceId, r'ConnectRequest', 'instanceId'),
-            entrypointPath: BuiltValueNullFieldError.checkNotNull(
-                entrypointPath, r'ConnectRequest', 'entrypointPath'));
+    _$ConnectRequest _$result;
+    try {
+      _$result = _$v ??
+          new _$ConnectRequest._(
+              appName: BuiltValueNullFieldError.checkNotNull(
+                  appName, r'ConnectRequest', 'appName'),
+              appId: BuiltValueNullFieldError.checkNotNull(
+                  appId, r'ConnectRequest', 'appId'),
+              instanceId: BuiltValueNullFieldError.checkNotNull(
+                  instanceId, r'ConnectRequest', 'instanceId'),
+              entrypoints: entrypoints.build());
+    } catch (_) {
+      late String _$failedField;
+      try {
+        _$failedField = 'entrypoints';
+        entrypoints.build();
+      } catch (e) {
+        throw new BuiltValueNestedFieldError(
+            r'ConnectRequest', _$failedField, e.toString());
+      }
+      rethrow;
+    }
     replace(_$result);
     return _$result;
   }
diff --git a/dwds/lib/data/register_entrypoint_request.dart b/dwds/lib/data/register_entrypoint_request.dart
new file mode 100644
index 000000000..126ae0a09
--- /dev/null
+++ b/dwds/lib/data/register_entrypoint_request.dart
@@ -0,0 +1,27 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:built_value/built_value.dart';
+import 'package:built_value/serializer.dart';
+
+part 'register_entrypoint_request.g.dart';
+
+/// A request to load entrypoint metadata.
+abstract class RegisterEntrypointRequest
+    implements
+        Built<RegisterEntrypointRequest, RegisterEntrypointRequestBuilder> {
+  static Serializer<RegisterEntrypointRequest> get serializer =>
+      _$registerEntrypointRequestSerializer;
+
+  factory RegisterEntrypointRequest(
+          [Function(RegisterEntrypointRequestBuilder) updates]) =
+      _$RegisterEntrypointRequest;
+
+  RegisterEntrypointRequest._();
+
+  String get appName;
+
+  /// The entrypoint for the Dart application.
+  String get entrypointPath;
+}
diff --git a/dwds/lib/data/register_entrypoint_request.g.dart b/dwds/lib/data/register_entrypoint_request.g.dart
new file mode 100644
index 000000000..ff6c75448
--- /dev/null
+++ b/dwds/lib/data/register_entrypoint_request.g.dart
@@ -0,0 +1,173 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'register_entrypoint_request.dart';
+
+// **************************************************************************
+// BuiltValueGenerator
+// **************************************************************************
+
+Serializer<RegisterEntrypointRequest> _$registerEntrypointRequestSerializer =
+    new _$RegisterEntrypointRequestSerializer();
+
+class _$RegisterEntrypointRequestSerializer
+    implements StructuredSerializer<RegisterEntrypointRequest> {
+  @override
+  final Iterable<Type> types = const [
+    RegisterEntrypointRequest,
+    _$RegisterEntrypointRequest
+  ];
+  @override
+  final String wireName = 'RegisterEntrypointRequest';
+
+  @override
+  Iterable<Object?> serialize(
+      Serializers serializers, RegisterEntrypointRequest object,
+      {FullType specifiedType = FullType.unspecified}) {
+    final result = <Object?>[
+      'appName',
+      serializers.serialize(object.appName,
+          specifiedType: const FullType(String)),
+      'entrypointPath',
+      serializers.serialize(object.entrypointPath,
+          specifiedType: const FullType(String)),
+    ];
+
+    return result;
+  }
+
+  @override
+  RegisterEntrypointRequest deserialize(
+      Serializers serializers, Iterable<Object?> serialized,
+      {FullType specifiedType = FullType.unspecified}) {
+    final result = new RegisterEntrypointRequestBuilder();
+
+    final iterator = serialized.iterator;
+    while (iterator.moveNext()) {
+      final key = iterator.current! as String;
+      iterator.moveNext();
+      final Object? value = iterator.current;
+      switch (key) {
+        case 'appName':
+          result.appName = serializers.deserialize(value,
+              specifiedType: const FullType(String))! as String;
+          break;
+        case 'entrypointPath':
+          result.entrypointPath = serializers.deserialize(value,
+              specifiedType: const FullType(String))! as String;
+          break;
+      }
+    }
+
+    return result.build();
+  }
+}
+
+class _$RegisterEntrypointRequest extends RegisterEntrypointRequest {
+  @override
+  final String appName;
+  @override
+  final String entrypointPath;
+
+  factory _$RegisterEntrypointRequest(
+          [void Function(RegisterEntrypointRequestBuilder)? updates]) =>
+      (new RegisterEntrypointRequestBuilder()..update(updates))._build();
+
+  _$RegisterEntrypointRequest._(
+      {required this.appName, required this.entrypointPath})
+      : super._() {
+    BuiltValueNullFieldError.checkNotNull(
+        appName, r'RegisterEntrypointRequest', 'appName');
+    BuiltValueNullFieldError.checkNotNull(
+        entrypointPath, r'RegisterEntrypointRequest', 'entrypointPath');
+  }
+
+  @override
+  RegisterEntrypointRequest rebuild(
+          void Function(RegisterEntrypointRequestBuilder) updates) =>
+      (toBuilder()..update(updates)).build();
+
+  @override
+  RegisterEntrypointRequestBuilder toBuilder() =>
+      new RegisterEntrypointRequestBuilder()..replace(this);
+
+  @override
+  bool operator ==(Object other) {
+    if (identical(other, this)) return true;
+    return other is RegisterEntrypointRequest &&
+        appName == other.appName &&
+        entrypointPath == other.entrypointPath;
+  }
+
+  @override
+  int get hashCode {
+    var _$hash = 0;
+    _$hash = $jc(_$hash, appName.hashCode);
+    _$hash = $jc(_$hash, entrypointPath.hashCode);
+    _$hash = $jf(_$hash);
+    return _$hash;
+  }
+
+  @override
+  String toString() {
+    return (newBuiltValueToStringHelper(r'RegisterEntrypointRequest')
+          ..add('appName', appName)
+          ..add('entrypointPath', entrypointPath))
+        .toString();
+  }
+}
+
+class RegisterEntrypointRequestBuilder
+    implements
+        Builder<RegisterEntrypointRequest, RegisterEntrypointRequestBuilder> {
+  _$RegisterEntrypointRequest? _$v;
+
+  String? _appName;
+  String? get appName => _$this._appName;
+  set appName(String? appName) => _$this._appName = appName;
+
+  String? _entrypointPath;
+  String? get entrypointPath => _$this._entrypointPath;
+  set entrypointPath(String? entrypointPath) =>
+      _$this._entrypointPath = entrypointPath;
+
+  RegisterEntrypointRequestBuilder();
+
+  RegisterEntrypointRequestBuilder get _$this {
+    final $v = _$v;
+    if ($v != null) {
+      _appName = $v.appName;
+      _entrypointPath = $v.entrypointPath;
+      _$v = null;
+    }
+    return this;
+  }
+
+  @override
+  void replace(RegisterEntrypointRequest other) {
+    ArgumentError.checkNotNull(other, 'other');
+    _$v = other as _$RegisterEntrypointRequest;
+  }
+
+  @override
+  void update(void Function(RegisterEntrypointRequestBuilder)? updates) {
+    if (updates != null) updates(this);
+  }
+
+  @override
+  RegisterEntrypointRequest build() => _build();
+
+  _$RegisterEntrypointRequest _build() {
+    final _$result = _$v ??
+        new _$RegisterEntrypointRequest._(
+            appName: BuiltValueNullFieldError.checkNotNull(
+                appName, r'RegisterEntrypointRequest', 'appName'),
+            entrypointPath: BuiltValueNullFieldError.checkNotNull(
+                entrypointPath,
+                r'RegisterEntrypointRequest',
+                'entrypointPath'));
+    replace(_$result);
+    return _$result;
+  }
+}
+
+// ignore_for_file: deprecated_member_use_from_same_package,type=lint
diff --git a/dwds/lib/data/serializers.dart b/dwds/lib/data/serializers.dart
index 25f4e2af2..eb70929d2 100644
--- a/dwds/lib/data/serializers.dart
+++ b/dwds/lib/data/serializers.dart
@@ -13,6 +13,7 @@ import 'devtools_request.dart';
 import 'error_response.dart';
 import 'extension_request.dart';
 import 'isolate_events.dart';
+import 'register_entrypoint_request.dart';
 import 'register_event.dart';
 import 'run_request.dart';
 
@@ -34,6 +35,7 @@ part 'serializers.g.dart';
   ExtensionResponse,
   ExtensionEvent,
   ErrorResponse,
+  RegisterEntrypointRequest,
   RegisterEvent,
   RunRequest,
 ])
diff --git a/dwds/lib/data/serializers.g.dart b/dwds/lib/data/serializers.g.dart
index 584ce7e34..6af553f62 100644
--- a/dwds/lib/data/serializers.g.dart
+++ b/dwds/lib/data/serializers.g.dart
@@ -22,6 +22,7 @@ Serializers _$serializers = (new Serializers().toBuilder()
       ..add(ExtensionResponse.serializer)
       ..add(IsolateExit.serializer)
       ..add(IsolateStart.serializer)
+      ..add(RegisterEntrypointRequest.serializer)
       ..add(RegisterEvent.serializer)
       ..add(RunRequest.serializer)
       ..addBuilderFactory(
@@ -29,7 +30,10 @@ Serializers _$serializers = (new Serializers().toBuilder()
           () => new ListBuilder<DebugEvent>())
       ..addBuilderFactory(
           const FullType(BuiltList, const [const FullType(ExtensionEvent)]),
-          () => new ListBuilder<ExtensionEvent>()))
+          () => new ListBuilder<ExtensionEvent>())
+      ..addBuilderFactory(
+          const FullType(BuiltList, const [const FullType(String)]),
+          () => new ListBuilder<String>()))
     .build();
 
 // ignore_for_file: deprecated_member_use_from_same_package,type=lint
diff --git a/dwds/lib/src/debugging/inspector.dart b/dwds/lib/src/debugging/inspector.dart
index 744435de7..9906e637e 100644
--- a/dwds/lib/src/debugging/inspector.dart
+++ b/dwds/lib/src/debugging/inspector.dart
@@ -32,7 +32,7 @@ import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart';
 /// Provides information about currently loaded scripts and objects and support
 /// for eval.
 class AppInspector implements AppInspectorInterface {
-  final _scriptCacheMemoizer = AsyncMemoizer<List<ScriptRef>>();
+  late AsyncMemoizer<List<ScriptRef>> _scriptCacheMemoizer;
 
   Future<List<ScriptRef>> get scriptRefs => _populateScriptCaches();
 
@@ -106,6 +106,7 @@ class AppInspector implements AppInspectorInterface {
   }
 
   Future<void> initialize() async {
+    _scriptCacheMemoizer = AsyncMemoizer<List<ScriptRef>>();
     final libraries = await _libraryHelper.libraryRefs;
     isolate.rootLib = await _libraryHelper.rootLib;
     isolate.libraries?.addAll(libraries);
@@ -121,6 +122,18 @@ class AppInspector implements AppInspectorInterface {
     isolate.extensionRPCs?.addAll(await _getExtensionRpcs());
   }
 
+  Future<void> registerEntrypoint(
+    String appName,
+    String entrypoint,
+    Debugger debugger,
+  ) {
+    // TODO: incremental update?
+    _libraryHelper = LibraryHelper(this);
+    _classHelper = ClassHelper(this);
+    _instanceHelper = InstanceHelper(this);
+    return initialize();
+  }
+
   static IsolateRef _toIsolateRef(Isolate isolate) => IsolateRef(
         id: isolate.id,
         name: isolate.name,
@@ -696,7 +709,7 @@ class AppInspector implements AppInspectorInterface {
   Future<List<ScriptRef>> _populateScriptCaches() {
     return _scriptCacheMemoizer.runOnce(() async {
       final scripts = await globalToolConfiguration.loadStrategy
-          .metadataProviderFor(appConnection.request.entrypointPath)
+          .metadataProviderFor(appConnection.request.appName)
           .scripts;
       // For all the non-dart: libraries, find their parts and create scriptRefs
       // for them.
diff --git a/dwds/lib/src/debugging/libraries.dart b/dwds/lib/src/debugging/libraries.dart
index a4cb69932..070b9e6f9 100644
--- a/dwds/lib/src/debugging/libraries.dart
+++ b/dwds/lib/src/debugging/libraries.dart
@@ -54,7 +54,7 @@ class LibraryHelper extends Domain {
   Future<List<LibraryRef>> get libraryRefs async {
     if (_libraryRefsById.isNotEmpty) return _libraryRefsById.values.toList();
     final libraries = await globalToolConfiguration.loadStrategy
-        .metadataProviderFor(inspector.appConnection.request.entrypointPath)
+        .metadataProviderFor(inspector.appConnection.request.appName)
         .libraries;
     for (var library in libraries) {
       _libraryRefsById[library] =
diff --git a/dwds/lib/src/debugging/location.dart b/dwds/lib/src/debugging/location.dart
index 26c954ed2..60fc6d7dc 100644
--- a/dwds/lib/src/debugging/location.dart
+++ b/dwds/lib/src/debugging/location.dart
@@ -146,18 +146,18 @@ class Locations {
   final Modules _modules;
   final String _root;
 
-  late String _entrypoint;
+  late String _appName;
 
   Locations(this._assetReader, this._modules, this._root);
 
   Modules get modules => _modules;
 
-  void initialize(String entrypoint) {
+  void initialize(String appName) {
     _sourceToTokenPosTable.clear();
     _sourceToLocation.clear();
     _locationMemoizer.clear();
     _moduleToLocations.clear();
-    _entrypoint = entrypoint;
+    _appName = appName;
   }
 
   /// Returns all [Location] data for a provided Dart source.
@@ -178,7 +178,7 @@ class Locations {
     final dartUri = DartUri(url, _root);
     final serverPath = dartUri.serverPath;
     final module = await globalToolConfiguration.loadStrategy
-        .moduleForServerPath(_entrypoint, serverPath);
+        .moduleForServerPath(_appName, serverPath);
 
     final cache = _moduleToLocations[module];
     if (cache != null) return cache;
@@ -304,13 +304,13 @@ class Locations {
         return result;
       }
       final modulePath = await globalToolConfiguration.loadStrategy
-          .serverPathForModule(_entrypoint, module);
+          .serverPathForModule(_appName, module);
       if (modulePath == null) {
         _logger.warning('No module path for module: $module');
         return result;
       }
       final sourceMapPath = await globalToolConfiguration.loadStrategy
-          .sourceMapPathForModule(_entrypoint, module);
+          .sourceMapPathForModule(_appName, module);
       if (sourceMapPath == null) {
         _logger.warning('No sourceMap path for module: $module');
         return result;
diff --git a/dwds/lib/src/debugging/metadata/provider.dart b/dwds/lib/src/debugging/metadata/provider.dart
index 677bde885..1c4499841 100644
--- a/dwds/lib/src/debugging/metadata/provider.dart
+++ b/dwds/lib/src/debugging/metadata/provider.dart
@@ -2,9 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'dart:async';
 import 'dart:convert';
 
-import 'package:async/async.dart';
 import 'package:dwds/src/debugging/metadata/module_metadata.dart';
 import 'package:dwds/src/readers/asset_reader.dart';
 import 'package:logging/logging.dart';
@@ -14,7 +14,7 @@ import 'package:path/path.dart' as p;
 class MetadataProvider {
   final AssetReader _assetReader;
   final _logger = Logger('MetadataProvider');
-  final String entrypoint;
+  final String appName;
   bool _soundNullSafety;
   final List<String> _libraries = [];
   final Map<String, String> _scriptToModule = {};
@@ -22,7 +22,11 @@ class MetadataProvider {
   final Map<String, String> _modulePathToModule = {};
   final Map<String, String> _moduleToModulePath = {};
   final Map<String, List<String>> _scripts = {};
-  final _metadataMemoizer = AsyncMemoizer();
+
+  final _mainEntrypointCompleter = Completer<String>();
+  Future<String> get mainEntrypoint => _mainEntrypointCompleter.future;
+
+  final _entryPoints = <String, Future<void>>{};
 
   /// Implicitly imported libraries in any DDC component.
   ///
@@ -64,8 +68,7 @@ class MetadataProvider {
         'dart:ui',
       ];
 
-  MetadataProvider(this.entrypoint, this._assetReader)
-      : _soundNullSafety = false;
+  MetadataProvider(this.appName, this._assetReader) : _soundNullSafety = false;
 
   /// A sound null safety mode for the whole app.
   ///
@@ -176,44 +179,55 @@ class MetadataProvider {
   }
 
   Future<void> _initialize() async {
-    await _metadataMemoizer.runOnce(() async {
-      var hasSoundNullSafety = true;
-      var hasUnsoundNullSafety = true;
-      // The merged metadata resides next to the entrypoint.
-      // Assume that <name>.bootstrap.js has <name>.ddc_merged_metadata
-      if (entrypoint.endsWith('.bootstrap.js')) {
-        _logger.info('Loading debug metadata...');
-        final serverPath =
-            entrypoint.replaceAll('.bootstrap.js', '.ddc_merged_metadata');
-        final merged = await _assetReader.metadataContents(serverPath);
-        if (merged != null) {
-          _addSdkMetadata();
-          for (var contents in merged.split('\n')) {
-            try {
-              if (contents.isEmpty ||
-                  contents.startsWith('// intentionally empty:')) continue;
-              final moduleJson = json.decode(contents);
-              final metadata =
-                  ModuleMetadata.fromJson(moduleJson as Map<String, dynamic>);
-              _addMetadata(metadata);
-              hasUnsoundNullSafety &= !metadata.soundNullSafety;
-              hasSoundNullSafety &= metadata.soundNullSafety;
-              _logger
-                  .fine('Loaded debug metadata for module: ${metadata.name}');
-            } catch (e) {
-              _logger.warning('Failed to read metadata: $e');
-              rethrow;
-            }
-          }
-          if (!hasSoundNullSafety && !hasUnsoundNullSafety) {
-            throw Exception('Metadata contains modules with mixed null safety');
+    // TODO: run in a sequence? not sure if there are races.
+    await mainEntrypoint;
+    await Future.wait(_entryPoints.values);
+  }
+
+  void update(String entrypoint) {
+    // The first registered entrypoint is the main one.
+    if (!_mainEntrypointCompleter.isCompleted) {
+      _mainEntrypointCompleter.complete(entrypoint);
+    }
+    _entryPoints.putIfAbsent(entrypoint, () => _update(entrypoint));
+  }
+
+  Future<void> _update(String entrypoint) async {
+    var hasSoundNullSafety = true;
+    var hasUnsoundNullSafety = true;
+    // The merged metadata resides next to the entrypoint.
+    // Assume that <name>.bootstrap.js has <name>.ddc_merged_metadata
+    if (entrypoint.endsWith('.bootstrap.js')) {
+      _logger.info('Loading debug metadata...');
+      final serverPath =
+          entrypoint.replaceAll('.bootstrap.js', '.ddc_merged_metadata');
+      final merged = await _assetReader.metadataContents(serverPath);
+      if (merged != null) {
+        _addSdkMetadata();
+        for (var contents in merged.split('\n')) {
+          try {
+            if (contents.isEmpty ||
+                contents.startsWith('// intentionally empty:')) continue;
+            final moduleJson = json.decode(contents);
+            final metadata =
+                ModuleMetadata.fromJson(moduleJson as Map<String, dynamic>);
+            _addMetadata(metadata);
+            hasUnsoundNullSafety &= !metadata.soundNullSafety;
+            hasSoundNullSafety &= metadata.soundNullSafety;
+            _logger.fine('Loaded debug metadata for module: ${metadata.name}');
+          } catch (e) {
+            _logger.warning('Failed to read metadata: $e');
+            rethrow;
           }
-          _soundNullSafety = hasSoundNullSafety;
         }
-        _logger.info('Loaded debug metadata '
-            '(${_soundNullSafety ? "sound" : "weak"} null safety)');
+        if (!hasSoundNullSafety && !hasUnsoundNullSafety) {
+          throw Exception('Metadata contains modules with mixed null safety');
+        }
+        _soundNullSafety = hasSoundNullSafety;
       }
-    });
+      _logger.info('Loaded debug metadata '
+          '(${_soundNullSafety ? "sound" : "weak"} null safety)');
+    }
   }
 
   void _addMetadata(ModuleMetadata metadata) {
diff --git a/dwds/lib/src/debugging/modules.dart b/dwds/lib/src/debugging/modules.dart
index 37b857af1..66e9b4ae1 100644
--- a/dwds/lib/src/debugging/modules.dart
+++ b/dwds/lib/src/debugging/modules.dart
@@ -21,7 +21,7 @@ class Modules {
 
   final Map<String, String> _libraryToModule = {};
 
-  late String _entrypoint;
+  late String _appName;
 
   Modules(this._root);
 
@@ -29,14 +29,14 @@ class Modules {
   ///
   /// Intended to be called multiple times throughout the development workflow,
   /// e.g. after a hot-reload.
-  void initialize(String entrypoint) {
+  void initialize(String appName) {
     // We only clear the source to module mapping as script IDs may persist
     // across hot reloads.
     _sourceToModule.clear();
     _sourceToLibrary.clear();
     _libraryToModule.clear();
     _moduleMemoizer = AsyncMemoizer();
-    _entrypoint = entrypoint;
+    _appName = appName;
   }
 
   /// Returns the containing module for the provided Dart server path.
@@ -65,7 +65,7 @@ class Modules {
   /// Initializes [_sourceToModule] and [_sourceToLibrary].
   Future<void> _initializeMapping() async {
     final provider =
-        globalToolConfiguration.loadStrategy.metadataProviderFor(_entrypoint);
+        globalToolConfiguration.loadStrategy.metadataProviderFor(_appName);
 
     final libraryToScripts = await provider.scripts;
     final scriptToModule = await provider.scriptToModule;
diff --git a/dwds/lib/src/handlers/dev_handler.dart b/dwds/lib/src/handlers/dev_handler.dart
index 23e7ca06b..7ea4104c5 100644
--- a/dwds/lib/src/handlers/dev_handler.dart
+++ b/dwds/lib/src/handlers/dev_handler.dart
@@ -12,6 +12,7 @@ import 'package:dwds/data/debug_event.dart';
 import 'package:dwds/data/devtools_request.dart';
 import 'package:dwds/data/error_response.dart';
 import 'package:dwds/data/isolate_events.dart';
+import 'package:dwds/data/register_entrypoint_request.dart';
 import 'package:dwds/data/register_event.dart';
 import 'package:dwds/data/serializers.dart';
 import 'package:dwds/src/config/tool_configuration.dart';
@@ -48,6 +49,7 @@ final _logger = Logger('DevHandler');
 /// SSE handler to enable development features like hot reload and
 /// opening DevTools.
 class DevHandler {
+  Logger _logger = Logger('DevHandler');
   final _subs = <StreamSubscription>[];
   final _sseHandlers = <String, SocketHandler>{};
   final _injectedConnections = <SocketConnection>{};
@@ -256,6 +258,7 @@ class DevHandler {
     _injectedConnections.add(injectedConnection);
     AppConnection? appConnection;
     injectedConnection.stream.listen((data) async {
+      _logger.fine('Received injected connection request: $data');
       try {
         final message = serializers.deserialize(jsonDecode(data));
         if (message is ConnectRequest) {
@@ -266,11 +269,28 @@ class DevHandler {
           }
           appConnection =
               await _handleConnectRequest(message, injectedConnection);
+          _logger.severe('Connecting to app id ${message.appId}');
+          final connection =
+              await _handleConnectRequest(message, injectedConnection);
+          for (var entrypoint in connection.request.entrypoints) {
+            globalToolConfiguration.loadStrategy
+                .trackAppEntrypoint(connection.request.appName, entrypoint);
+          }
+          appConnection = connection;
         } else {
           final connection = appConnection;
           if (connection == null) {
             throw StateError('Not connected to an application.');
           }
+          if (message is RegisterEntrypointRequest) {
+            globalToolConfiguration.loadStrategy.trackAppEntrypoint(
+              connection.request.appName,
+              message.entrypointPath,
+            );
+            _servicesByAppId[connection.request.appId]
+                ?.chromeProxyService
+                .parseRegisterEntrypointRequest(message);
+          }
           if (message is DevToolsRequest) {
             await _handleDebugRequest(connection, injectedConnection);
           } else if (message is IsolateExit) {
diff --git a/dwds/lib/src/handlers/injector.dart b/dwds/lib/src/handlers/injector.dart
index d179f977b..02436cebb 100644
--- a/dwds/lib/src/handlers/injector.dart
+++ b/dwds/lib/src/handlers/injector.dart
@@ -96,9 +96,11 @@ class DwdsInjector {
               devHandlerPath = '$requestedUriBase/$devHandlerPath';
               _devHandlerPaths.add(devHandlerPath);
               final entrypoint = request.url.path;
+
+              // TODO: define a separate API for reading build metadata and app's metadata?
               await globalToolConfiguration.loadStrategy
                   .trackEntrypoint(entrypoint);
-              body = await _injectClientAndHoistMain(
+              body = _injectClientAndHoistMain(
                 body,
                 appId,
                 devHandlerPath,
@@ -130,13 +132,13 @@ class DwdsInjector {
 
 /// Returns the provided body with the main function hoisted into a global
 /// variable and a snippet of JS that loads the injected client.
-Future<String> _injectClientAndHoistMain(
+String _injectClientAndHoistMain(
   String body,
   String appId,
   String devHandlerPath,
   String entrypointPath,
   String? extensionUri,
-) async {
+) {
   final bodyLines = body.split('\n');
   final extensionIndex =
       bodyLines.indexWhere((line) => line.contains(mainExtensionMarker));
@@ -148,7 +150,7 @@ Future<String> _injectClientAndHoistMain(
   // We inject the client in the entry point module as the client expects the
   // application to be in a ready state, that is the main function is hoisted
   // and the Dart SDK is loaded.
-  final injectedClientSnippet = await _injectedClientSnippet(
+  final injectedClientSnippet = _injectedClientSnippet(
     appId,
     devHandlerPath,
     entrypointPath,
@@ -167,10 +169,18 @@ Future<String> _injectClientAndHoistMain(
     }
     $injectedClientSnippet
   } else {
-    if(window.\$dartMainExecuted){
-     $mainFunction();
-    }else {
-     window.\$dartMainTearOffs.push($mainFunction);
+    console.log("INJECTOR: registering entrypoint...");
+    if (typeof window.\$dartRegisterEntrypoint != "undefined") {
+      console.log("INJECTOR: registering entrypoint with dev handler");
+      window.\$dartRegisterEntrypoint(
+          /* app name */ appName,
+          /* entrypoint */ "$entrypointPath",
+      );
+    } 
+    if (window.\$dartMainExecuted) {
+      $mainFunction();
+    } else {
+      window.\$dartMainTearOffs.push($mainFunction);
     }
   }
   ''';
@@ -179,38 +189,49 @@ Future<String> _injectClientAndHoistMain(
 }
 
 /// JS snippet which includes global variables required for debugging.
-Future<String> _injectedClientSnippet(
+String _injectedClientSnippet(
   String appId,
   String devHandlerPath,
   String entrypointPath,
   String? extensionUri,
-) async {
+) {
   final loadStrategy = globalToolConfiguration.loadStrategy;
   final buildSettings = loadStrategy.buildSettings;
   final appMetadata = globalToolConfiguration.appMetadata;
   final debugSettings = globalToolConfiguration.debugSettings;
 
-  var injectedBody = 'window.\$dartAppId = "$appId";\n'
-      'window.\$dartReloadConfiguration = "${loadStrategy.reloadConfiguration}";\n'
-      'window.\$dartModuleStrategy = "${loadStrategy.id}";\n'
-      'window.\$loadModuleConfig = ${loadStrategy.loadModuleSnippet};\n'
-      'window.\$dwdsVersion = "$packageVersion";\n'
-      'window.\$dwdsDevHandlerPath = "$devHandlerPath";\n'
-      'window.\$dwdsEnableDevToolsLaunch = ${debugSettings.enableDevToolsLaunch};\n'
-      'window.\$dartEntrypointPath = "$entrypointPath";\n'
-      'window.\$dartEmitDebugEvents = ${debugSettings.emitDebugEvents};\n'
-      'window.\$isInternalBuild = ${appMetadata.isInternalBuild};\n'
-      'window.\$isFlutterApp = ${buildSettings.isFlutterApp};\n'
-      '${loadStrategy.loadClientSnippet(_clientScript)}';
+  var injectedBody = '\n'
+      '    console.log("INJECTOR: registering app: \${appName}.");\n'
+      '    window.\$dwdsVersion = "$packageVersion";\n' // used by DDC
+      '\n'
+      '    let appRecord = {};\n'
+      '    appRecord.moduleStrategy = "${loadStrategy.id}";\n'
+      '    appRecord.reloadConfiguration = "${loadStrategy.reloadConfiguration}";\n'
+      '    appRecord.loadModuleConfig = ${loadStrategy.loadModuleSnippet};\n'
+      '    appRecord.dwdsVersion = "$packageVersion";\n'
+      '    appRecord.enableDevtoolsLaunch = ${debugSettings.enableDevToolsLaunch};\n'
+      '    appRecord.emitDebugEvents = ${debugSettings.emitDebugEvents};\n'
+      '    appRecord.isInternalBuild = ${appMetadata.isInternalBuild};\n'
+      '    appRecord.appName = appName;\n'
+      '    appRecord.appId = "$appId";\n'
+      '    appRecord.isFlutterApp = ${buildSettings.isFlutterApp};\n'
+      '    appRecord.devHandlerPath = "$devHandlerPath";\n'
+      '    appRecord.entrypoints = new Array();\n'
+      '    appRecord.entrypoints.push("$entrypointPath");\n';
 
   if (extensionUri != null) {
-    injectedBody += 'window.\$dartExtensionUri = "$extensionUri";\n';
+    injectedBody += '    appRecord.extensionUrl = "$extensionUri";\n';
   }
 
   final workspaceName = appMetadata.workspaceName;
   if (workspaceName != null) {
-    injectedBody += 'window.\$dartWorkspaceName = "$workspaceName";\n';
+    injectedBody += '    appRecord.workspaceName = "$workspaceName";\n';
   }
 
+  injectedBody += '\n'
+      '    window.\$dartAppInfo = appRecord;\n'
+      '    console.log("INJECTOR: Loading injected client...");\n'
+      '    ${loadStrategy.loadClientSnippet(_clientScript)};\n';
+
   return injectedBody;
 }
diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 0b0253f8f..5e7dfeb54 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -439,12 +439,21 @@
     set$_innerHtml$x(receiver, value) {
       return J.getInterceptor$x(receiver).set$_innerHtml(receiver, value);
     },
+    set$length$asx(receiver, value) {
+      return J.getInterceptor$asx(receiver).set$length(receiver, value);
+    },
     get$attributes$x(receiver) {
       return J.getInterceptor$x(receiver).get$attributes(receiver);
     },
     get$digestsPath$x(receiver) {
       return J.getInterceptor$x(receiver).get$digestsPath(receiver);
     },
+    get$emitDebugEvents$x(receiver) {
+      return J.getInterceptor$x(receiver).get$emitDebugEvents(receiver);
+    },
+    get$extensionUrl$x(receiver) {
+      return J.getInterceptor$x(receiver).get$extensionUrl(receiver);
+    },
     get$first$ax(receiver) {
       return J.getInterceptor$ax(receiver).get$first(receiver);
     },
@@ -507,6 +516,9 @@
     _removeEventListener$3$x(receiver, a0, a1, a2) {
       return J.getInterceptor$x(receiver)._removeEventListener$3(receiver, a0, a1, a2);
     },
+    add$1$ax(receiver, a0) {
+      return J.getInterceptor$ax(receiver).add$1(receiver, a0);
+    },
     addEventListener$3$x(receiver, a0, a1, a2) {
       return J.getInterceptor$x(receiver).addEventListener$3(receiver, a0, a1, a2);
     },
@@ -534,6 +546,9 @@
     elementAt$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
     },
+    fillRange$3$ax(receiver, a0, a1, a2) {
+      return J.getInterceptor$ax(receiver).fillRange$3(receiver, a0, a1, a2);
+    },
     forEach$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
     },
@@ -1073,7 +1088,7 @@
       this.$ti = t1;
     },
     Symbol: function Symbol(t0) {
-      this._name = t0;
+      this.__internal$_name = t0;
     },
     __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() {
     },
@@ -2247,7 +2262,7 @@
       return t1.__late_helper$_value = t1;
     },
     _Cell: function _Cell(t0) {
-      this.__late_helper$_name = t0;
+      this._name = t0;
       this.__late_helper$_value = null;
     },
     _ensureNativeList(list) {
@@ -4680,12 +4695,12 @@
       _.$ti = t4;
     },
     _ControllerStream: function _ControllerStream(t0, t1) {
-      this._controller = t0;
+      this._async$_controller = t0;
       this.$ti = t1;
     },
     _ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3, t4, t5, t6) {
       var _ = this;
-      _._controller = t0;
+      _._async$_controller = t0;
       _._async$_onData = t1;
       _._onError = t2;
       _._onDone = t3;
@@ -5040,7 +5055,7 @@
     },
     _HashSetIterator: function _HashSetIterator(t0, t1, t2) {
       var _ = this;
-      _._set = t0;
+      _._collection$_set = t0;
       _._collection$_elements = t1;
       _._offset = 0;
       _._collection$_current = null;
@@ -5054,12 +5069,12 @@
       _.$ti = t0;
     },
     _LinkedHashSetCell: function _LinkedHashSetCell(t0) {
-      this._collection$_element = t0;
+      this._element = t0;
       this._collection$_next = null;
     },
     _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) {
       var _ = this;
-      _._set = t0;
+      _._collection$_set = t0;
       _._collection$_modifications = t1;
       _._collection$_current = _._collection$_cell = null;
       _.$ti = t2;
@@ -7944,7 +7959,7 @@
     _AttributeMap: function _AttributeMap() {
     },
     _ElementAttributeMap: function _ElementAttributeMap(t0) {
-      this._element = t0;
+      this._html$_element = t0;
     },
     EventStreamProvider: function EventStreamProvider(t0, t1) {
       this._eventType = t0;
@@ -8221,12 +8236,6 @@
       dartArgs = A.List_List$from(J.map$1$1$ax($arguments, A.js___convertToDart$closure(), t1), true, t1);
       return A._convertToJS(A.Function_apply(type$.Function._as(callback), dartArgs, null));
     },
-    JsObject_JsObject$fromBrowserObject(object) {
-      var t1 = false;
-      if (t1)
-        throw A.wrapException(A.ArgumentError$("object cannot be a num, string, bool, or null", null));
-      return A._wrapToDart(A._convertToJS(object));
-    },
     JsObject__convertDataTree(data) {
       return new A.JsObject__convertDataTree__convert(new A._IdentityHashMap(type$._IdentityHashMap_dynamic_dynamic)).call$1(data);
     },
@@ -8522,7 +8531,7 @@
       this.$ti = t0;
     },
     BuiltListMultimap_BuiltListMultimap($K, $V) {
-      var t1 = A._BuiltListMultimap$copy(B.Map_empty0.get$keys(B.Map_empty0), new A.BuiltListMultimap_BuiltListMultimap_closure(B.Map_empty0), $K, $V);
+      var t1 = A._BuiltListMultimap$copy(B.Map_empty.get$keys(B.Map_empty), new A.BuiltListMultimap_BuiltListMultimap_closure(B.Map_empty), $K, $V);
       return t1;
     },
     _BuiltListMultimap$copy(keys, lookup, $K, $V) {
@@ -8532,7 +8541,7 @@
     },
     ListMultimapBuilder_ListMultimapBuilder($K, $V) {
       var t1 = new A.ListMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("ListMultimapBuilder<1,2>"));
-      t1.replace$1(0, B.Map_empty0);
+      t1.replace$1(0, B.Map_empty);
       return t1;
     },
     BuiltListMultimap: function BuiltListMultimap() {
@@ -8562,12 +8571,12 @@
     },
     BuiltMap_BuiltMap($K, $V) {
       var t1 = new A._BuiltMap(null, A.LinkedHashMap_LinkedHashMap$_empty($K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("_BuiltMap<1,2>"));
-      t1._BuiltMap$copyAndCheckTypes$2(B.Map_empty0.get$keys(B.Map_empty0), new A.BuiltMap_BuiltMap_closure(B.Map_empty0), $K, $V);
+      t1._BuiltMap$copyAndCheckTypes$2(B.Map_empty.get$keys(B.Map_empty), new A.BuiltMap_BuiltMap_closure(B.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, B.Map_empty0);
+      t1.replace$1(0, B.Map_empty);
       return t1;
     },
     BuiltMap: function BuiltMap() {
@@ -8614,7 +8623,7 @@
     _BuiltSet: function _BuiltSet(t0, t1, t2) {
       var _ = this;
       _._setFactory = t0;
-      _._set$_set = t1;
+      _._set = t1;
       _._set$_hashCode = null;
       _.$ti = t2;
     },
@@ -8627,7 +8636,7 @@
     },
     SetMultimapBuilder_SetMultimapBuilder($K, $V) {
       var t1 = new A.SetMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("SetMultimapBuilder<1,2>"));
-      t1.replace$1(0, B.Map_empty0);
+      t1.replace$1(0, B.Map_empty);
       return t1;
     },
     BuiltSetMultimap: function BuiltSetMultimap() {
@@ -8926,6 +8935,15 @@
     QueueList__computeInitialCapacity(initialCapacity) {
       return 8;
     },
+    QueueList__nextPowerOf2(number) {
+      var nextNumber;
+      number = (number << 1 >>> 0) - 1;
+      for (; true; number = nextNumber) {
+        nextNumber = (number & number - 1) >>> 0;
+        if (nextNumber === 0)
+          return number;
+      }
+    },
     QueueList: function QueueList(t0, t1, t2, t3) {
       var _ = this;
       _._queue_list$_table = t0;
@@ -8974,14 +8992,16 @@
     },
     _$ConnectRequestSerializer: function _$ConnectRequestSerializer() {
     },
-    _$ConnectRequest: function _$ConnectRequest(t0, t1, t2) {
-      this.appId = t0;
-      this.instanceId = t1;
-      this.entrypointPath = t2;
+    _$ConnectRequest: function _$ConnectRequest(t0, t1, t2, t3) {
+      var _ = this;
+      _.appName = t0;
+      _.appId = t1;
+      _.instanceId = t2;
+      _.entrypoints = t3;
     },
     ConnectRequestBuilder: function ConnectRequestBuilder() {
       var _ = this;
-      _._entrypointPath = _._instanceId = _._appId = _._$v = null;
+      _._entrypoints = _._instanceId = _._connect_request$_appId = _._appName = _._connect_request$_$v = null;
     },
     DebugEvent: function DebugEvent() {
     },
@@ -8998,7 +9018,7 @@
     },
     DebugEventBuilder: function DebugEventBuilder() {
       var _ = this;
-      _._timestamp = _._eventData = _._debug_event$_kind = _._debug_event$_$v = null;
+      _._debug_event$_timestamp = _._debug_event$_eventData = _._debug_event$_kind = _._debug_event$_$v = null;
     },
     _$BatchedDebugEvents: function _$BatchedDebugEvents(t0) {
       this.events = t0;
@@ -9028,7 +9048,7 @@
     },
     DebugInfoBuilder: function DebugInfoBuilder() {
       var _ = this;
-      _._tabId = _._tabUrl = _._workspaceName = _._isFlutterApp = _._isInternalBuild = _._extensionUrl = _._dwdsVersion = _._authUrl = _._appUrl = _._appOrigin = _._appInstanceId = _._debug_info$_appId = _._appEntrypointPath = _._debug_info$_$v = null;
+      _._tabId = _._tabUrl = _._workspaceName = _._isFlutterApp = _._isInternalBuild = _._extensionUrl = _._dwdsVersion = _._authUrl = _._appUrl = _._appOrigin = _._appInstanceId = _._appId = _._appEntrypointPath = _._debug_info$_$v = null;
     },
     DevToolsRequest: function DevToolsRequest() {
     },
@@ -9137,6 +9157,17 @@
     IsolateStartBuilder: function IsolateStartBuilder() {
       this._isolate_events$_$v = null;
     },
+    RegisterEntrypointRequest: function RegisterEntrypointRequest() {
+    },
+    _$RegisterEntrypointRequestSerializer: function _$RegisterEntrypointRequestSerializer() {
+    },
+    _$RegisterEntrypointRequest: function _$RegisterEntrypointRequest(t0, t1) {
+      this.appName = t0;
+      this.entrypointPath = t1;
+    },
+    RegisterEntrypointRequestBuilder: function RegisterEntrypointRequestBuilder() {
+      this._entrypointPath = this._register_entrypoint_request$_appName = this._register_entrypoint_request$_$v = null;
+    },
     RegisterEvent: function RegisterEvent() {
     },
     _$RegisterEventSerializer: function _$RegisterEventSerializer() {
@@ -9146,7 +9177,7 @@
       this.timestamp = t1;
     },
     RegisterEventBuilder: function RegisterEventBuilder() {
-      this._register_event$_timestamp = this._register_event$_eventData = this._register_event$_$v = null;
+      this._timestamp = this._eventData = this._$v = null;
     },
     RunRequest: function RunRequest() {
     },
@@ -9158,6 +9189,8 @@
     },
     _$serializers_closure0: function _$serializers_closure0() {
     },
+    _$serializers_closure1: function _$serializers_closure1() {
+    },
     BatchedStreamController: function BatchedStreamController(t0, t1, t2, t3, t4, t5) {
       var _ = this;
       _._checkDelayMilliseconds = t0;
@@ -9539,7 +9572,7 @@
       _.innerWebSocket = t0;
       _._localCloseReason = _._localCloseCode = null;
       _.__HtmlWebSocketChannel__readyCompleter_A = $;
-      _._html0$_controller = t1;
+      _._controller = t1;
       _.__HtmlWebSocketChannel_sink_FI = $;
     },
     HtmlWebSocketChannel_closure: function HtmlWebSocketChannel_closure(t0) {
@@ -9571,29 +9604,131 @@
     main() {
       return A.runZonedGuarded(new A.main_closure(), new A.main_closure0(), type$.Future_void);
     },
-    _trySendEvent(sink, serialized, $T) {
-      var exception;
-      try {
-        sink.add$1(0, serialized);
-      } catch (exception) {
-        if (A.unwrapException(exception) instanceof A.StateError)
-          A.print("Cannot send event " + A.S(serialized) + ". Injected client connection is closed.");
-        else
-          throw exception;
-      }
+    runClient() {
+      var $async$goto = 0,
+        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
+        t2, t3, t4, t5, t6, t7, t8, connection, uri, fixedPath, fixedUri, _0_0, manager, appInfo, t1;
+      var $async$runClient = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+        if ($async$errorCode === 1)
+          return A._asyncRethrow($async$result, $async$completer);
+        while (true)
+          switch ($async$goto) {
+            case 0:
+              // Function start
+              appInfo = self.$dartAppInfo;
+              t1 = J.getInterceptor$x(appInfo);
+              t1.set$appInstanceId(appInfo, B.C_Uuid.v1$0());
+              self.$dartAppInstanceId = t1.get$appInstanceId(appInfo);
+              self.$dartAppId = t1.get$appId(appInfo);
+              self.$loadModuleConfig = t1.get$loadModuleConfig(appInfo);
+              A.print("Injected Client " + A.S(self.$dartAppInstanceId) + ": Dart app info: " + A.S(t1.get$appName(appInfo)) + " " + A.S(t1.get$appId(appInfo)) + " " + A.S(t1.get$appInstanceId(appInfo)) + " " + A.S(t1.get$devHandlerPath(appInfo)) + " " + A.S(t1.get$moduleStrategy(appInfo)));
+              t2 = t1.get$devHandlerPath(appInfo);
+              t3 = $.Zone__current;
+              t4 = Math.max(100, 1);
+              t5 = A.StreamController_StreamController(null, null, false, type$.DebugEvent);
+              t6 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent);
+              t3 = new A.BatchedStreamController(t4, 1000, t5, t6, new A._AsyncCompleter(new A._Future(t3, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent);
+              t4 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent);
+              t7 = A.ListQueue$(type$._EventRequest_dynamic);
+              t8 = type$.StreamQueue_DebugEvent;
+              t3.set$__BatchedStreamController__inputQueue_A(t8._as(new A.StreamQueue(new A._ControllerStream(t5, A._instanceType(t5)._eval$1("_ControllerStream<1>")), new A.QueueList(t4, 0, 0, type$.QueueList_Result_DebugEvent), t7, t8)));
+              A.safeUnawaited(t3._batchAndSendEvents$0());
+              connection = new A.DevHandlerConnection(t3);
+              uri = A.Uri_parse(t2);
+              t2 = type$.Location;
+              t3 = t2._as(window.location).protocol;
+              t3.toString;
+              if (t3 === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost")
+                uri = uri.replace$1$scheme(0, "https");
+              else {
+                t2 = t2._as(window.location).protocol;
+                t2.toString;
+                if (t2 === "wss:" && uri.get$scheme() === "ws" && uri.get$host(uri) !== "localhost")
+                  uri = uri.replace$1$scheme(0, "wss");
+              }
+              fixedPath = uri.toString$0(0);
+              fixedUri = A.Uri_parse(fixedPath);
+              t2 = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.HtmlWebSocketChannel$connect(fixedUri, null)) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient"));
+              connection.__DevHandlerConnection_client_F = t2;
+              new A._ControllerStream(t6, A._instanceType(t6)._eval$1("_ControllerStream<1>")).listen$1(connection.get$_sendBatchedDebugEvents());
+              t6 = type$.void_Function_String_String;
+              self.$dartRegisterEntrypoint = A.allowInterop(new A.runClient_closure(appInfo, connection), t6);
+              A.print("Injected Client " + A.S(self.$dartAppInstanceId) + ": set registerEntrypoint");
+              _0_0 = t1.get$moduleStrategy(appInfo);
+              $async$goto = "require-js" === _0_0 ? 3 : 4;
+              break;
+            case 3:
+              // then
+              $async$goto = 5;
+              return A._asyncAwait(A.RequireRestarter_create(), $async$runClient);
+            case 5:
+              // returning from await.
+              t3 = $async$result;
+              // goto break $label0$0
+              $async$goto = 2;
+              break;
+            case 4:
+              // join
+              if ("legacy" === _0_0) {
+                t3 = new A.LegacyRestarter();
+                // goto break $label0$0
+                $async$goto = 2;
+                break;
+              }
+              t3 = A.throwExpression(A.StateError$("Unknown module strategy: " + A.S(t1.get$moduleStrategy(appInfo))));
+            case 2:
+              // break $label0$0
+              manager = new A.ReloadingManager(t2, t3);
+              self.$dartHotRestartDwds = A.allowInterop(new A.runClient_closure0(manager), type$.Promise_bool_Function_String);
+              self.$emitDebugEvent = A.allowInterop(new A.runClient_closure1(appInfo, connection), t6);
+              self.$emitRegisterEvent = A.allowInterop(connection.get$sendRegisterEvent(), type$.void_Function_String);
+              self.$launchDevTools = A.allowInterop(new A.runClient_closure2(connection, appInfo), type$.void_Function);
+              t2.get$stream(t2).listen$2$onError(new A.runClient_closure3(appInfo, manager), new A.runClient_closure4());
+              if (A.boolConversionCheck(t1.get$enableDevToolsLaunch(appInfo))) {
+                t2 = window;
+                t2.toString;
+                A._EventStreamSubscription$(t2, "keydown", type$.nullable_void_Function_KeyboardEvent._as(new A.runClient_closure5()), false, type$.KeyboardEvent);
+              }
+              t2 = window.navigator.vendor;
+              t2.toString;
+              if (B.JSString_methods.contains$1(t2, "Google")) {
+                A.print("Injected Client " + A.S(self.$dartAppInstanceId) + ": sending connect request with " + A.S(t1.get$appName(appInfo)) + " (" + A.S(t1.get$entrypoints(appInfo)) + ")");
+                connection.sendConnectRequest$4(t1.get$appName(appInfo), t1.get$appId(appInfo), t1.get$appInstanceId(appInfo), t1.get$entrypoints(appInfo));
+              } else
+                A.runMain();
+              A._launchCommunicationWithDebugExtension(appInfo);
+              // implicit return
+              return A._asyncReturn(null, $async$completer);
+          }
+      });
+      return A._asyncStartSync($async$runClient, $async$completer);
     },
-    _launchCommunicationWithDebugExtension() {
+    _launchCommunicationWithDebugExtension(appInfo) {
       var t1, t2;
-      A._listenForDebugExtensionAuthRequest();
+      A._listenForDebugExtensionAuthRequest(appInfo);
       t1 = $.$get$serializers();
       t2 = new A.DebugInfoBuilder();
-      type$.nullable_void_Function_DebugInfoBuilder._as(new A._launchCommunicationWithDebugExtension_closure()).call$1(t2);
+      type$.nullable_void_Function_DebugInfoBuilder._as(new A._launchCommunicationWithDebugExtension_closure(appInfo)).call$1(t2);
       self.window.top.document.dispatchEvent(A.CustomEvent_CustomEvent("dart-app-ready", B.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(t2._debug_info$_build$0()), null)));
     },
-    _listenForDebugExtensionAuthRequest() {
+    authUrl(extensionUrl) {
+      var authUrl;
+      if (extensionUrl == null)
+        return null;
+      authUrl = A.Uri_parse(extensionUrl).replace$1$path(0, "$dwdsExtensionAuthentication");
+      switch (authUrl.scheme) {
+        case "ws":
+          return authUrl.replace$1$scheme(0, "http").get$_text();
+        case "wss":
+          return authUrl.replace$1$scheme(0, "https").get$_text();
+        default:
+          return authUrl.get$_text();
+      }
+    },
+    _listenForDebugExtensionAuthRequest(appInfo) {
       var t1 = window;
       t1.toString;
-      B.Window_methods.addEventListener$2(t1, "message", A.allowInterop(new A._listenForDebugExtensionAuthRequest_closure(), type$.dynamic_Function_Event));
+      B.Window_methods.addEventListener$2(t1, "message", A.allowInterop(new A._listenForDebugExtensionAuthRequest_closure(appInfo), type$.dynamic_Function_Event));
     },
     _authenticateUser(authUrl) {
       var $async$goto = 0,
@@ -9622,66 +9757,69 @@
       });
       return A._asyncStartSync($async$_authenticateUser, $async$completer);
     },
-    _authUrl() {
-      var extensionUrl, authUrl,
-        t1 = window;
-      t1.toString;
-      extensionUrl = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartExtensionUri"));
-      if (extensionUrl == null)
-        return null;
-      authUrl = A.Uri_parse(extensionUrl).replace$1$path(0, "$dwdsExtensionAuthentication");
-      switch (authUrl.scheme) {
-        case "ws":
-          return authUrl.replace$1$scheme(0, "http").get$_text();
-        case "wss":
-          return authUrl.replace$1$scheme(0, "https").get$_text();
-        default:
-          return authUrl.get$_text();
-      }
-    },
     main_closure: function main_closure() {
     },
-    main__closure: function main__closure(t0) {
+    main_closure0: function main_closure0() {
+    },
+    runClient_closure: function runClient_closure(t0, t1) {
+      this.appInfo = t0;
+      this.connection = t1;
+    },
+    runClient_closure0: function runClient_closure0(t0) {
       this.manager = t0;
     },
-    main__closure0: function main__closure0(t0) {
-      this.client = t0;
+    runClient_closure1: function runClient_closure1(t0, t1) {
+      this.appInfo = t0;
+      this.connection = t1;
     },
-    main___closure2: function main___closure2(t0) {
-      this.events = t0;
+    runClient_closure2: function runClient_closure2(t0, t1) {
+      this.connection = t0;
+      this.appInfo = t1;
     },
-    main__closure1: function main__closure1(t0) {
-      this.debugEventController = t0;
+    runClient_closure3: function runClient_closure3(t0, t1) {
+      this.appInfo = t0;
+      this.manager = t1;
     },
-    main___closure1: function main___closure1(t0, t1) {
-      this.kind = t0;
-      this.eventData = t1;
+    runClient_closure4: function runClient_closure4() {
     },
-    main__closure2: function main__closure2(t0) {
-      this.client = t0;
+    runClient_closure5: function runClient_closure5() {
     },
-    main___closure0: function main___closure0(t0) {
-      this.eventData = t0;
+    _launchCommunicationWithDebugExtension_closure: function _launchCommunicationWithDebugExtension_closure(t0) {
+      this.appInfo = t0;
     },
-    main__closure3: function main__closure3(t0) {
-      this.client = t0;
+    _listenForDebugExtensionAuthRequest_closure: function _listenForDebugExtensionAuthRequest_closure(t0) {
+      this.appInfo = t0;
     },
-    main___closure: function main___closure() {
+    DevHandlerConnection: function DevHandlerConnection(t0) {
+      this.__DevHandlerConnection_client_F = $;
+      this.debugEventController = t0;
     },
-    main__closure4: function main__closure4(t0) {
-      this.manager = t0;
+    DevHandlerConnection_sendConnectRequest_closure: function DevHandlerConnection_sendConnectRequest_closure(t0, t1, t2, t3) {
+      var _ = this;
+      _.appName = t0;
+      _.appId = t1;
+      _.appInstanceId = t2;
+      _.entrypoints = t3;
     },
-    main__closure5: function main__closure5() {
+    DevHandlerConnection_sendRegisterEntrypointRequest_closure: function DevHandlerConnection_sendRegisterEntrypointRequest_closure(t0, t1) {
+      this.appName = t0;
+      this.entrypointPath = t1;
     },
-    main__closure6: function main__closure6() {
+    DevHandlerConnection__sendBatchedDebugEvents_closure: function DevHandlerConnection__sendBatchedDebugEvents_closure(t0) {
+      this.events = t0;
     },
-    main__closure7: function main__closure7() {
+    DevHandlerConnection_sendDebugEvent_closure: function DevHandlerConnection_sendDebugEvent_closure(t0, t1) {
+      this.kind = t0;
+      this.eventData = t1;
     },
-    main_closure0: function main_closure0() {
+    DevHandlerConnection_sendRegisterEvent_closure: function DevHandlerConnection_sendRegisterEvent_closure(t0) {
+      this.eventData = t0;
     },
-    _launchCommunicationWithDebugExtension_closure: function _launchCommunicationWithDebugExtension_closure() {
+    DevHandlerConnection_sendDevToolsRequest_closure: function DevHandlerConnection_sendDevToolsRequest_closure(t0, t1) {
+      this.appId = t0;
+      this.appInstanceId = t1;
     },
-    _listenForDebugExtensionAuthRequest_closure: function _listenForDebugExtensionAuthRequest_closure() {
+    AppInfo: function AppInfo() {
     },
     LegacyRestarter: function LegacyRestarter() {
     },
@@ -9912,6 +10050,51 @@
     },
     $isPromise: 1,
     $isJsError: 1,
+    get$moduleStrategy(obj) {
+      return obj.moduleStrategy;
+    },
+    get$reloadConfiguration(obj) {
+      return obj.reloadConfiguration;
+    },
+    get$loadModuleConfig(obj) {
+      return obj.loadModuleConfig;
+    },
+    get$enableDevToolsLaunch(obj) {
+      return obj.enableDevToolsLaunch;
+    },
+    get$emitDebugEvents(obj) {
+      return obj.emitDebugEvents;
+    },
+    get$isInternalBuild(obj) {
+      return obj.isInternalBuild;
+    },
+    get$appName(obj) {
+      return obj.appName;
+    },
+    get$appId(obj) {
+      return obj.appId;
+    },
+    set$appInstanceId(obj, v) {
+      return obj.appInstanceId = v;
+    },
+    get$appInstanceId(obj) {
+      return obj.appInstanceId;
+    },
+    get$isFlutterApp(obj) {
+      return obj.isFlutterApp;
+    },
+    get$extensionUrl(obj) {
+      return obj.extensionUrl;
+    },
+    get$devHandlerPath(obj) {
+      return obj.devHandlerPath;
+    },
+    get$entrypoints(obj) {
+      return obj.entrypoints;
+    },
+    get$workspaceName(obj) {
+      return obj.workspaceName;
+    },
     then$1$1(receiver, p0) {
       return receiver.then(p0);
     },
@@ -10102,6 +10285,15 @@
         for (i = 0; i < $length; ++i)
           receiver[start + i] = t1.$index(otherList, otherStart + i);
     },
+    fillRange$3(receiver, start, end, fillValue) {
+      var i;
+      if (!!receiver.immutable$list)
+        A.throwExpression(A.UnsupportedError$("fill range"));
+      A.RangeError_checkValidRange(start, end, receiver.length);
+      A._arrayInstanceType(receiver)._precomputed1._as(fillValue);
+      for (i = start; i < end; ++i)
+        receiver[i] = fillValue;
+    },
     any$1(receiver, test) {
       var end, i;
       A._arrayInstanceType(receiver)._eval$1("bool(1)")._as(test);
@@ -10195,6 +10387,15 @@
     get$length(receiver) {
       return receiver.length;
     },
+    set$length(receiver, newLength) {
+      if (!!receiver.fixed$length)
+        A.throwExpression(A.UnsupportedError$("set length"));
+      if (newLength < 0)
+        throw A.wrapException(A.RangeError$range(newLength, 0, null, "newLength", null));
+      if (newLength > receiver.length)
+        A._arrayInstanceType(receiver)._precomputed1._as(null);
+      receiver.length = newLength;
+    },
     $index(receiver, index) {
       if (!(index >= 0 && index < receiver.length))
         throw A.wrapException(A.diagnoseIndexError(receiver, index));
@@ -10654,6 +10855,13 @@
       var t1 = this.$ti;
       J.$indexSet$ax(this.__internal$_source, index, t1._precomputed1._as(t1._rest[1]._as(value)));
     },
+    set$length(_, $length) {
+      J.set$length$asx(this.__internal$_source, $length);
+    },
+    add$1(_, value) {
+      var t1 = this.$ti;
+      J.add$1$ax(this.__internal$_source, t1._precomputed1._as(t1._rest[1]._as(value)));
+    },
     sort$1(_, compare) {
       var t1;
       this.$ti._eval$1("int(2,2)?")._as(compare);
@@ -10664,6 +10872,9 @@
       var t1 = this.$ti;
       return A.CastIterable_CastIterable(J.getRange$2$ax(this.__internal$_source, start, end), t1._precomputed1, t1._rest[1]);
     },
+    fillRange$3(_, start, end, fillValue) {
+      J.fillRange$3$ax(this.__internal$_source, start, end, this.$ti._precomputed1._as(fillValue));
+    },
     $isEfficientLengthIterable: 1,
     $isList: 1
   };
@@ -10739,7 +10950,7 @@
     call$0() {
       return A.Future_Future$value(null, type$.Null);
     },
-    $signature: 25
+    $signature: 24
   };
   A.SentinelValue.prototype = {};
   A.EfficientLengthIterable.prototype = {};
@@ -11058,15 +11269,33 @@
     },
     $isIterator: 1
   };
-  A.FixedLengthListMixin.prototype = {};
+  A.FixedLengthListMixin.prototype = {
+    set$length(receiver, newLength) {
+      throw A.wrapException(A.UnsupportedError$("Cannot change the length of a fixed-length list"));
+    },
+    add$1(receiver, value) {
+      A.instanceType(receiver)._eval$1("FixedLengthListMixin.E")._as(value);
+      throw A.wrapException(A.UnsupportedError$("Cannot add to a fixed-length list"));
+    }
+  };
   A.UnmodifiableListMixin.prototype = {
     $indexSet(_, index, value) {
       A._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
     },
+    set$length(_, newLength) {
+      throw A.wrapException(A.UnsupportedError$("Cannot change the length of an unmodifiable list"));
+    },
+    add$1(_, value) {
+      A._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value);
+      throw A.wrapException(A.UnsupportedError$("Cannot add to an unmodifiable list"));
+    },
     sort$1(_, compare) {
       A._instanceType(this)._eval$1("int(UnmodifiableListMixin.E,UnmodifiableListMixin.E)?")._as(compare);
       throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
+    },
+    fillRange$3(_, start, end, fillValue) {
+      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
     }
   };
   A.UnmodifiableListBase.prototype = {};
@@ -11085,17 +11314,17 @@
       var hash = this._hashCode;
       if (hash != null)
         return hash;
-      hash = 664597 * B.JSString_methods.get$hashCode(this._name) & 536870911;
+      hash = 664597 * B.JSString_methods.get$hashCode(this.__internal$_name) & 536870911;
       this._hashCode = hash;
       return hash;
     },
     toString$0(_) {
-      return 'Symbol("' + this._name + '")';
+      return 'Symbol("' + this.__internal$_name + '")';
     },
     $eq(_, other) {
       if (other == null)
         return false;
-      return other instanceof A.Symbol && this._name === other._name;
+      return other instanceof A.Symbol && this.__internal$_name === other.__internal$_name;
     },
     $isSymbol0: 1
   };
@@ -11234,13 +11463,13 @@
     get$namedArguments() {
       var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this;
       if (_this.__js_helper$_kind !== 0)
-        return B.Map_empty;
+        return B.Map_empty0;
       t1 = _this._namedArgumentNames;
       namedArgumentCount = t1.length;
       t2 = _this._arguments;
       namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount;
       if (namedArgumentCount === 0)
-        return B.Map_empty;
+        return B.Map_empty0;
       map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic);
       for (i = 0; i < namedArgumentCount; ++i) {
         if (!(i < t1.length))
@@ -11686,13 +11915,13 @@
     call$2(o, tag) {
       return this.getUnknownTag(o, tag);
     },
-    $signature: 84
+    $signature: 87
   };
   A.initHooks_closure1.prototype = {
     call$1(tag) {
       return this.prototypeForTag(A._asString(tag));
     },
-    $signature: 85
+    $signature: 54
   };
   A.JSSyntaxRegExp.prototype = {
     toString$0(_) {
@@ -11871,7 +12100,7 @@
     readLocal$1$0() {
       var t1 = this.__late_helper$_value;
       if (t1 === this)
-        A.throwExpression(new A.LateError("Local '" + this.__late_helper$_name + "' has not been initialized."));
+        A.throwExpression(new A.LateError("Local '" + this._name + "' has not been initialized."));
       return t1;
     },
     readLocal$0() {
@@ -11880,7 +12109,7 @@
     _readField$0() {
       var t1 = this.__late_helper$_value;
       if (t1 === this)
-        throw A.wrapException(A.LateError$fieldNI(this.__late_helper$_name));
+        throw A.wrapException(A.LateError$fieldNI(this._name));
       return t1;
     }
   };
@@ -12117,7 +12346,7 @@
       t2 = this.span;
       t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
     },
-    $signature: 65
+    $signature: 85
   };
   A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
     call$0() {
@@ -12224,7 +12453,7 @@
     call$2(error, stackTrace) {
       this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
     },
-    $signature: 52
+    $signature: 67
   };
   A._wrapJsFunctionForAsync_closure.prototype = {
     call$2(errorCode, result) {
@@ -12643,7 +12872,7 @@
     call$1(_) {
       return this.originalSource;
     },
-    $signature: 49
+    $signature: 86
   };
   A._Future__propagateToListeners_handleValueCallback.prototype = {
     call$0() {
@@ -12981,22 +13210,22 @@
   A._SyncStreamController.prototype = {};
   A._ControllerStream.prototype = {
     get$hashCode(_) {
-      return (A.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0;
+      return (A.Primitives_objectHashCode(this._async$_controller) ^ 892482866) >>> 0;
     },
     $eq(_, other) {
       if (other == null)
         return false;
       if (this === other)
         return true;
-      return other instanceof A._ControllerStream && other._controller === this._controller;
+      return other instanceof A._ControllerStream && other._async$_controller === this._async$_controller;
     }
   };
   A._ControllerSubscription.prototype = {
     _onCancel$0() {
-      return this._controller._recordCancel$1(this);
+      return this._async$_controller._recordCancel$1(this);
     },
     _onPause$0() {
-      var t1 = this._controller,
+      var t1 = this._async$_controller,
         t2 = A._instanceType(t1);
       t2._eval$1("StreamSubscription<1>")._as(this);
       if ((t1._state & 8) !== 0)
@@ -13004,7 +13233,7 @@
       A._runGuarded(t1.onPause);
     },
     _onResume$0() {
-      var t1 = this._controller,
+      var t1 = this._async$_controller,
         t2 = A._instanceType(t1);
       t2._eval$1("StreamSubscription<1>")._as(this);
       if ((t1._state & 8) !== 0)
@@ -13318,7 +13547,7 @@
       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);
+      return this._async$_controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true);
     },
     listen$1(onData) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null);
@@ -13989,7 +14218,7 @@
           t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s));
       }
     },
-    $signature: 71
+    $signature: 73
   };
   A._HashMap.prototype = {
     get$length(_) {
@@ -14052,9 +14281,9 @@
         nums = _this._collection$_nums;
         _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value);
       } else
-        _this._set$2(key, value);
+        _this._collection$_set$2(key, value);
     },
-    _set$2(key, value) {
+    _collection$_set$2(key, value) {
       var rest, hash, bucket, index, _this = this,
         t1 = A._instanceType(_this);
       t1._precomputed1._as(key);
@@ -14211,7 +14440,7 @@
     call$1(v) {
       return this.K._is(v);
     },
-    $signature: 18
+    $signature: 17
   };
   A._HashMapKeyIterable.prototype = {
     get$length(_) {
@@ -14425,7 +14654,7 @@
       var _this = this,
         elements = _this._collection$_elements,
         offset = _this._offset,
-        t1 = _this._set;
+        t1 = _this._collection$_set;
       if (elements !== t1._collection$_elements)
         throw A.wrapException(A.ConcurrentModificationError$(t1));
       else if (offset >= elements.length) {
@@ -14483,7 +14712,7 @@
       var first = this._collection$_first;
       if (first == null)
         throw A.wrapException(A.StateError$("No elements"));
-      return A._instanceType(this)._precomputed1._as(first._collection$_element);
+      return A._instanceType(this)._precomputed1._as(first._element);
     },
     add$1(_, element) {
       var strings, nums, _this = this;
@@ -14541,7 +14770,7 @@
         return -1;
       $length = bucket.length;
       for (i = 0; i < $length; ++i)
-        if (J.$eq$(bucket[i]._collection$_element, element))
+        if (J.$eq$(bucket[i]._element, element))
           return i;
       return -1;
     }
@@ -14555,14 +14784,14 @@
     moveNext$0() {
       var _this = this,
         cell = _this._collection$_cell,
-        t1 = _this._set;
+        t1 = _this._collection$_set;
       if (_this._collection$_modifications !== t1._collection$_modifications)
         throw A.wrapException(A.ConcurrentModificationError$(t1));
       else if (cell == null) {
         _this.set$_collection$_current(null);
         return false;
       } else {
-        _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._collection$_element));
+        _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._element));
         _this._collection$_cell = cell._collection$_next;
         return true;
       }
@@ -14638,6 +14867,13 @@
     skip$1(receiver, count) {
       return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListBase.E"));
     },
+    add$1(receiver, element) {
+      var t1;
+      A.instanceType(receiver)._eval$1("ListBase.E")._as(element);
+      t1 = this.get$length(receiver);
+      this.set$length(receiver, t1 + 1);
+      this.$indexSet(receiver, t1, element);
+    },
     cast$1$0(receiver, $R) {
       return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@<ListBase.E>")._bind$1($R)._eval$1("CastList<1,2>"));
     },
@@ -14735,7 +14971,7 @@
       t1._contents = t2 + ": ";
       t1._contents += A.S(v);
     },
-    $signature: 19
+    $signature: 18
   };
   A._UnmodifiableMapMixin.prototype = {
     $indexSet(_, key, value) {
@@ -14909,7 +15145,7 @@
     },
     containsAll$1(other) {
       var t1, t2, o;
-      for (t1 = other._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
+      for (t1 = other._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
         o = t1._collection$_current;
         if (!this.contains$1(0, o == null ? t2._as(o) : o))
           return false;
@@ -15228,7 +15464,7 @@
     call$1(v) {
       return this.E._is(v);
     },
-    $signature: 18
+    $signature: 17
   };
   A._SplayTreeSet__SplayTree_Iterable.prototype = {};
   A._SplayTreeSet__SplayTree_Iterable_SetMixin.prototype = {};
@@ -15771,7 +16007,7 @@
       B.JSArray_methods.$indexSet(t1, t2.i++, key);
       B.JSArray_methods.$indexSet(t1, t2.i++, value);
     },
-    $signature: 19
+    $signature: 18
   };
   A._JsonStringStringifier.prototype = {
     get$_partialResult() {
@@ -16259,7 +16495,7 @@
       hash = hash + ((hash & 524287) << 10) & 536870911;
       return hash ^ hash >>> 6;
     },
-    $signature: 20
+    $signature: 19
   };
   A._BigIntImpl_hashCode_finish.prototype = {
     call$1(hash) {
@@ -16267,13 +16503,13 @@
       hash ^= hash >>> 11;
       return hash + ((hash & 16383) << 15) & 536870911;
     },
-    $signature: 21
+    $signature: 20
   };
   A._symbolMapToStringMap_closure.prototype = {
     call$2(key, value) {
-      this.result.$indexSet(0, type$.Symbol._as(key)._name, value);
+      this.result.$indexSet(0, type$.Symbol._as(key).__internal$_name, value);
     },
-    $signature: 22
+    $signature: 21
   };
   A.NoSuchMethodError_toString_closure.prototype = {
     call$2(key, value) {
@@ -16282,13 +16518,13 @@
       t1 = this.sb;
       t2 = this._box_0;
       t3 = t1._contents += t2.comma;
-      t3 += key._name;
+      t3 += key.__internal$_name;
       t1._contents = t3;
       t1._contents = t3 + ": ";
       t1._contents += A.Error_safeToString(value);
       t2.comma = ", ";
     },
-    $signature: 22
+    $signature: 21
   };
   A.DateTime.prototype = {
     $eq(_, other) {
@@ -16446,7 +16682,7 @@
       _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb));
       receiverText = A.Error_safeToString(_this._core$_receiver);
       actualParameters = sb.toString$0(0);
-      return "NoSuchMethodError: method not found: '" + _this._core$_memberName._name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
+      return "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
     }
   };
   A.UnsupportedError.prototype = {
@@ -16713,13 +16949,13 @@
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
     },
-    $signature: 64
+    $signature: 65
   };
   A.Uri_parseIPv6Address_error.prototype = {
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
     },
-    $signature: 63
+    $signature: 64
   };
   A.Uri_parseIPv6Address_parseHex.prototype = {
     call$2(start, end) {
@@ -16731,7 +16967,7 @@
         this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start);
       return value;
     },
-    $signature: 20
+    $signature: 19
   };
   A._Uri.prototype = {
     get$_text() {
@@ -16917,7 +17153,7 @@
     call$1(s) {
       return A._Uri__uriEncode(B.List_XRg0, A._asString(s), B.C_Utf8Codec, false);
     },
-    $signature: 23
+    $signature: 22
   };
   A.UriData.prototype = {
     get$uri() {
@@ -16958,7 +17194,7 @@
       B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition);
       return t1;
     },
-    $signature: 62
+    $signature: 63
   };
   A._createTables_setChars.prototype = {
     call$3(target, chars, transition) {
@@ -16970,7 +17206,7 @@
         target[t2] = transition;
       }
     },
-    $signature: 24
+    $signature: 23
   };
   A._createTables_setRange.prototype = {
     call$3(target, range, transition) {
@@ -16989,7 +17225,7 @@
         target[t1] = transition;
       }
     },
-    $signature: 24
+    $signature: 23
   };
   A._SimpleUri.prototype = {
     get$hasAuthority() {
@@ -17239,6 +17475,9 @@
       type$.Rectangle_num._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -17338,6 +17577,9 @@
       A._asString(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -17378,6 +17620,9 @@
       this.$ti._precomputed1._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot modify list"));
     },
+    set$length(_, newLength) {
+      throw A.wrapException(A.UnsupportedError$("Cannot modify list"));
+    },
     sort$1(_, compare) {
       this.$ti._eval$1("int(1,1)?")._as(compare);
       throw A.wrapException(A.UnsupportedError$("Cannot sort list"));
@@ -17497,7 +17742,7 @@
     call$1(e) {
       return type$.Element._is(type$.Node._as(e));
     },
-    $signature: 58
+    $signature: 59
   };
   A.Event.prototype = {$isEvent: 1};
   A.EventSource.prototype = {$isEventSource: 1};
@@ -17539,6 +17784,9 @@
       type$.File._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -17597,6 +17845,9 @@
       type$.Node._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -17646,7 +17897,7 @@
       else
         t3.completeError$1(e);
     },
-    $signature: 53
+    $signature: 52
   };
   A.HttpRequestEventTarget.prototype = {};
   A.ImageData.prototype = {$isImageData: 1};
@@ -17800,6 +18051,9 @@
       type$.MimeType._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -17837,6 +18091,9 @@
       t1.toString;
       return t1;
     },
+    add$1(_, value) {
+      this._this.appendChild(type$.Node._as(value)).toString;
+    },
     addAll$1(_, iterable) {
       var t1, t2, len, i, t3;
       type$.Iterable_Node._as(iterable);
@@ -17871,9 +18128,15 @@
       type$.nullable_int_Function_Node_Node._as(compare);
       throw A.wrapException(A.UnsupportedError$("Cannot sort Node list"));
     },
+    fillRange$3(_, start, end, fill) {
+      throw A.wrapException(A.UnsupportedError$("Cannot fillRange on Node list"));
+    },
     get$length(_) {
       return this._this.childNodes.length;
     },
+    set$length(_, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot set length on immutable List."));
+    },
     $index(_, index) {
       var t1 = this._this.childNodes;
       if (!(index >= 0 && index < t1.length))
@@ -17921,6 +18184,9 @@
       type$.Node._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -17966,6 +18232,9 @@
       type$.Plugin._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18063,6 +18332,9 @@
       type$.SourceBuffer._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18103,6 +18375,9 @@
       type$.SpeechGrammar._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18169,7 +18444,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 15
+    $signature: 12
   };
   A.StyleSheet.prototype = {$isStyleSheet: 1};
   A.TableElement.prototype = {
@@ -18255,6 +18530,9 @@
       type$.TextTrackCue._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18294,6 +18572,9 @@
       type$.TextTrack._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18341,6 +18622,9 @@
       type$.Touch._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18421,6 +18705,9 @@
       type$.CssRule._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18533,6 +18820,9 @@
       type$.nullable_Gamepad._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
@@ -18568,6 +18858,9 @@
       type$.Node._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18607,6 +18900,9 @@
       type$.SpeechRecognitionResult._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18646,6 +18942,9 @@
       type$.StyleSheet._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1;
       if (receiver.length > 0) {
@@ -18673,7 +18972,7 @@
     forEach$1(_, f) {
       var t1, t2, t3, _i, t4, value;
       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, A.throwConcurrentModificationError)(t1), ++_i) {
+      for (t1 = this.get$keys(this), t2 = t1.length, t3 = this._html$_element, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
         t4 = A._asString(t1[_i]);
         value = t3.getAttribute(t4);
         f.call$2(t4, value == null ? A._asString(value) : value);
@@ -18681,7 +18980,7 @@
     },
     get$keys(_) {
       var keys, len, t2, i, attr, t3,
-        t1 = this._element.attributes;
+        t1 = this._html$_element.attributes;
       t1.toString;
       keys = A._setArrayType([], type$.JSArray_String);
       for (len = t1.length, t2 = type$._Attr, i = 0; i < len; ++i) {
@@ -18702,15 +19001,15 @@
   };
   A._ElementAttributeMap.prototype = {
     containsKey$1(_, key) {
-      var t1 = this._element.hasAttribute(key);
+      var t1 = this._html$_element.hasAttribute(key);
       t1.toString;
       return t1;
     },
     $index(_, key) {
-      return this._element.getAttribute(A._asString(key));
+      return this._html$_element.getAttribute(A._asString(key));
     },
     $indexSet(_, key, value) {
-      this._element.setAttribute(A._asString(key), A._asString(value));
+      this._html$_element.setAttribute(A._asString(key), A._asString(value));
     },
     get$length(_) {
       return this.get$keys(this).length;
@@ -18823,9 +19122,16 @@
     get$iterator(receiver) {
       return new A.FixedSizeListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
     },
+    add$1(receiver, value) {
+      A.instanceType(receiver)._eval$1("ImmutableListMixin.E")._as(value);
+      throw A.wrapException(A.UnsupportedError$("Cannot add to immutable List."));
+    },
     sort$1(receiver, compare) {
       A.instanceType(receiver)._eval$1("int(ImmutableListMixin.E,ImmutableListMixin.E)?")._as(compare);
       throw A.wrapException(A.UnsupportedError$("Cannot sort immutable List."));
+    },
+    fillRange$3(receiver, start, end, fillValue) {
+      throw A.wrapException(A.UnsupportedError$("Cannot modify an immutable List."));
     }
   };
   A.NodeValidatorBuilder.prototype = {
@@ -18841,13 +19147,13 @@
     call$1(v) {
       return type$.NodeValidator._as(v).allowsElement$1(this.element);
     },
-    $signature: 26
+    $signature: 25
   };
   A.NodeValidatorBuilder_allowsAttribute_closure.prototype = {
     call$1(v) {
       return type$.NodeValidator._as(v).allowsAttribute$3(this.element, this.attributeName, this.value);
     },
-    $signature: 26
+    $signature: 25
   };
   A._SimpleNodeValidator.prototype = {
     _SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes(uriPolicy, allowedAttributes, allowedElements, allowedUriAttributes) {
@@ -18894,13 +19200,13 @@
     call$1(x) {
       return !B.JSArray_methods.contains$1(B.List_Jwp, A._asString(x));
     },
-    $signature: 27
+    $signature: 26
   };
   A._SimpleNodeValidator_closure0.prototype = {
     call$1(x) {
       return B.JSArray_methods.contains$1(B.List_Jwp, A._asString(x));
     },
-    $signature: 27
+    $signature: 26
   };
   A._TemplatingNodeValidator.prototype = {
     allowsAttribute$3(element, attributeName, value) {
@@ -18917,7 +19223,7 @@
     call$1(attr) {
       return "TEMPLATE::" + A._asString(attr);
     },
-    $signature: 23
+    $signature: 22
   };
   A._SvgNodeValidator.prototype = {
     allowsElement$1(element) {
@@ -18985,7 +19291,7 @@
         attrs = null, isAttr = null;
       try {
         attrs = J.get$attributes$x(element);
-        isAttr = attrs._element.getAttribute("is");
+        isAttr = attrs._html$_element.getAttribute("is");
         type$.Element._as(element);
         t1 = function(element) {
           if (!(element.attributes instanceof NamedNodeMap))
@@ -19076,7 +19382,7 @@
         }
       t1 = attrs.get$keys(attrs);
       keys = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
-      for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._element, t2 = "Removing disallowed attribute <" + tag + " "; i >= 0; --i) {
+      for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._html$_element, t2 = "Removing disallowed attribute <" + tag + " "; i >= 0; --i) {
         if (!(i < keys.length))
           return A.ioore(keys, i);
         $name = keys[i];
@@ -19551,6 +19857,12 @@
         return len;
       throw A.wrapException(A.StateError$("Bad JsArray length"));
     },
+    set$length(_, $length) {
+      this.super$_JsArray_JsObject_ListMixin$$indexSet(0, "length", $length);
+    },
+    add$1(_, value) {
+      this.callMethod$2("push", [this.$ti._precomputed1._as(value)]);
+    },
     sort$1(_, compare) {
       this.$ti._eval$1("int(1,1)?")._as(compare);
       this.callMethod$2("sort", compare == null ? [] : [compare]);
@@ -19680,6 +19992,9 @@
       type$.Length._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1 = receiver.length;
       t1.toString;
@@ -19719,6 +20034,9 @@
       type$.Number._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1 = receiver.length;
       t1.toString;
@@ -19763,6 +20081,9 @@
       A._asString(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1 = receiver.length;
       t1.toString;
@@ -19824,6 +20145,9 @@
       type$.Transform._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
     },
+    set$length(receiver, value) {
+      throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List."));
+    },
     get$first(receiver) {
       var t1 = receiver.length;
       t1.toString;
@@ -20669,7 +20993,7 @@
       var t2, t3, _this = this,
         t1 = _this._set$_hashCode;
       if (t1 == null) {
-        t1 = _this._set$_set;
+        t1 = _this._set;
         t2 = A._instanceType(t1);
         t3 = t2._eval$1("EfficientLengthMappedIterable<1,int>");
         t3 = A.List_List$of(new A.EfficientLengthMappedIterable(t1, t2._eval$1("int(1)")._as(new A.BuiltSet_hashCode_closure(_this)), t3), false, t3._eval$1("Iterable.E"));
@@ -20687,25 +21011,25 @@
         return true;
       if (!(other instanceof A._BuiltSet))
         return false;
-      t1 = _this._set$_set;
-      if (other._set$_set._collection$_length !== t1._collection$_length)
+      t1 = _this._set;
+      if (other._set._collection$_length !== t1._collection$_length)
         return false;
       if (other.get$hashCode(other) !== _this.get$hashCode(_this))
         return false;
       return t1.containsAll$1(other);
     },
     toString$0(_) {
-      return A.Iterable_iterableToFullString(this._set$_set, "{", "}");
+      return A.Iterable_iterableToFullString(this._set, "{", "}");
     },
     get$length(_) {
-      return this._set$_set._collection$_length;
+      return this._set._collection$_length;
     },
     get$iterator(_) {
-      var t1 = this._set$_set;
+      var t1 = this._set;
       return A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1);
     },
     map$1$1(_, f, $T) {
-      var t1 = this._set$_set,
+      var t1 = this._set,
         t2 = A._instanceType(t1);
       return new A.EfficientLengthMappedIterable(t1, t2._bind$1($T)._eval$1("1(2)")._as(this.$ti._bind$1($T)._eval$1("1(2)")._as(f)), t2._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
     },
@@ -20713,24 +21037,24 @@
       return this.map$1$1($receiver, f, type$.dynamic);
     },
     contains$1(_, element) {
-      return this._set$_set.contains$1(0, element);
+      return this._set.contains$1(0, element);
     },
     get$isEmpty(_) {
-      return this._set$_set._collection$_length === 0;
+      return this._set._collection$_length === 0;
     },
     get$isNotEmpty(_) {
-      return this._set$_set._collection$_length !== 0;
+      return this._set._collection$_length !== 0;
     },
     skip$1(_, n) {
-      var t1 = this._set$_set;
+      var t1 = this._set;
       return A.SkipIterable_SkipIterable(t1, n, A._instanceType(t1)._precomputed1);
     },
     get$first(_) {
-      var t1 = this._set$_set;
+      var t1 = this._set;
       return t1.get$first(t1);
     },
     elementAt$1(_, index) {
-      return this._set$_set.elementAt$1(0, index);
+      return this._set.elementAt$1(0, index);
     },
     $isIterable: 1
   };
@@ -20747,7 +21071,7 @@
       var t1, t2, element;
       if (!(!$.$get$isSoundMode() && !this.$ti._precomputed1._is(null)))
         return;
-      for (t1 = this._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
+      for (t1 = this._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
         element = t1._collection$_current;
         if ((element == null ? t2._as(element) : element) == null)
           throw A.wrapException(A.ArgumentError$("iterable contained invalid element: null", null));
@@ -20927,7 +21251,7 @@
             t2.set$_setOwner(new A._BuiltSet(t3, t4, A._instanceType(t2)._eval$1("_BuiltSet<1>")));
           }
           builtSet = t2._setOwner;
-          t2 = builtSet._set$_set._collection$_length;
+          t2 = builtSet._set._collection$_length;
           t3 = _this.__SetMultimapBuilder__builtMap_A;
           if (t2 === 0) {
             t3 === $ && A.throwLateFieldNI(_s9_);
@@ -20966,7 +21290,7 @@
         else {
           t1 = builtValues.$ti;
           t1._eval$1("_BuiltSet<1>")._as(builtValues);
-          result = new A.SetBuilder(builtValues._setFactory, builtValues._set$_set, builtValues, t1._eval$1("SetBuilder<1>"));
+          result = new A.SetBuilder(builtValues._setFactory, builtValues._set, builtValues, t1._eval$1("SetBuilder<1>"));
         }
         _this.__SetMultimapBuilder__builderMap_A.$indexSet(0, key, result);
       }
@@ -21214,7 +21538,7 @@
     call$0() {
       return A.SetBuilder_SetBuilder(type$.Object);
     },
-    $signature: 99
+    $signature: 49
   };
   A.Serializers_Serializers_closure3.prototype = {
     call$0() {
@@ -21642,7 +21966,7 @@
     call$1(value) {
       return this.serializers.deserialize$2$specifiedType(value, this.valueType);
     },
-    $signature: 34
+    $signature: 32
   };
   A.BuiltListSerializer.prototype = {
     serialize$3$specifiedType(serializers, builtList, specifiedType) {
@@ -21825,7 +22149,7 @@
         result.push(serializers.serialize$2$specifiedType(key, keyType));
         result0 = t2.$index(0, key);
         t4 = result0 == null ? t3 : result0;
-        t5 = t4._set$_set;
+        t5 = t4._set;
         t6 = A._instanceType(t5);
         t7 = t6._eval$1("EfficientLengthMappedIterable<1,Object?>");
         result.push(A.List_List$of(new A.EfficientLengthMappedIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltSetMultimapSerializer_serialize_closure(serializers, valueType))), t7), true, t7._eval$1("Iterable.E")));
@@ -21930,7 +22254,7 @@
           return A.ioore(t1, 0);
         elementType = t1[0];
       }
-      t1 = builtSet._set$_set;
+      t1 = builtSet._set;
       t2 = A._instanceType(t1);
       return new A.EfficientLengthMappedIterable(t1, t2._eval$1("Object?(1)")._as(builtSet.$ti._eval$1("Object?(1)")._as(new A.BuiltSetSerializer_serialize_closure(serializers, elementType))), t2._eval$1("EfficientLengthMappedIterable<1,Object?>"));
     },
@@ -22495,6 +22819,9 @@
     $isEquality: 1
   };
   A.QueueList.prototype = {
+    add$1(_, element) {
+      this._queue_list$_add$1(0, A._instanceType(this)._eval$1("QueueList.E")._as(element));
+    },
     cast$1$0(_, $T) {
       return new A._CastQueueList(this, J.cast$1$0$ax(this._queue_list$_table, $T), -1, -1, A._instanceType(this)._eval$1("@<QueueList.E>")._bind$1($T)._eval$1("_CastQueueList<1,2>"));
     },
@@ -22505,6 +22832,32 @@
       var _this = this;
       return (_this.get$_queue_list$_tail() - _this.get$_queue_list$_head(_this) & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0;
     },
+    set$length(_, value) {
+      var delta, newTail, t1, t2, _this = this;
+      if (value < 0)
+        throw A.wrapException(A.RangeError$("Length " + value + " may not be negative."));
+      if (value > _this.get$length(_this) && !A._instanceType(_this)._eval$1("QueueList.E")._is(null))
+        throw A.wrapException(A.UnsupportedError$("The length can only be increased when the element type is nullable, but the current element type is `" + A.createRuntimeType(A._instanceType(_this)._eval$1("QueueList.E")).toString$0(0) + "`."));
+      delta = value - _this.get$length(_this);
+      if (delta >= 0) {
+        if (J.get$length$asx(_this._queue_list$_table) <= value)
+          _this._preGrow$1(value);
+        _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() + delta & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
+        return;
+      }
+      newTail = _this.get$_queue_list$_tail() + delta;
+      t1 = _this._queue_list$_table;
+      if (newTail >= 0)
+        J.fillRange$3$ax(t1, newTail, _this.get$_queue_list$_tail(), null);
+      else {
+        newTail += J.get$length$asx(t1);
+        J.fillRange$3$ax(_this._queue_list$_table, 0, _this.get$_queue_list$_tail(), null);
+        t1 = _this._queue_list$_table;
+        t2 = J.getInterceptor$asx(t1);
+        t2.fillRange$3(t1, newTail, t2.get$length(t1), null);
+      }
+      _this.set$_queue_list$_tail(newTail);
+    },
     $index(_, index) {
       var t1, _this = this;
       if (index < 0 || index >= _this.get$length(_this))
@@ -22535,6 +22888,27 @@
         _this.set$_queue_list$_table(newTable);
       }
     },
+    _writeToList$1(target) {
+      var $length, firstPartSize, _this = this;
+      A._instanceType(_this)._eval$1("List<QueueList.E?>")._as(target);
+      if (_this.get$_queue_list$_head(_this) <= _this.get$_queue_list$_tail()) {
+        $length = _this.get$_queue_list$_tail() - _this.get$_queue_list$_head(_this);
+        B.JSArray_methods.setRange$4(target, 0, $length, _this._queue_list$_table, _this.get$_queue_list$_head(_this));
+        return $length;
+      } else {
+        firstPartSize = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_head(_this);
+        B.JSArray_methods.setRange$4(target, 0, firstPartSize, _this._queue_list$_table, _this.get$_queue_list$_head(_this));
+        B.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this.get$_queue_list$_tail(), _this._queue_list$_table, 0);
+        return _this.get$_queue_list$_tail() + firstPartSize;
+      }
+    },
+    _preGrow$1(newElementCount) {
+      var _this = this,
+        newTable = A.List_List$filled(A.QueueList__nextPowerOf2(newElementCount + B.JSInt_methods._shrOtherPositive$1(newElementCount, 1)), null, false, A._instanceType(_this)._eval$1("QueueList.E?"));
+      _this.set$_queue_list$_tail(_this._writeToList$1(newTable));
+      _this.set$_queue_list$_table(newTable);
+      _this.set$_queue_list$_head(0, 0);
+    },
     set$_queue_list$_table(_table) {
       this._queue_list$_table = A._instanceType(this)._eval$1("List<QueueList.E?>")._as(_table);
     },
@@ -22681,43 +23055,69 @@
   A._$ConnectRequestSerializer.prototype = {
     serialize$3$specifiedType(serializers, object, specifiedType) {
       type$.ConnectRequest._as(object);
-      return ["appId", serializers.serialize$2$specifiedType(object.appId, B.FullType_h8g), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, B.FullType_h8g), "entrypointPath", serializers.serialize$2$specifiedType(object.entrypointPath, B.FullType_h8g)];
+      return ["appName", serializers.serialize$2$specifiedType(object.appName, B.FullType_h8g), "appId", serializers.serialize$2$specifiedType(object.appId, B.FullType_h8g), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, B.FullType_h8g), "entrypoints", serializers.serialize$2$specifiedType(object.entrypoints, B.FullType_hkZ)];
     },
     serialize$2(serializers, object) {
       return this.serialize$3$specifiedType(serializers, object, B.FullType_null_List_empty_false);
     },
     deserialize$3$specifiedType(serializers, serialized, specifiedType) {
-      var t1, value,
+      var t1, t2, t3, t4, t5, value, t6, t7, t8, t9,
         result = new A.ConnectRequestBuilder(),
         iterator = J.get$iterator$ax(type$.Iterable_nullable_Object._as(serialized));
-      for (; iterator.moveNext$0();) {
-        t1 = iterator.get$current(iterator);
-        t1.toString;
-        A._asString(t1);
+      for (t1 = type$.BuiltList_nullable_Object, t2 = type$.String, t3 = type$.List_String, t4 = type$.ListBuilder_String; iterator.moveNext$0();) {
+        t5 = iterator.get$current(iterator);
+        t5.toString;
+        A._asString(t5);
         iterator.moveNext$0();
         value = iterator.get$current(iterator);
-        switch (t1) {
+        switch (t5) {
+          case "appName":
+            t5 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
+            t5.toString;
+            A._asString(t5);
+            result.get$_connect_request$_$this()._appName = t5;
+            break;
           case "appId":
-            t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
-            t1.toString;
-            A._asString(t1);
-            result.get$_connect_request$_$this()._appId = t1;
+            t5 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
+            t5.toString;
+            A._asString(t5);
+            result.get$_connect_request$_$this()._connect_request$_appId = t5;
             break;
           case "instanceId":
-            t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
-            t1.toString;
-            A._asString(t1);
-            result.get$_connect_request$_$this()._instanceId = t1;
+            t5 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
+            t5.toString;
+            A._asString(t5);
+            result.get$_connect_request$_$this()._instanceId = t5;
             break;
-          case "entrypointPath":
-            t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
-            t1.toString;
-            A._asString(t1);
-            result.get$_connect_request$_$this()._entrypointPath = t1;
+          case "entrypoints":
+            t5 = result.get$_connect_request$_$this();
+            t6 = t5._entrypoints;
+            if (t6 == null) {
+              t6 = new A.ListBuilder(t4);
+              t6.set$__ListBuilder__list_A(t3._as(A.List_List$from(B.List_empty, true, t2)));
+              t6.set$_listOwner(null);
+              t5.set$_entrypoints(t6);
+              t5 = t6;
+            } else
+              t5 = t6;
+            t6 = serializers.deserialize$2$specifiedType(value, B.FullType_hkZ);
+            t6.toString;
+            t1._as(t6);
+            t7 = t5.$ti;
+            t8 = t7._eval$1("_BuiltList<1>");
+            t9 = t7._eval$1("List<1>");
+            if (t8._is(t6)) {
+              t8._as(t6);
+              t5.set$__ListBuilder__list_A(t9._as(t6._list));
+              t5.set$_listOwner(t6);
+            } else {
+              t5.set$__ListBuilder__list_A(t9._as(A.List_List$from(t6, true, t7._precomputed1)));
+              t5.set$_listOwner(null);
+            }
             break;
         }
       }
-      return result._build$0();
+      return result._connect_request$_build$0();
     },
     deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false);
@@ -22738,50 +23138,90 @@
         return false;
       if (other === _this)
         return true;
-      return other instanceof A._$ConnectRequest && _this.appId === other.appId && _this.instanceId === other.instanceId && _this.entrypointPath === other.entrypointPath;
+      return other instanceof A._$ConnectRequest && _this.appName === other.appName && _this.appId === other.appId && _this.instanceId === other.instanceId && _this.entrypoints.$eq(0, other.entrypoints);
     },
     get$hashCode(_) {
-      return A.$jf(A.$jc(A.$jc(A.$jc(0, B.JSString_methods.get$hashCode(this.appId)), B.JSString_methods.get$hashCode(this.instanceId)), B.JSString_methods.get$hashCode(this.entrypointPath)));
+      var _this = this,
+        t1 = _this.entrypoints;
+      return A.$jf(A.$jc(A.$jc(A.$jc(A.$jc(0, B.JSString_methods.get$hashCode(_this.appName)), B.JSString_methods.get$hashCode(_this.appId)), B.JSString_methods.get$hashCode(_this.instanceId)), t1.get$hashCode(t1)));
     },
     toString$0(_) {
-      var t1 = $.$get$newBuiltValueToStringHelper().call$1("ConnectRequest"),
+      var _this = this,
+        t1 = $.$get$newBuiltValueToStringHelper().call$1("ConnectRequest"),
         t2 = J.getInterceptor$ax(t1);
-      t2.add$2(t1, "appId", this.appId);
-      t2.add$2(t1, "instanceId", this.instanceId);
-      t2.add$2(t1, "entrypointPath", this.entrypointPath);
+      t2.add$2(t1, "appName", _this.appName);
+      t2.add$2(t1, "appId", _this.appId);
+      t2.add$2(t1, "instanceId", _this.instanceId);
+      t2.add$2(t1, "entrypoints", _this.entrypoints);
       return t2.toString$0(t1);
     }
   };
   A.ConnectRequestBuilder.prototype = {
+    get$entrypoints(_) {
+      var t1 = this.get$_connect_request$_$this(),
+        t2 = t1._entrypoints;
+      if (t2 == null) {
+        t2 = A.ListBuilder_ListBuilder(B.List_empty, type$.String);
+        t1.set$_entrypoints(t2);
+        t1 = t2;
+      } else
+        t1 = t2;
+      return t1;
+    },
     get$_connect_request$_$this() {
-      var _this = this,
-        $$v = _this._$v;
+      var t1, _this = this,
+        $$v = _this._connect_request$_$v;
       if ($$v != null) {
-        _this._appId = $$v.appId;
+        _this._appName = $$v.appName;
+        _this._connect_request$_appId = $$v.appId;
         _this._instanceId = $$v.instanceId;
-        _this._entrypointPath = $$v.entrypointPath;
-        _this._$v = null;
+        t1 = $$v.entrypoints;
+        _this.set$_entrypoints(A.ListBuilder_ListBuilder(t1, t1.$ti._precomputed1));
+        _this._connect_request$_$v = null;
       }
       return _this;
     },
-    _build$0() {
-      var t1, t2, t3, t4, _this = this,
+    _connect_request$_build$0() {
+      var _$failedField, e, _$result0, t1, t2, t3, t4, t5, exception, _this = this,
         _s14_ = "ConnectRequest",
         _s10_ = "instanceId",
-        _s14_0 = "entrypointPath",
-        _$result = _this._$v;
-      if (_$result == null) {
-        t1 = type$.String;
-        t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._appId, _s14_, "appId", t1);
-        t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._instanceId, _s14_, _s10_, t1);
-        t4 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._entrypointPath, _s14_, _s14_0, t1);
-        _$result = new A._$ConnectRequest(t2, t3, t4);
-        A.BuiltValueNullFieldError_checkNotNull(t2, _s14_, "appId", t1);
-        A.BuiltValueNullFieldError_checkNotNull(t3, _s14_, _s10_, t1);
-        A.BuiltValueNullFieldError_checkNotNull(t4, _s14_, _s14_0, t1);
-      }
-      A.ArgumentError_checkNotNull(_$result, "other", type$.ConnectRequest);
-      return _this._$v = _$result;
+        _s11_ = "entrypoints",
+        _$result = null;
+      try {
+        _$result0 = _this._connect_request$_$v;
+        if (_$result0 == null) {
+          t1 = type$.String;
+          t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._appName, _s14_, "appName", t1);
+          t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._connect_request$_appId, _s14_, "appId", t1);
+          t4 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._instanceId, _s14_, _s10_, t1);
+          t5 = _this.get$entrypoints(_this).build$0();
+          _$result0 = new A._$ConnectRequest(t2, t3, t4, t5);
+          A.BuiltValueNullFieldError_checkNotNull(t2, _s14_, "appName", t1);
+          A.BuiltValueNullFieldError_checkNotNull(t3, _s14_, "appId", t1);
+          A.BuiltValueNullFieldError_checkNotNull(t4, _s14_, _s10_, t1);
+          A.BuiltValueNullFieldError_checkNotNull(t5, _s14_, _s11_, type$.BuiltList_String);
+        }
+        _$result = _$result0;
+      } catch (exception) {
+        _$failedField = A._Cell$named("_$failedField");
+        try {
+          _$failedField.__late_helper$_value = _s11_;
+          _this.get$entrypoints(_this).build$0();
+        } catch (exception) {
+          e = A.unwrapException(exception);
+          t1 = A.BuiltValueNestedFieldError$(_s14_, _$failedField.readLocal$0(), J.toString$0$(e));
+          throw A.wrapException(t1);
+        }
+        throw exception;
+      }
+      t1 = type$.ConnectRequest;
+      t2 = t1._as(_$result);
+      A.ArgumentError_checkNotNull(t2, "other", t1);
+      _this._connect_request$_$v = t2;
+      return _$result;
+    },
+    set$_entrypoints(_entrypoints) {
+      this._entrypoints = type$.nullable_ListBuilder_String._as(_entrypoints);
     }
   };
   A.DebugEvent.prototype = {};
@@ -22815,13 +23255,13 @@
             t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
             t1.toString;
             A._asString(t1);
-            result.get$_debug_event$_$this()._eventData = t1;
+            result.get$_debug_event$_$this()._debug_event$_eventData = t1;
             break;
           case "timestamp":
             t1 = serializers.deserialize$2$specifiedType(value, B.FullType_kjq);
             t1.toString;
             A._asInt(t1);
-            result.get$_debug_event$_$this()._timestamp = t1;
+            result.get$_debug_event$_$this()._debug_event$_timestamp = t1;
             break;
         }
       }
@@ -22941,8 +23381,8 @@
         $$v = _this._debug_event$_$v;
       if ($$v != null) {
         _this._debug_event$_kind = $$v.kind;
-        _this._eventData = $$v.eventData;
-        _this._timestamp = $$v.timestamp;
+        _this._debug_event$_eventData = $$v.eventData;
+        _this._debug_event$_timestamp = $$v.timestamp;
         _this._debug_event$_$v = null;
       }
       return _this;
@@ -22956,9 +23396,9 @@
       if (_$result == null) {
         t1 = type$.String;
         t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._debug_event$_kind, _s10_, "kind", t1);
-        t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._eventData, _s10_, _s9_, t1);
+        t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._debug_event$_eventData, _s10_, _s9_, t1);
         t4 = type$.int;
-        t5 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._timestamp, _s10_, _s9_0, t4);
+        t5 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._debug_event$_timestamp, _s10_, _s9_0, t4);
         _$result = new A._$DebugEvent(t2, t3, t5);
         A.BuiltValueNullFieldError_checkNotNull(t2, _s10_, "kind", t1);
         A.BuiltValueNullFieldError_checkNotNull(t3, _s10_, _s9_, t1);
@@ -23132,55 +23572,55 @@
         switch (t1) {
           case "appEntrypointPath":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._appEntrypointPath = t1;
+            result.get$_debug_info$_$this()._appEntrypointPath = t1;
             break;
           case "appId":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._debug_info$_appId = t1;
+            result.get$_debug_info$_$this()._appId = t1;
             break;
           case "appInstanceId":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._appInstanceId = t1;
+            result.get$_debug_info$_$this()._appInstanceId = t1;
             break;
           case "appOrigin":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._appOrigin = t1;
+            result.get$_debug_info$_$this()._appOrigin = t1;
             break;
           case "appUrl":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._appUrl = t1;
+            result.get$_debug_info$_$this()._appUrl = t1;
             break;
           case "authUrl":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._authUrl = t1;
+            result.get$_debug_info$_$this()._authUrl = t1;
             break;
           case "dwdsVersion":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._dwdsVersion = t1;
+            result.get$_debug_info$_$this()._dwdsVersion = t1;
             break;
           case "extensionUrl":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._extensionUrl = t1;
+            result.get$_debug_info$_$this()._extensionUrl = t1;
             break;
           case "isInternalBuild":
             t1 = A._asBoolQ(serializers.deserialize$2$specifiedType(value, B.FullType_MtR));
-            result.get$_$this()._isInternalBuild = t1;
+            result.get$_debug_info$_$this()._isInternalBuild = t1;
             break;
           case "isFlutterApp":
             t1 = A._asBoolQ(serializers.deserialize$2$specifiedType(value, B.FullType_MtR));
-            result.get$_$this()._isFlutterApp = t1;
+            result.get$_debug_info$_$this()._isFlutterApp = t1;
             break;
           case "workspaceName":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._workspaceName = t1;
+            result.get$_debug_info$_$this()._workspaceName = t1;
             break;
           case "tabUrl":
             t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g));
-            result.get$_$this()._tabUrl = t1;
+            result.get$_debug_info$_$this()._tabUrl = t1;
             break;
           case "tabId":
             t1 = A._asIntQ(serializers.deserialize$2$specifiedType(value, B.FullType_kjq));
-            result.get$_$this()._tabId = t1;
+            result.get$_debug_info$_$this()._tabId = t1;
             break;
         }
       }
@@ -23232,12 +23672,12 @@
     }
   };
   A.DebugInfoBuilder.prototype = {
-    get$_$this() {
+    get$_debug_info$_$this() {
       var _this = this,
         $$v = _this._debug_info$_$v;
       if ($$v != null) {
         _this._appEntrypointPath = $$v.appEntrypointPath;
-        _this._debug_info$_appId = $$v.appId;
+        _this._appId = $$v.appId;
         _this._appInstanceId = $$v.appInstanceId;
         _this._appOrigin = $$v.appOrigin;
         _this._appUrl = $$v.appUrl;
@@ -23257,7 +23697,7 @@
       var _this = this,
         _$result = _this._debug_info$_$v;
       if (_$result == null)
-        _$result = new A._$DebugInfo(_this.get$_$this()._appEntrypointPath, _this.get$_$this()._debug_info$_appId, _this.get$_$this()._appInstanceId, _this.get$_$this()._appOrigin, _this.get$_$this()._appUrl, _this.get$_$this()._authUrl, _this.get$_$this()._dwdsVersion, _this.get$_$this()._extensionUrl, _this.get$_$this()._isInternalBuild, _this.get$_$this()._isFlutterApp, _this.get$_$this()._workspaceName, _this.get$_$this()._tabUrl, _this.get$_$this()._tabId);
+        _$result = new A._$DebugInfo(_this.get$_debug_info$_$this()._appEntrypointPath, _this.get$_debug_info$_$this()._appId, _this.get$_debug_info$_$this()._appInstanceId, _this.get$_debug_info$_$this()._appOrigin, _this.get$_debug_info$_$this()._appUrl, _this.get$_debug_info$_$this()._authUrl, _this.get$_debug_info$_$this()._dwdsVersion, _this.get$_debug_info$_$this()._extensionUrl, _this.get$_debug_info$_$this()._isInternalBuild, _this.get$_debug_info$_$this()._isFlutterApp, _this.get$_debug_info$_$this()._workspaceName, _this.get$_debug_info$_$this()._tabUrl, _this.get$_debug_info$_$this()._tabId);
       A.ArgumentError_checkNotNull(_$result, "other", type$.DebugInfo);
       return _this._debug_info$_$v = _$result;
     }
@@ -24171,6 +24611,113 @@
       return this._isolate_events$_$v = _$result;
     }
   };
+  A.RegisterEntrypointRequest.prototype = {};
+  A._$RegisterEntrypointRequestSerializer.prototype = {
+    serialize$3$specifiedType(serializers, object, specifiedType) {
+      type$.RegisterEntrypointRequest._as(object);
+      return ["appName", serializers.serialize$2$specifiedType(object.appName, B.FullType_h8g), "entrypointPath", serializers.serialize$2$specifiedType(object.entrypointPath, B.FullType_h8g)];
+    },
+    serialize$2(serializers, object) {
+      return this.serialize$3$specifiedType(serializers, object, B.FullType_null_List_empty_false);
+    },
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
+      var t1, value, $$v,
+        result = new A.RegisterEntrypointRequestBuilder(),
+        iterator = J.get$iterator$ax(type$.Iterable_nullable_Object._as(serialized));
+      for (; iterator.moveNext$0();) {
+        t1 = iterator.get$current(iterator);
+        t1.toString;
+        A._asString(t1);
+        iterator.moveNext$0();
+        value = iterator.get$current(iterator);
+        switch (t1) {
+          case "appName":
+            t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
+            t1.toString;
+            A._asString(t1);
+            $$v = result._register_entrypoint_request$_$v;
+            if ($$v != null) {
+              result._register_entrypoint_request$_appName = $$v.appName;
+              result._entrypointPath = $$v.entrypointPath;
+              result._register_entrypoint_request$_$v = null;
+            }
+            result._register_entrypoint_request$_appName = t1;
+            break;
+          case "entrypointPath":
+            t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
+            t1.toString;
+            A._asString(t1);
+            $$v = result._register_entrypoint_request$_$v;
+            if ($$v != null) {
+              result._register_entrypoint_request$_appName = $$v.appName;
+              result._entrypointPath = $$v.entrypointPath;
+              result._register_entrypoint_request$_$v = null;
+            }
+            result._entrypointPath = t1;
+            break;
+        }
+      }
+      return result._register_entrypoint_request$_build$0();
+    },
+    deserialize$2(serializers, serialized) {
+      return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false);
+    },
+    $isSerializer: 1,
+    $isStructuredSerializer: 1,
+    get$types() {
+      return B.List_ExN;
+    },
+    get$wireName() {
+      return "RegisterEntrypointRequest";
+    }
+  };
+  A._$RegisterEntrypointRequest.prototype = {
+    $eq(_, other) {
+      if (other == null)
+        return false;
+      if (other === this)
+        return true;
+      return other instanceof A._$RegisterEntrypointRequest && this.appName === other.appName && this.entrypointPath === other.entrypointPath;
+    },
+    get$hashCode(_) {
+      return A.$jf(A.$jc(A.$jc(0, B.JSString_methods.get$hashCode(this.appName)), B.JSString_methods.get$hashCode(this.entrypointPath)));
+    },
+    toString$0(_) {
+      var t1 = $.$get$newBuiltValueToStringHelper().call$1("RegisterEntrypointRequest"),
+        t2 = J.getInterceptor$ax(t1);
+      t2.add$2(t1, "appName", this.appName);
+      t2.add$2(t1, "entrypointPath", this.entrypointPath);
+      return t2.toString$0(t1);
+    }
+  };
+  A.RegisterEntrypointRequestBuilder.prototype = {
+    get$_register_entrypoint_request$_$this() {
+      var _this = this,
+        $$v = _this._register_entrypoint_request$_$v;
+      if ($$v != null) {
+        _this._register_entrypoint_request$_appName = $$v.appName;
+        _this._entrypointPath = $$v.entrypointPath;
+        _this._register_entrypoint_request$_$v = null;
+      }
+      return _this;
+    },
+    _register_entrypoint_request$_build$0() {
+      var t1, t2, t3, _this = this,
+        _s25_ = "RegisterEntrypointRequest",
+        _s14_ = "entrypointPath",
+        _$result = _this._register_entrypoint_request$_$v;
+      if (_$result == null) {
+        t1 = type$.String;
+        t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_register_entrypoint_request$_$this()._register_entrypoint_request$_appName, _s25_, "appName", t1);
+        t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_register_entrypoint_request$_$this()._entrypointPath, _s25_, _s14_, t1);
+        _$result = new A._$RegisterEntrypointRequest(t2, t3);
+        A.BuiltValueNullFieldError_checkNotNull(t2, _s25_, "appName", t1);
+        A.BuiltValueNullFieldError_checkNotNull(t3, _s25_, _s14_, t1);
+      }
+      A.ArgumentError_checkNotNull(_$result, "other", type$.RegisterEntrypointRequest);
+      return _this._register_entrypoint_request$_$v = _$result;
+    }
+  };
   A.RegisterEvent.prototype = {};
   A._$RegisterEventSerializer.prototype = {
     serialize$3$specifiedType(serializers, object, specifiedType) {
@@ -24195,29 +24742,29 @@
             t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g);
             t1.toString;
             A._asString(t1);
-            $$v = result._register_event$_$v;
+            $$v = result._$v;
             if ($$v != null) {
-              result._register_event$_eventData = $$v.eventData;
-              result._register_event$_timestamp = $$v.timestamp;
-              result._register_event$_$v = null;
+              result._eventData = $$v.eventData;
+              result._timestamp = $$v.timestamp;
+              result._$v = null;
             }
-            result._register_event$_eventData = t1;
+            result._eventData = t1;
             break;
           case "timestamp":
             t1 = serializers.deserialize$2$specifiedType(value, B.FullType_kjq);
             t1.toString;
             A._asInt(t1);
-            $$v = result._register_event$_$v;
+            $$v = result._$v;
             if ($$v != null) {
-              result._register_event$_eventData = $$v.eventData;
-              result._register_event$_timestamp = $$v.timestamp;
-              result._register_event$_$v = null;
+              result._eventData = $$v.eventData;
+              result._timestamp = $$v.timestamp;
+              result._$v = null;
             }
-            result._register_event$_timestamp = t1;
+            result._timestamp = t1;
             break;
         }
       }
-      return result._register_event$_build$0();
+      return result._build$0();
     },
     deserialize$2(serializers, serialized) {
       return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false);
@@ -24251,33 +24798,33 @@
     }
   };
   A.RegisterEventBuilder.prototype = {
-    get$_register_event$_$this() {
+    get$_$this() {
       var _this = this,
-        $$v = _this._register_event$_$v;
+        $$v = _this._$v;
       if ($$v != null) {
-        _this._register_event$_eventData = $$v.eventData;
-        _this._register_event$_timestamp = $$v.timestamp;
-        _this._register_event$_$v = null;
+        _this._eventData = $$v.eventData;
+        _this._timestamp = $$v.timestamp;
+        _this._$v = null;
       }
       return _this;
     },
-    _register_event$_build$0() {
+    _build$0() {
       var t1, t2, t3, t4, _this = this,
         _s13_ = "RegisterEvent",
         _s9_ = "eventData",
         _s9_0 = "timestamp",
-        _$result = _this._register_event$_$v;
+        _$result = _this._$v;
       if (_$result == null) {
         t1 = type$.String;
-        t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_register_event$_$this()._register_event$_eventData, _s13_, _s9_, t1);
+        t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_$this()._eventData, _s13_, _s9_, t1);
         t3 = type$.int;
-        t4 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_register_event$_$this()._register_event$_timestamp, _s13_, _s9_0, t3);
+        t4 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_$this()._timestamp, _s13_, _s9_0, t3);
         _$result = new A._$RegisterEvent(t2, t4);
         A.BuiltValueNullFieldError_checkNotNull(t2, _s13_, _s9_, t1);
         A.BuiltValueNullFieldError_checkNotNull(t4, _s13_, _s9_0, t3);
       }
       A.ArgumentError_checkNotNull(_$result, "other", type$.RegisterEvent);
-      return _this._register_event$_$v = _$result;
+      return _this._$v = _$result;
     }
   };
   A.RunRequest.prototype = {};
@@ -24335,6 +24882,12 @@
     },
     $signature: 57
   };
+  A._$serializers_closure1.prototype = {
+    call$0() {
+      return A.ListBuilder_ListBuilder(B.List_empty, type$.String);
+    },
+    $signature: 58
+  };
   A.BatchedStreamController.prototype = {
     _batchAndSendEvents$0() {
       var $async$goto = 0,
@@ -24468,7 +25021,7 @@
         t1 = this._channel,
         value = t1.__HtmlWebSocketChannel_sink_FI;
       if (value === $) {
-        t2 = t1._html0$_controller.__StreamChannelController__foreign_F;
+        t2 = t1._controller.__StreamChannelController__foreign_F;
         t2 === $ && A.throwLateFieldNI("_foreign");
         t2 = t2.__GuaranteeChannel__sink_F;
         t2 === $ && A.throwLateFieldNI("_sink");
@@ -24479,7 +25032,7 @@
     },
     get$stream(_) {
       var t2,
-        t1 = this._channel._html0$_controller.__StreamChannelController__foreign_F;
+        t1 = this._channel._controller.__StreamChannelController__foreign_F;
       t1 === $ && A.throwLateFieldNI("_foreign");
       t1 = t1.__GuaranteeChannel__streamController_F;
       t1 === $ && A.throwLateFieldNI("_streamController");
@@ -24491,14 +25044,14 @@
     call$1(o) {
       return J.toString$0$(o);
     },
-    $signature: 59
+    $signature: 60
   };
   A.safeUnawaited_closure.prototype = {
     call$2(error, stackTrace) {
       type$.StackTrace._as(stackTrace);
       return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace);
     },
-    $signature: 17
+    $signature: 16
   };
   A.Int64.prototype = {
     $eq(_, other) {
@@ -24677,7 +25230,7 @@
         $parent._children.$indexSet(0, thisName, t1);
       return t1;
     },
-    $signature: 60
+    $signature: 61
   };
   A.Pool.prototype = {
     request$0(_) {
@@ -24993,14 +25546,14 @@
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 25
+    $signature: 24
   };
   A._FetchOptions.prototype = {};
   A.generateUuidV4__generateBits.prototype = {
     call$1(bitCount) {
       return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount));
     },
-    $signature: 21
+    $signature: 20
   };
   A.generateUuidV4__printDigits.prototype = {
     call$2(value, count) {
@@ -25320,7 +25873,7 @@
       t2.get$first(t2).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t3);
     },
     _listen$0() {
-      var t1 = this._html0$_controller.__StreamChannelController__local_F;
+      var t1 = this._controller.__StreamChannelController__local_F;
       t1 === $ && A.throwLateFieldNI("_local");
       t1 = t1.__GuaranteeChannel__streamController_F;
       t1 === $ && A.throwLateFieldNI("_streamController");
@@ -25338,7 +25891,7 @@
       t2.complete$0(0);
       t1._listen$0();
     },
-    $signature: 36
+    $signature: 27
   };
   A.HtmlWebSocketChannel_closure0.prototype = {
     call$1(_) {
@@ -25349,7 +25902,7 @@
       t2 = t1.__HtmlWebSocketChannel__readyCompleter_A;
       t2 === $ && A.throwLateFieldNI("_readyCompleter");
       t2.completeError$1(error);
-      t1 = t1._html0$_controller.__StreamChannelController__local_F;
+      t1 = t1._controller.__StreamChannelController__local_F;
       t1 === $ && A.throwLateFieldNI("_local");
       t2 = t1.__GuaranteeChannel__sink_F;
       t2 === $ && A.throwLateFieldNI("_sink");
@@ -25358,7 +25911,7 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.close$0(0);
     },
-    $signature: 36
+    $signature: 27
   };
   A.HtmlWebSocketChannel_closure1.prototype = {
     call$1($event) {
@@ -25366,13 +25919,13 @@
         data = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true);
       if (type$.ByteBuffer._is(data))
         data = A.NativeUint8List_NativeUint8List$view(data, 0, null);
-      t1 = this.$this._html0$_controller.__StreamChannelController__local_F;
+      t1 = this.$this._controller.__StreamChannelController__local_F;
       t1 === $ && A.throwLateFieldNI("_local");
       t1 = t1.__GuaranteeChannel__sink_F;
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.add$1(0, data);
     },
-    $signature: 35
+    $signature: 36
   };
   A.HtmlWebSocketChannel_closure2.prototype = {
     call$1($event) {
@@ -25380,13 +25933,13 @@
       type$.CloseEvent._as($event);
       $event.code;
       $event.reason;
-      t1 = this.$this._html0$_controller.__StreamChannelController__local_F;
+      t1 = this.$this._controller.__StreamChannelController__local_F;
       t1 === $ && A.throwLateFieldNI("_local");
       t1 = t1.__GuaranteeChannel__sink_F;
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.close$0(0);
     },
-    $signature: 83
+    $signature: 66
   };
   A.HtmlWebSocketChannel__listen_closure.prototype = {
     call$0() {
@@ -25404,8 +25957,7 @@
   A.main_closure.prototype = {
     call$0() {
       var $async$goto = 0,
-        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
-        uri, t1, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, debugEventController, t5;
+        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
       var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -25413,161 +25965,63 @@
           switch ($async$goto) {
             case 0:
               // Function start
-              if (self.$dartAppInstanceId == null)
-                self.$dartAppInstanceId = B.C_Uuid.v1$0();
-              uri = A.Uri_parse(self.$dwdsDevHandlerPath);
-              t1 = type$.Location;
-              t2 = t1._as(window.location).protocol;
-              t2.toString;
-              if (t2 === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost")
-                uri = uri.replace$1$scheme(0, "https");
-              else {
-                t1 = t1._as(window.location).protocol;
-                t1.toString;
-                if (t1 === "wss:" && uri.get$scheme() === "ws" && uri.get$host(uri) !== "localhost")
-                  uri = uri.replace$1$scheme(0, "wss");
-              }
-              fixedPath = uri.toString$0(0);
-              fixedUri = A.Uri_parse(fixedPath);
-              client = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.HtmlWebSocketChannel$connect(fixedUri, null)) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient"));
-              $async$goto = J.$eq$(self.$dartModuleStrategy, "require-js") ? 2 : 4;
-              break;
+              $async$goto = 2;
+              return A._asyncAwait(A.runClient(), $async$call$0);
             case 2:
-              // then
-              $async$goto = 5;
-              return A._asyncAwait(A.RequireRestarter_create(), $async$call$0);
-            case 5:
               // returning from await.
-              restarter = $async$result;
-              // goto join
-              $async$goto = 3;
-              break;
-            case 4:
-              // else
-              if (J.$eq$(self.$dartModuleStrategy, "legacy"))
-                restarter = new A.LegacyRestarter();
-              else
-                throw A.wrapException(A.StateError$("Unknown module strategy: " + A.S(self.$dartModuleStrategy)));
-            case 3:
-              // join
-              manager = new A.ReloadingManager(client, restarter);
-              self.$dartHotRestartDwds = A.allowInterop(new A.main__closure(manager), type$.Promise_bool_Function_String);
-              t1 = $.Zone__current;
-              t2 = Math.max(100, 1);
-              t3 = A.StreamController_StreamController(null, null, false, type$.DebugEvent);
-              t4 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent);
-              debugEventController = new A.BatchedStreamController(t2, 1000, t3, t4, new A._AsyncCompleter(new A._Future(t1, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent);
-              t1 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent);
-              t2 = A.ListQueue$(type$._EventRequest_dynamic);
-              t5 = type$.StreamQueue_DebugEvent;
-              debugEventController.set$__BatchedStreamController__inputQueue_A(t5._as(new A.StreamQueue(new A._ControllerStream(t3, A._instanceType(t3)._eval$1("_ControllerStream<1>")), new A.QueueList(t1, 0, 0, type$.QueueList_Result_DebugEvent), t2, t5)));
-              A.safeUnawaited(debugEventController._batchAndSendEvents$0());
-              new A._ControllerStream(t4, A._instanceType(t4)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client));
-              self.$emitDebugEvent = A.allowInterop(new A.main__closure1(debugEventController), type$.void_Function_String_String);
-              self.$emitRegisterEvent = A.allowInterop(new A.main__closure2(client), type$.void_Function_String);
-              self.$launchDevTools = A.allowInterop(new A.main__closure3(client), type$.void_Function);
-              client.get$stream(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5());
-              if (A.boolConversionCheck(self.$dwdsEnableDevToolsLaunch)) {
-                t1 = window;
-                t1.toString;
-                A._EventStreamSubscription$(t1, "keydown", type$.nullable_void_Function_KeyboardEvent._as(new A.main__closure6()), false, type$.KeyboardEvent);
-              }
-              t1 = window.navigator.vendor;
-              t1.toString;
-              if (B.JSString_methods.contains$1(t1, "Google")) {
-                t1 = client.get$sink();
-                t2 = $.$get$serializers();
-                t3 = new A.ConnectRequestBuilder();
-                type$.nullable_void_Function_ConnectRequestBuilder._as(new A.main__closure7()).call$1(t3);
-                A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._build$0()), null), type$.dynamic);
-              } else
-                A.runMain();
-              A._launchCommunicationWithDebugExtension();
               // implicit return
               return A._asyncReturn(null, $async$completer);
           }
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 66
+    $signature: 101
   };
-  A.main__closure.prototype = {
-    call$1(runId) {
-      return A.toPromise(this.manager.hotRestart$1$runId(A._asString(runId)), type$.bool);
+  A.main_closure0.prototype = {
+    call$2(error, stackTrace) {
+      type$.Object._as(error);
+      type$.StackTrace._as(stackTrace);
+      A.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" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n");
     },
-    $signature: 67
+    $signature: 11
   };
-  A.main__closure0.prototype = {
-    call$1(events) {
-      var t1, t2, t3;
-      type$.List_DebugEvent._as(events);
-      if (A.boolConversionCheck(self.$dartEmitDebugEvents)) {
-        t1 = this.client.get$sink();
-        t2 = $.$get$serializers();
-        t3 = new A.BatchedDebugEventsBuilder();
-        type$.nullable_void_Function_BatchedDebugEventsBuilder._as(new A.main___closure2(events)).call$1(t3);
-        A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._debug_event$_build$0()), null), type$.dynamic);
+  A.runClient_closure.prototype = {
+    call$2(appName, entrypointPath) {
+      var t1, t2;
+      A._asString(appName);
+      A._asString(entrypointPath);
+      t1 = this.appInfo;
+      t2 = J.getInterceptor$x(t1);
+      if (J.contains$1$asx(t2.get$entrypoints(t1), entrypointPath))
+        return;
+      J.add$1$ax(t2.get$entrypoints(t1), entrypointPath);
+      t1 = window.navigator.vendor;
+      t1.toString;
+      if (B.JSString_methods.contains$1(t1, "Google")) {
+        A.print("Injected Client " + A.S(self.$dartAppInstanceId) + ": sending registerEntrypoint request for " + appName + " (" + entrypointPath + ")");
+        this.connection.sendRegisterEntrypointRequest$2(appName, entrypointPath);
       }
     },
-    $signature: 68
+    $signature: 12
   };
-  A.main___closure2.prototype = {
-    call$1(b) {
-      var t1 = A.ListBuilder_ListBuilder(this.events, type$.DebugEvent);
-      type$.nullable_ListBuilder_DebugEvent._as(t1);
-      b.get$_debug_event$_$this().set$_events(t1);
-      return t1;
+  A.runClient_closure0.prototype = {
+    call$1(runId) {
+      return A.toPromise(this.manager.hotRestart$1$runId(A._asString(runId)), type$.bool);
     },
-    $signature: 69
+    $signature: 68
   };
-  A.main__closure1.prototype = {
+  A.runClient_closure1.prototype = {
     call$2(kind, eventData) {
-      var t1, t2;
       A._asString(kind);
       A._asString(eventData);
-      if (A.boolConversionCheck(self.$dartEmitDebugEvents)) {
-        t1 = this.debugEventController._inputController;
-        t2 = new A.DebugEventBuilder();
-        type$.nullable_void_Function_DebugEventBuilder._as(new A.main___closure1(kind, eventData)).call$1(t2);
-        A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent);
-      }
+      if (A.boolConversionCheck(J.get$emitDebugEvents$x(this.appInfo)))
+        this.connection.sendDebugEvent$2(kind, eventData);
     },
-    $signature: 15
+    $signature: 12
   };
-  A.main___closure1.prototype = {
-    call$1(b) {
-      var t1 = Date.now();
-      b.get$_debug_event$_$this()._timestamp = t1;
-      b.get$_debug_event$_$this()._debug_event$_kind = this.kind;
-      b.get$_debug_event$_$this()._eventData = this.eventData;
-      return b;
-    },
-    $signature: 70
-  };
-  A.main__closure2.prototype = {
-    call$1(eventData) {
-      var t1, t2, t3;
-      A._asString(eventData);
-      t1 = this.client.get$sink();
-      t2 = $.$get$serializers();
-      t3 = new A.RegisterEventBuilder();
-      type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3);
-      A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic);
-    },
-    $signature: 33
-  };
-  A.main___closure0.prototype = {
-    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;
-      return b;
-    },
-    $signature: 72
-  };
-  A.main__closure3.prototype = {
+  A.runClient_closure2.prototype = {
     call$0() {
-      var t2, t3,
+      var t2,
         t1 = window.navigator.vendor;
       t1.toString;
       if (!B.JSString_methods.contains$1(t1, "Google")) {
@@ -25576,32 +26030,20 @@
         B.Window_methods.alert$1(t1, "Dart DevTools is only supported on Chromium based browsers.");
         return;
       }
-      t1 = this.client.get$sink();
-      t2 = $.$get$serializers();
-      t3 = new A.DevToolsRequestBuilder();
-      type$.nullable_void_Function_DevToolsRequestBuilder._as(new A.main___closure()).call$1(t3);
-      A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._devtools_request$_build$0()), null), type$.dynamic);
+      t1 = this.appInfo;
+      t2 = J.getInterceptor$x(t1);
+      this.connection.sendDevToolsRequest$2(t2.get$appId(t1), t2.get$appInstanceId(t1));
     },
     $signature: 0
   };
-  A.main___closure.prototype = {
-    call$1(b) {
-      var t1 = A._asStringQ(self.$dartAppId);
-      b.get$_devtools_request$_$this()._devtools_request$_appId = t1;
-      t1 = A._asStringQ(self.$dartAppInstanceId);
-      b.get$_devtools_request$_$this()._devtools_request$_instanceId = t1;
-      return b;
-    },
-    $signature: 73
-  };
-  A.main__closure4.prototype = {
+  A.runClient_closure3.prototype = {
     call$1(serialized) {
-      return this.$call$body$main__closure(A._asString(serialized));
+      return this.$call$body$runClient_closure(A._asString(serialized));
     },
-    $call$body$main__closure(serialized) {
+    $call$body$runClient_closure(serialized) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.void),
-        $async$self = this, $alert, t1, win, t2, t3, $event;
+        $async$self = this, t1, t2, $alert, win, t3, $event;
       var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -25614,7 +26056,9 @@
               break;
             case 2:
               // then
-              $async$goto = J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.liveReload") ? 5 : 7;
+              t1 = $async$self.appInfo;
+              t2 = J.getInterceptor$x(t1);
+              $async$goto = J.$eq$(t2.get$reloadConfiguration(t1), "ReloadConfiguration.liveReload") ? 5 : 7;
               break;
             case 5:
               // then
@@ -25624,7 +26068,7 @@
               break;
             case 7:
               // else
-              $async$goto = J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.hotRestart") ? 8 : 10;
+              $async$goto = J.$eq$(t2.get$reloadConfiguration(t1), "ReloadConfiguration.hotRestart") ? 8 : 10;
               break;
             case 8:
               // then
@@ -25637,7 +26081,7 @@
               break;
             case 10:
               // else
-              if (J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.hotReload"))
+              if (J.$eq$(t2.get$reloadConfiguration(t1), "ReloadConfiguration.hotReload"))
                 A.print("Hot reload is currently unsupported. Ignoring change.");
             case 9:
               // join
@@ -25685,14 +26129,14 @@
       });
       return A._asyncStartSync($async$call$1, $async$completer);
     },
-    $signature: 74
+    $signature: 69
   };
-  A.main__closure5.prototype = {
+  A.runClient_closure4.prototype = {
     call$1(error) {
     },
     $signature: 7
   };
-  A.main__closure6.prototype = {
+  A.runClient_closure5.prototype = {
     call$1(e) {
       var t1;
       if (type$.KeyboardEvent._is(e))
@@ -25721,62 +26165,36 @@
     },
     $signature: 4
   };
-  A.main__closure7.prototype = {
-    call$1(b) {
-      var t1 = A._asStringQ(self.$dartAppId);
-      b.get$_connect_request$_$this()._appId = t1;
-      t1 = A._asStringQ(self.$dartAppInstanceId);
-      b.get$_connect_request$_$this()._instanceId = t1;
-      t1 = A._asStringQ(self.$dartEntrypointPath);
-      b.get$_connect_request$_$this()._entrypointPath = t1;
-      return b;
-    },
-    $signature: 75
-  };
-  A.main_closure0.prototype = {
-    call$2(error, stackTrace) {
-      type$.Object._as(error);
-      type$.StackTrace._as(stackTrace);
-      A.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" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n");
-    },
-    $signature: 11
-  };
   A._launchCommunicationWithDebugExtension_closure.prototype = {
     call$1(b) {
-      var t2,
-        t1 = A._asStringQ(self.$dartEntrypointPath);
-      b.get$_$this()._appEntrypointPath = t1;
-      t1 = window;
-      t1.toString;
-      t1 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartAppId"));
-      b.get$_$this()._debug_info$_appId = t1;
-      t1 = A._asStringQ(self.$dartAppInstanceId);
-      b.get$_$this()._appInstanceId = t1;
-      t1 = type$.Location;
-      t2 = B.Location_methods.get$origin(t1._as(window.location));
-      b.get$_$this()._appOrigin = t2;
-      t1 = t1._as(window.location).href;
-      t1.toString;
-      b.get$_$this()._appUrl = t1;
-      t1 = A._authUrl();
-      b.get$_$this()._authUrl = t1;
-      t1 = window;
-      t1.toString;
-      t1 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartExtensionUri"));
-      b.get$_$this()._extensionUrl = t1;
-      t1 = window;
-      t1.toString;
-      t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$isInternalBuild"));
-      b.get$_$this()._isInternalBuild = t1;
-      t1 = window;
-      t1.toString;
-      t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$isFlutterApp"));
-      b.get$_$this()._isFlutterApp = t1;
-      t1 = A._asStringQ(self.$dartWorkspaceName);
-      b.get$_$this()._workspaceName = t1;
+      var t4,
+        t1 = this.appInfo,
+        t2 = J.getInterceptor$x(t1),
+        t3 = A._asStringQ(t2.get$appName(t1));
+      b.get$_debug_info$_$this()._appEntrypointPath = t3;
+      t3 = A._asStringQ(t2.get$appId(t1));
+      b.get$_debug_info$_$this()._appId = t3;
+      t3 = A._asStringQ(t2.get$appInstanceId(t1));
+      b.get$_debug_info$_$this()._appInstanceId = t3;
+      t3 = type$.Location;
+      t4 = B.Location_methods.get$origin(t3._as(window.location));
+      b.get$_debug_info$_$this()._appOrigin = t4;
+      t3 = t3._as(window.location).href;
+      t3.toString;
+      b.get$_debug_info$_$this()._appUrl = t3;
+      t3 = A.authUrl(t2.get$extensionUrl(t1));
+      b.get$_debug_info$_$this()._authUrl = t3;
+      t3 = A._asStringQ(t2.get$extensionUrl(t1));
+      b.get$_debug_info$_$this()._extensionUrl = t3;
+      t3 = A._asBoolQ(t2.get$isInternalBuild(t1));
+      b.get$_debug_info$_$this()._isInternalBuild = t3;
+      t3 = A._asBoolQ(t2.get$isFlutterApp(t1));
+      b.get$_debug_info$_$this()._isFlutterApp = t3;
+      t1 = A._asStringQ(t2.get$workspaceName(t1));
+      b.get$_debug_info$_$this()._workspaceName = t1;
       return b;
     },
-    $signature: 76
+    $signature: 70
   };
   A._listenForDebugExtensionAuthRequest_closure.prototype = {
     call$1($event) {
@@ -25785,7 +26203,7 @@
     $call$body$_listenForDebugExtensionAuthRequest_closure($event) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
-        $async$returnValue, t1, $async$temp1, $async$temp2, $async$temp3, $async$temp4;
+        $async$returnValue, $async$self = this, auth, $async$temp1, $async$temp2, $async$temp3, $async$temp4;
       var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -25804,18 +26222,17 @@
                 $async$goto = 1;
                 break;
               }
-              $async$goto = A._authUrl() != null ? 3 : 4;
+              auth = A.authUrl(J.get$extensionUrl$x($async$self.appInfo));
+              $async$goto = auth != null ? 3 : 4;
               break;
             case 3:
               // then
-              t1 = A._authUrl();
-              t1.toString;
               $async$temp1 = self.window.top.document;
               $async$temp2 = A;
               $async$temp3 = "dart-auth-response";
               $async$temp4 = A;
               $async$goto = 5;
-              return A._asyncAwait(A._authenticateUser(t1), $async$call$1);
+              return A._asyncAwait(A._authenticateUser(auth), $async$call$1);
             case 5:
               // returning from await.
               $async$temp1.dispatchEvent($async$temp2.CustomEvent_CustomEvent($async$temp3, $async$temp4.S($async$result)));
@@ -25828,8 +26245,118 @@
       });
       return A._asyncStartSync($async$call$1, $async$completer);
     },
+    $signature: 71
+  };
+  A.DevHandlerConnection.prototype = {
+    sendConnectRequest$4(appName, appId, appInstanceId, entrypoints) {
+      var t1 = new A.ConnectRequestBuilder();
+      type$.nullable_void_Function_ConnectRequestBuilder._as(new A.DevHandlerConnection_sendConnectRequest_closure(appName, appId, appInstanceId, type$.List_String._as(entrypoints))).call$1(t1);
+      this._serializeAndTrySendEvent$1$1(t1._connect_request$_build$0(), type$.ConnectRequest);
+    },
+    sendRegisterEntrypointRequest$2(appName, entrypointPath) {
+      var t1 = new A.RegisterEntrypointRequestBuilder();
+      type$.nullable_void_Function_RegisterEntrypointRequestBuilder._as(new A.DevHandlerConnection_sendRegisterEntrypointRequest_closure(appName, entrypointPath)).call$1(t1);
+      this._serializeAndTrySendEvent$1$1(t1._register_entrypoint_request$_build$0(), type$.RegisterEntrypointRequest);
+    },
+    _sendBatchedDebugEvents$1(events) {
+      var t1 = new A.BatchedDebugEventsBuilder();
+      type$.nullable_void_Function_BatchedDebugEventsBuilder._as(new A.DevHandlerConnection__sendBatchedDebugEvents_closure(type$.List_DebugEvent._as(events))).call$1(t1);
+      this._serializeAndTrySendEvent$1$1(t1._debug_event$_build$0(), type$.BatchedDebugEvents);
+    },
+    sendDebugEvent$2(kind, eventData) {
+      var t1 = this.debugEventController._inputController,
+        t2 = new A.DebugEventBuilder();
+      type$.nullable_void_Function_DebugEventBuilder._as(new A.DevHandlerConnection_sendDebugEvent_closure(kind, eventData)).call$1(t2);
+      this._trySendEvent$1$2(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent);
+    },
+    sendRegisterEvent$1(eventData) {
+      var t1 = new A.RegisterEventBuilder();
+      type$.nullable_void_Function_RegisterEventBuilder._as(new A.DevHandlerConnection_sendRegisterEvent_closure(A._asString(eventData))).call$1(t1);
+      this._serializeAndTrySendEvent$1$1(t1._build$0(), type$.RegisterEvent);
+    },
+    sendDevToolsRequest$2(appId, appInstanceId) {
+      var t1 = new A.DevToolsRequestBuilder();
+      type$.nullable_void_Function_DevToolsRequestBuilder._as(new A.DevHandlerConnection_sendDevToolsRequest_closure(appId, appInstanceId)).call$1(t1);
+      this._serializeAndTrySendEvent$1$1(t1._devtools_request$_build$0(), type$.DevToolsRequest);
+    },
+    _trySendEvent$1$2(sink, $event, $T) {
+      var exception;
+      $T._eval$1("StreamSink<0>")._as(sink);
+      $T._as($event);
+      try {
+        sink.add$1(0, $event);
+      } catch (exception) {
+        if (A.unwrapException(exception) instanceof A.StateError)
+          A.print("Cannot send event " + A.S($event) + ". Injected client connection is closed.");
+        else
+          throw exception;
+      }
+    },
+    _serializeAndTrySendEvent$1$1(object, $T) {
+      var t1;
+      $T._as(object);
+      t1 = this.__DevHandlerConnection_client_F;
+      t1 === $ && A.throwLateFieldNI("client");
+      this._trySendEvent$1$2(t1.get$sink(), B.C_JsonCodec.encode$2$toEncodable($.$get$serializers().serialize$1(object), null), type$.dynamic);
+    }
+  };
+  A.DevHandlerConnection_sendConnectRequest_closure.prototype = {
+    call$1(b) {
+      var t1, _this = this;
+      b.get$_connect_request$_$this()._appName = _this.appName;
+      b.get$_connect_request$_$this()._connect_request$_appId = _this.appId;
+      b.get$_connect_request$_$this()._instanceId = _this.appInstanceId;
+      t1 = type$.nullable_ListBuilder_String._as(A.ListBuilder_ListBuilder(_this.entrypoints, type$.String));
+      b.get$_connect_request$_$this().set$_entrypoints(t1);
+      return b;
+    },
+    $signature: 74
+  };
+  A.DevHandlerConnection_sendRegisterEntrypointRequest_closure.prototype = {
+    call$1(b) {
+      b.get$_register_entrypoint_request$_$this()._register_entrypoint_request$_appName = this.appName;
+      b.get$_register_entrypoint_request$_$this()._entrypointPath = this.entrypointPath;
+      return b;
+    },
+    $signature: 75
+  };
+  A.DevHandlerConnection__sendBatchedDebugEvents_closure.prototype = {
+    call$1(b) {
+      var t1 = A.ListBuilder_ListBuilder(this.events, type$.DebugEvent);
+      type$.nullable_ListBuilder_DebugEvent._as(t1);
+      b.get$_debug_event$_$this().set$_events(t1);
+      return t1;
+    },
+    $signature: 76
+  };
+  A.DevHandlerConnection_sendDebugEvent_closure.prototype = {
+    call$1(b) {
+      var t1 = Date.now();
+      b.get$_debug_event$_$this()._debug_event$_timestamp = t1;
+      b.get$_debug_event$_$this()._debug_event$_kind = this.kind;
+      b.get$_debug_event$_$this()._debug_event$_eventData = this.eventData;
+      return b;
+    },
     $signature: 77
   };
+  A.DevHandlerConnection_sendRegisterEvent_closure.prototype = {
+    call$1(b) {
+      var t1 = Date.now();
+      b.get$_$this()._timestamp = t1;
+      b.get$_$this()._eventData = this.eventData;
+      return b;
+    },
+    $signature: 78
+  };
+  A.DevHandlerConnection_sendDevToolsRequest_closure.prototype = {
+    call$1(b) {
+      b.get$_devtools_request$_$this()._devtools_request$_appId = this.appId;
+      b.get$_devtools_request$_$this()._devtools_request$_instanceId = this.appInstanceId;
+      return b;
+    },
+    $signature: 79
+  };
+  A.AppInfo.prototype = {};
   A.LegacyRestarter.prototype = {
     restart$1$runId(runId) {
       var $async$goto = 0,
@@ -25878,7 +26405,7 @@
       if (t1)
         this.reloadCompleter.complete$1(0, true);
     },
-    $signature: 35
+    $signature: 36
   };
   A.LegacyRestarter_restart_closure.prototype = {
     call$1(value) {
@@ -25886,7 +26413,7 @@
       this.sub.cancel$0(0);
       return value;
     },
-    $signature: 78
+    $signature: 80
   };
   A.ReloadingManager.prototype = {
     hotRestart$1$runId(runId) {
@@ -25991,7 +26518,7 @@
               // returning from await.
               newDigests = $async$result;
               modulesToLoad = A._setArrayType([], type$.JSArray_String);
-              for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests.__late_helper$_name, t5 = type$.Location; t2.moveNext$0();) {
+              for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests._name, t5 = type$.Location; t2.moveNext$0();) {
                 t6 = t2.get$current(t2);
                 t7 = $.___lastKnownDigests.__late_helper$_value;
                 if (t7 === $.___lastKnownDigests)
@@ -26298,7 +26825,7 @@
     call$1(e) {
       this.completer.completeError$2(new A.HotReloadFailedException(J.get$message$x(type$.JsError._as(e))), this.stackTrace);
     },
-    $signature: 81
+    $signature: 83
   };
   A._createScript_closure.prototype = {
     call$0() {
@@ -26307,7 +26834,7 @@
         return A.html_ScriptElement___new_tearOff$closure();
       return new A._createScript__closure(nonce);
     },
-    $signature: 82
+    $signature: 84
   };
   A._createScript__closure.prototype = {
     call$0() {
@@ -26315,7 +26842,7 @@
       t1.setAttribute("nonce", this.nonce);
       return t1;
     },
-    $signature: 14
+    $signature: 33
   };
   (function aliases() {
     var _ = J.Interceptor.prototype;
@@ -26328,7 +26855,7 @@
     _ = A._HashMap.prototype;
     _.super$_HashMap$_containsKey = _._containsKey$1;
     _.super$_HashMap$_get = _._get$1;
-    _.super$_HashMap$_set = _._set$2;
+    _.super$_HashMap$_set = _._collection$_set$2;
     _ = A.Iterable.prototype;
     _.super$Iterable$where = _.where$1;
     _ = A.Object.prototype;
@@ -26362,73 +26889,75 @@
     _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 3);
     _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11);
     _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
-    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 86, 0);
+    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 88, 0);
     _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
       return A._rootRun($self, $parent, zone, f, type$.dynamic);
-    }], 87, 1);
+    }], 89, 1);
     _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
       return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic);
-    }], 88, 1);
+    }], 90, 1);
     _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
       return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 89, 1);
+    }], 91, 1);
     _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
       return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic);
-    }], 90, 0);
+    }], 92, 0);
     _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
       return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic);
-    }], 91, 0);
+    }], 93, 0);
     _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
       return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 92, 0);
-    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 93, 0);
-    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 94, 0);
-    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 95, 0);
-    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 96, 0);
-    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 97, 0);
-    _static_1(A, "async___printToZone$closure", "_printToZone", 33);
-    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 98, 0);
-    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 32, 0, 0);
+    }], 94, 0);
+    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 95, 0);
+    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 96, 0);
+    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 97, 0);
+    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 98, 0);
+    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 99, 0);
+    _static_1(A, "async___printToZone$closure", "_printToZone", 30);
+    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 100, 0);
+    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 34, 0, 0);
     _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() {
       return [null];
-    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 54, 0, 0);
+    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 53, 0, 0);
     _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 11);
     var _;
-    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 16);
+    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 15);
     _instance(_, "get$addError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 32, 0, 0);
+    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 34, 0, 0);
     _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
-    _instance_1_u(_, "get$_handleData", "_handleData$1", 16);
-    _instance_2_u(_, "get$_handleError", "_handleError$2", 17);
+    _instance_1_u(_, "get$_handleData", "_handleData$1", 15);
+    _instance_2_u(_, "get$_handleError", "_handleError$2", 16);
     _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
-    _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 12);
-    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 13);
+    _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 13);
+    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 14);
     _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 28);
     _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 1);
-    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 13);
-    _static_2(A, "core__identical$closure", "identical", 12);
-    _static_0(A, "html_ScriptElement___new_tearOff$closure", "ScriptElement___new_tearOff", 14);
-    _static(A, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 30, 0);
-    _static(A, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 30, 0);
+    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 14);
+    _static_2(A, "core__identical$closure", "identical", 13);
+    _static_0(A, "html_ScriptElement___new_tearOff$closure", "ScriptElement___new_tearOff", 33);
+    _static(A, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 35, 0);
+    _static(A, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 35, 0);
     _instance_0_i(A.Node.prototype, "get$remove", "remove$0", 0);
     _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 3);
-    _static_1(A, "js___convertToJS$closure", "_convertToJS", 34);
+    _static_1(A, "js___convertToJS$closure", "_convertToJS", 32);
     _static_1(A, "js___convertToDart$closure", "_convertToDart", 2);
-    _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 12);
-    _instance_1_i(_, "get$hash", "hash$1", 13);
+    _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 13);
+    _instance_1_i(_, "get$hash", "hash$1", 14);
     _instance_1_u(_, "get$isValidKey", "isValidKey$1", 55);
     _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 4);
     _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 4);
     _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0);
-    _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 61);
-    _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 79);
-    _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 80);
+    _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 62);
+    _instance_1_u(_ = A.DevHandlerConnection.prototype, "get$_sendBatchedDebugEvents", "_sendBatchedDebugEvents$1", 72);
+    _instance_1_u(_, "get$sendRegisterEvent", "sendRegisterEvent$1", 30);
+    _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 81);
+    _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 82);
   })();
   (function inheritance() {
     var _mixin = hunkHelpers.mixin,
@@ -26436,22 +26965,22 @@
       _inherit = hunkHelpers.inherit,
       _inheritMany = hunkHelpers.inheritMany;
     _inherit(A.Object, null);
-    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A._Html5NodeValidator, A.ImmutableListMixin, A.NodeValidatorBuilder, A._SimpleNodeValidator, A._SvgNodeValidator, A.FixedSizeListIterator, A._DOMWindowCrossFrame, A._SameOriginUriPolicy, A._ValidatingTreeSanitizer, A._StructuredClone, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
+    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A._Html5NodeValidator, A.ImmutableListMixin, A.NodeValidatorBuilder, A._SimpleNodeValidator, A._SvgNodeValidator, A.FixedSizeListIterator, A._DOMWindowCrossFrame, A._SameOriginUriPolicy, A._ValidatingTreeSanitizer, A._StructuredClone, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEntrypointRequest, A._$RegisterEntrypointRequestSerializer, A.RegisterEntrypointRequestBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.WebSocketChannelException, A.DevHandlerConnection, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
     _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]);
     _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A.DomImplementation, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SharedArrayBuffer, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.KeyRange, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]);
-    _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A._FetchOptions, A.Promise, A.RequireLoader, A.JsError, A.JsMap]);
+    _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A._FetchOptions, A.AppInfo, A.Promise, A.RequireLoader, A.JsError, A.JsMap]);
     _inherit(J.JSUnmodifiableArray, J.JSArray);
     _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]);
     _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.SkipIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]);
     _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]);
     _inherit(A._EfficientLengthCastIterable, A.CastIterable);
     _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin);
-    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertDartToNative_Value_closure, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4__generateBits, A._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]);
-    _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._ValidatingTreeSanitizer_sanitizeTree_walk, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.convertDartToNative_Dictionary_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4__printDigits, A.generateUuidV4__bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]);
+    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertDartToNative_Value_closure, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4__generateBits, A._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.runClient_closure0, A.runClient_closure3, A.runClient_closure4, A.runClient_closure5, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.DevHandlerConnection_sendConnectRequest_closure, A.DevHandlerConnection_sendRegisterEntrypointRequest_closure, A.DevHandlerConnection__sendBatchedDebugEvents_closure, A.DevHandlerConnection_sendDebugEvent_closure, A.DevHandlerConnection_sendRegisterEvent_closure, A.DevHandlerConnection_sendDevToolsRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]);
+    _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._ValidatingTreeSanitizer_sanitizeTree_walk, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.convertDartToNative_Dictionary_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4__printDigits, A.generateUuidV4__bitsDigits, A.main_closure0, A.runClient_closure, A.runClient_closure1, A.toPromise_closure]);
     _inherit(A.CastList, A._CastListBase);
     _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap, A._AttributeMap]);
     _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]);
-    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A._createScript_closure, A._createScript__closure]);
+    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A._$serializers_closure1, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.runClient_closure2, A.RequireRestarter__reload_closure, A._createScript_closure, A._createScript__closure]);
     _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable]);
     _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable]);
     _inherit(A.EfficientLengthMappedIterable, A.MappedIterable);
@@ -26589,6 +27118,7 @@
     _inherit(A._$BatchedEvents, A.BatchedEvents);
     _inherit(A._$IsolateExit, A.IsolateExit);
     _inherit(A._$IsolateStart, A.IsolateStart);
+    _inherit(A._$RegisterEntrypointRequest, A.RegisterEntrypointRequest);
     _inherit(A._$RegisterEvent, A.RegisterEvent);
     _inherit(A._$RunRequest, A.RunRequest);
     _inheritMany(A.SocketClient, [A.SseSocketClient, A.WebSocketClient]);
@@ -26660,12 +27190,12 @@
     typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
     mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"},
     mangledNames: {},
-    types: ["~()", "@(@)", "Object?(@)", "~(@)", "~(Event)", "Null()", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "~(@,@)", "~(~())", "~(Object,StackTrace)", "bool(Object?,Object?)", "int(Object?)", "ScriptElement()", "~(String,String)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "String(String)", "~(Uint8List,String,int)", "Future<Null>()", "bool(NodeValidator)", "bool(String)", "int(@,@)", "String(int,int)", "bool(Element,String,String,_Html5NodeValidator)", "bool()", "~(Object[StackTrace?])", "~(String)", "Object?(Object?)", "~(MessageEvent)", "Null(Event)", "~(Node,Node?)", "Null(@,@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "_Future<@>(@)", "SetMultimapBuilder<Object,Object>()", "~(int,@)", "Null(@,StackTrace)", "~(ProgressEvent)", "~([Object?])", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "bool(Node)", "String(@)", "Logger()", "~(String?)", "Uint8List(@,@)", "~(String,int?)", "~(String,int)", "Null(~())", "Future<~>()", "Promise<1&>(String)", "~(List<DebugEvent>)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "Future<Null>(Event)", "bool(bool)", "List<String>(String)", "int(String,String)", "~(JsError)", "ScriptElement()()", "Null(CloseEvent)", "@(@,String)", "@(String)", "~(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)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "SetBuilder<Object>()"],
+    types: ["~()", "@(@)", "Object?(@)", "~(@)", "~(Event)", "Null()", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "~(@,@)", "~(~())", "~(Object,StackTrace)", "~(String,String)", "bool(Object?,Object?)", "int(Object?)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "String(String)", "~(Uint8List,String,int)", "Future<Null>()", "bool(NodeValidator)", "bool(String)", "Null(Event)", "int(@,@)", "String(int,int)", "~(String)", "bool()", "Object?(Object?)", "ScriptElement()", "~(Object[StackTrace?])", "bool(Element,String,String,_Html5NodeValidator)", "~(MessageEvent)", "~(Node,Node?)", "Null(@,@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "SetMultimapBuilder<Object,Object>()", "~(int,@)", "~(ProgressEvent)", "~([Object?])", "@(String)", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "ListBuilder<String>()", "bool(Node)", "String(@)", "Logger()", "~(String?)", "Uint8List(@,@)", "~(String,int?)", "~(String,int)", "Null(CloseEvent)", "Null(@,StackTrace)", "Promise<1&>(String)", "Future<~>(String)", "DebugInfoBuilder(DebugInfoBuilder)", "Future<Null>(Event)", "~(List<DebugEvent>)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "ConnectRequestBuilder(ConnectRequestBuilder)", "RegisterEntrypointRequestBuilder(RegisterEntrypointRequestBuilder)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "bool(bool)", "List<String>(String)", "int(String,String)", "~(JsError)", "ScriptElement()()", "Null(~())", "_Future<@>(@)", "@(@,String)", "~(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)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "Future<~>()"],
     interceptorsByTag: null,
     leafTags: null,
     arrayRti: Symbol("$ti")
   };
-  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","_FetchOptions":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"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","MathMLElement":"Element","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[],"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_InconsistentSubtypingError":{"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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JSObject":[]},"CssRule":{"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JSObject":[]},"Event":{"JSObject":[]},"File":{"Blob":[],"JSObject":[]},"Gamepad":{"JSObject":[]},"HttpRequest":{"EventTarget":[],"JSObject":[]},"KeyboardEvent":{"Event":[],"JSObject":[]},"MessageEvent":{"Event":[],"JSObject":[]},"MimeType":{"JSObject":[]},"Node":{"EventTarget":[],"JSObject":[]},"Plugin":{"JSObject":[]},"ProgressEvent":{"Event":[],"JSObject":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JSObject":[]},"SpeechGrammar":{"JSObject":[]},"SpeechRecognitionResult":{"JSObject":[]},"StyleSheet":{"JSObject":[]},"TextTrack":{"EventTarget":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JSObject":[]},"Touch":{"JSObject":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AccessibleNodeList":{"JSObject":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"Blob":{"JSObject":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JSObject":[]},"CssPerspective":{"JSObject":[]},"CssStyleDeclaration":{"JSObject":[]},"CssStyleValue":{"JSObject":[]},"CssTransformComponent":{"JSObject":[]},"CssTransformValue":{"JSObject":[]},"CssUnparsedValue":{"JSObject":[]},"CustomEvent":{"Event":[],"JSObject":[]},"DataTransferItemList":{"JSObject":[]},"Document":{"Node":[],"EventTarget":[],"JSObject":[]},"DomException":{"JSObject":[]},"DomImplementation":{"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JSObject":[]},"_FrozenElementList":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"EventSource":{"EventTarget":[],"JSObject":[]},"EventTarget":{"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JSObject":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"History":{"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[],"JSObject":[]},"HttpRequestEventTarget":{"EventTarget":[],"JSObject":[]},"ImageData":{"JSObject":[]},"Location":{"JSObject":[]},"MediaList":{"JSObject":[]},"MessagePort":{"EventTarget":[],"JSObject":[]},"MidiInputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"_ChildNodeListLazy":{"ListBase":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListBase.E":"Node","Iterable.E":"Node"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SharedArrayBuffer":{"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JSObject":[]},"UIEvent":{"Event":[],"JSObject":[]},"Url":{"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JSObject":[]},"Window":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JSObject":[]},"_Attr":{"Node":[],"EventTarget":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_AttributeMap":{"MapBase":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapBase":["String","String"],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"KeyRange":{"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JSObject":[]},"Number":{"JSObject":[]},"Transform":{"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JSObject":[]},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JSObject":[]},"AudioParamMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":["@"]},"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":[]}}'));
+  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","_FetchOptions":"LegacyJavaScriptObject","AppInfo":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"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","MathMLElement":"Element","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[],"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_InconsistentSubtypingError":{"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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JSObject":[]},"CssRule":{"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JSObject":[]},"Event":{"JSObject":[]},"File":{"Blob":[],"JSObject":[]},"Gamepad":{"JSObject":[]},"HttpRequest":{"EventTarget":[],"JSObject":[]},"KeyboardEvent":{"Event":[],"JSObject":[]},"MessageEvent":{"Event":[],"JSObject":[]},"MimeType":{"JSObject":[]},"Node":{"EventTarget":[],"JSObject":[]},"Plugin":{"JSObject":[]},"ProgressEvent":{"Event":[],"JSObject":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JSObject":[]},"SpeechGrammar":{"JSObject":[]},"SpeechRecognitionResult":{"JSObject":[]},"StyleSheet":{"JSObject":[]},"TextTrack":{"EventTarget":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JSObject":[]},"Touch":{"JSObject":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AccessibleNodeList":{"JSObject":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"Blob":{"JSObject":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JSObject":[]},"CssPerspective":{"JSObject":[]},"CssStyleDeclaration":{"JSObject":[]},"CssStyleValue":{"JSObject":[]},"CssTransformComponent":{"JSObject":[]},"CssTransformValue":{"JSObject":[]},"CssUnparsedValue":{"JSObject":[]},"CustomEvent":{"Event":[],"JSObject":[]},"DataTransferItemList":{"JSObject":[]},"Document":{"Node":[],"EventTarget":[],"JSObject":[]},"DomException":{"JSObject":[]},"DomImplementation":{"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JSObject":[]},"_FrozenElementList":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"EventSource":{"EventTarget":[],"JSObject":[]},"EventTarget":{"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JSObject":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"History":{"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[],"JSObject":[]},"HttpRequestEventTarget":{"EventTarget":[],"JSObject":[]},"ImageData":{"JSObject":[]},"Location":{"JSObject":[]},"MediaList":{"JSObject":[]},"MessagePort":{"EventTarget":[],"JSObject":[]},"MidiInputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"_ChildNodeListLazy":{"ListBase":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListBase.E":"Node","Iterable.E":"Node"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SharedArrayBuffer":{"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JSObject":[]},"UIEvent":{"Event":[],"JSObject":[]},"Url":{"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JSObject":[]},"Window":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JSObject":[]},"_Attr":{"Node":[],"EventTarget":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_AttributeMap":{"MapBase":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapBase":["String","String"],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"KeyRange":{"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JSObject":[]},"Number":{"JSObject":[]},"Transform":{"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JSObject":[]},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JSObject":[]},"AudioParamMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":[]},"_$RegisterEntrypointRequestSerializer":{"StructuredSerializer":["RegisterEntrypointRequest"],"Serializer":["RegisterEntrypointRequest"]},"_$RegisterEntrypointRequest":{"RegisterEntrypointRequest":[]},"_$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":["@"]},"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":[]}}'));
   A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_DelayedEvent":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
   var string$ = {
     ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
@@ -26690,6 +27220,7 @@
       BuiltListMultimap_dynamic_dynamic: findType("BuiltListMultimap<@,@>"),
       BuiltList_DebugEvent: findType("BuiltList<DebugEvent>"),
       BuiltList_ExtensionEvent: findType("BuiltList<ExtensionEvent>"),
+      BuiltList_String: findType("BuiltList<String>"),
       BuiltList_dynamic: findType("BuiltList<@>"),
       BuiltList_nullable_Object: findType("BuiltList<Object?>"),
       BuiltMap_dynamic_dynamic: findType("BuiltMap<@,@>"),
@@ -26757,6 +27288,7 @@
       Level: findType("Level"),
       ListBuilder_DebugEvent: findType("ListBuilder<DebugEvent>"),
       ListBuilder_ExtensionEvent: findType("ListBuilder<ExtensionEvent>"),
+      ListBuilder_String: findType("ListBuilder<String>"),
       ListBuilder_dynamic: findType("ListBuilder<@>"),
       ListEquality_dynamic: findType("ListEquality<@>"),
       ListMultimapBuilder_dynamic_dynamic: findType("ListMultimapBuilder<@,@>"),
@@ -26796,6 +27328,7 @@
       Rectangle_num: findType("Rectangle<num>"),
       RegExp: findType("RegExp"),
       RegExpMatch: findType("RegExpMatch"),
+      RegisterEntrypointRequest: findType("RegisterEntrypointRequest"),
       RegisterEvent: findType("RegisterEvent"),
       RequireRestarter: findType("RequireRestarter"),
       ReversedListIterable_String: findType("ReversedListIterable<String>"),
@@ -26882,6 +27415,7 @@
       nullable_Gamepad: findType("Gamepad?"),
       nullable_ListBuilder_DebugEvent: findType("ListBuilder<DebugEvent>?"),
       nullable_ListBuilder_ExtensionEvent: findType("ListBuilder<ExtensionEvent>?"),
+      nullable_ListBuilder_String: findType("ListBuilder<String>?"),
       nullable_List_dynamic: findType("List<@>?"),
       nullable_Map_of_nullable_Object_and_nullable_Object: findType("Map<Object?,Object?>?"),
       nullable_Object: findType("Object?"),
@@ -26905,6 +27439,7 @@
       nullable_void_Function_KeyboardEvent: findType("~(KeyboardEvent)?"),
       nullable_void_Function_MessageEvent: findType("~(MessageEvent)?"),
       nullable_void_Function_ProgressEvent: findType("~(ProgressEvent)?"),
+      nullable_void_Function_RegisterEntrypointRequestBuilder: findType("~(RegisterEntrypointRequestBuilder)?"),
       nullable_void_Function_RegisterEventBuilder: findType("~(RegisterEventBuilder)?"),
       num: findType("num"),
       void: findType("~"),
@@ -27120,6 +27655,8 @@
     B.FullType_gsm = new A.FullType(B.Type_BuiltSetMultimap_9Fi, B.List_4AN, false);
     B.Type_String_k8F = A.typeLiteral("String");
     B.FullType_h8g = new A.FullType(B.Type_String_k8F, B.List_empty1, false);
+    B.List_EY4 = A._setArrayType(makeConstList([B.FullType_h8g]), type$.JSArray_FullType);
+    B.FullType_hkZ = new A.FullType(B.Type_BuiltList_iTR, B.List_EY4, false);
     B.Type_int_tHn = A.typeLiteral("int");
     B.FullType_kjq = new A.FullType(B.Type_int_tHn, B.List_empty1, false);
     B.FullType_null_List_empty_false = new A.FullType(null, B.List_empty1, false);
@@ -27146,6 +27683,9 @@
     B.Type__$RegisterEvent_SY6 = A.typeLiteral("_$RegisterEvent");
     B.List_ASY = A._setArrayType(makeConstList([B.Type_RegisterEvent_0zQ, B.Type__$RegisterEvent_SY6]), type$.JSArray_Type);
     B.List_AuK = A._setArrayType(makeConstList(["bind", "if", "ref", "repeat", "syntax"]), type$.JSArray_String);
+    B.Type_RegisterEntrypointRequest_3l1 = A.typeLiteral("RegisterEntrypointRequest");
+    B.Type__$RegisterEntrypointRequest_RSw = A.typeLiteral("_$RegisterEntrypointRequest");
+    B.List_ExN = A._setArrayType(makeConstList([B.Type_RegisterEntrypointRequest_3l1, B.Type__$RegisterEntrypointRequest_RSw]), type$.JSArray_Type);
     B.Type_DebugInfo_gg4 = A.typeLiteral("DebugInfo");
     B.Type__$DebugInfo_Eoc = A.typeLiteral("_$DebugInfo");
     B.List_IMr = A._setArrayType(makeConstList([B.Type_DebugInfo_gg4, B.Type__$DebugInfo_Eoc]), type$.JSArray_Type);
@@ -27192,8 +27732,8 @@
     B.Type__$DevToolsRequest_cDy = A.typeLiteral("_$DevToolsRequest");
     B.List_yT3 = A._setArrayType(makeConstList([B.Type_DevToolsRequest_A0n, B.Type__$DevToolsRequest_cDy]), type$.JSArray_Type);
     B.Object_empty = {};
-    B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<Symbol0,@>"));
-    B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<@,@>"));
+    B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<Symbol0,@>"));
+    B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<@,@>"));
     B.Symbol_call = new A.Symbol("call");
     B.Type_BigInt_8OV = A.typeLiteral("BigInt");
     B.Type_BoolJsonObject_8HQ = A.typeLiteral("BoolJsonObject");
@@ -27364,6 +27904,7 @@
     _lazy($, "_$batchedEventsSerializer", "$get$_$batchedEventsSerializer", () => new A._$BatchedEventsSerializer());
     _lazy($, "_$isolateExitSerializer", "$get$_$isolateExitSerializer", () => new A._$IsolateExitSerializer());
     _lazy($, "_$isolateStartSerializer", "$get$_$isolateStartSerializer", () => new A._$IsolateStartSerializer());
+    _lazy($, "_$registerEntrypointRequestSerializer", "$get$_$registerEntrypointRequestSerializer", () => new A._$RegisterEntrypointRequestSerializer());
     _lazy($, "_$registerEventSerializer", "$get$_$registerEventSerializer", () => new A._$RegisterEventSerializer());
     _lazy($, "_$runRequestSerializer", "$get$_$runRequestSerializer", () => new A._$RunRequestSerializer());
     _lazyFinal($, "serializers", "$get$serializers", () => $.$get$_$serializers());
@@ -27385,10 +27926,12 @@
       t1.add$1(0, $.$get$_$extensionResponseSerializer());
       t1.add$1(0, $.$get$_$isolateExitSerializer());
       t1.add$1(0, $.$get$_$isolateStartSerializer());
+      t1.add$1(0, $.$get$_$registerEntrypointRequestSerializer());
       t1.add$1(0, $.$get$_$registerEventSerializer());
       t1.add$1(0, $.$get$_$runRequestSerializer());
       t1.addBuilderFactory$2(B.FullType_EGl, new A._$serializers_closure());
       t1.addBuilderFactory$2(B.FullType_NIe, new A._$serializers_closure0());
+      t1.addBuilderFactory$2(B.FullType_hkZ, new A._$serializers_closure1());
       return t1.build$0();
     });
     _lazyFinal($, "_logger", "$get$_logger", () => A.Logger_Logger("Utilities"));
diff --git a/dwds/lib/src/loaders/build_runner_require.dart b/dwds/lib/src/loaders/build_runner_require.dart
index 3155821c3..03cd84ed1 100644
--- a/dwds/lib/src/loaders/build_runner_require.dart
+++ b/dwds/lib/src/loaders/build_runner_require.dart
@@ -50,7 +50,9 @@ class BuildRunnerRequireStrategyProvider {
   ) async {
     final modules = await metadataProvider.modulePathToModule;
 
-    final digestsPath = metadataProvider.entrypoint
+    // TODO: make sure this works... we don't support lazy ddr modules
+    // in require mode so maybe it does?
+    final digestsPath = (await metadataProvider.mainEntrypoint)
         .replaceAll('.dart.bootstrap.js', '.digests');
     final response = await _assetHandler(
       Request('GET', Uri.parse('http://foo:0000/$digestsPath')),
diff --git a/dwds/lib/src/loaders/legacy.dart b/dwds/lib/src/loaders/legacy.dart
index 71b9f313c..33f1b1440 100644
--- a/dwds/lib/src/loaders/legacy.dart
+++ b/dwds/lib/src/loaders/legacy.dart
@@ -106,7 +106,7 @@ class LegacyStrategy extends LoadStrategy {
 
   @override
   String loadClientSnippet(String clientScript) =>
-      'window.\$dartLoader.forceLoadModule("$clientScript");\n';
+      'window.\$dartLoader.forceLoadModule("$clientScript")';
 
   @override
   Future<String?> moduleForServerPath(String entrypoint, String serverPath) =>
diff --git a/dwds/lib/src/loaders/strategy.dart b/dwds/lib/src/loaders/strategy.dart
index d12f8e9df..06b0ebc6a 100644
--- a/dwds/lib/src/loaders/strategy.dart
+++ b/dwds/lib/src/loaders/strategy.dart
@@ -120,20 +120,26 @@ abstract class LoadStrategy {
       );
 
   /// Returns the [MetadataProvider] for the application located at the provided
-  /// [entrypoint].
-  MetadataProvider metadataProviderFor(String entrypoint) {
-    if (_providers.containsKey(entrypoint)) {
-      return _providers[entrypoint]!;
+  /// [appName].
+  MetadataProvider metadataProviderFor(String appName) {
+    if (_providers.containsKey(appName)) {
+      return _providers[appName]!;
     } else {
-      throw StateError('No metadata provider for $entrypoint');
+      throw StateError('No metadata provider for $appName');
     }
   }
 
+  /// A hook for the implementers read data after the first entrypoint is loaded
+  Future<void> trackEntrypoint(String entrypoint) async {}
+
   /// Initializes a [MetadataProvider] for the application located at the
   /// provided [entrypoint].
-  Future<void> trackEntrypoint(String entrypoint) async {
-    final metadataProvider = MetadataProvider(entrypoint, _assetReader);
-    _providers[metadataProvider.entrypoint] = metadataProvider;
+  void trackAppEntrypoint(String appName, String entrypoint) {
+    final MetadataProvider metadataProvider = _providers.putIfAbsent(
+      appName,
+      () => MetadataProvider(appName, _assetReader),
+    );
+    metadataProvider.update(entrypoint);
   }
 }
 
diff --git a/dwds/lib/src/services/batched_expression_evaluator.dart b/dwds/lib/src/services/batched_expression_evaluator.dart
index b5e56c2af..e3ab09545 100644
--- a/dwds/lib/src/services/batched_expression_evaluator.dart
+++ b/dwds/lib/src/services/batched_expression_evaluator.dart
@@ -34,13 +34,13 @@ class BatchedExpressionEvaluator extends ExpressionEvaluator {
   bool _closed = false;
 
   BatchedExpressionEvaluator(
-    String entrypoint,
+    String appName,
     this._inspector,
     Debugger debugger,
     Locations locations,
     Modules modules,
     ExpressionCompiler compiler,
-  ) : super(entrypoint, _inspector, debugger, locations, modules, compiler) {
+  ) : super(appName, _inspector, debugger, locations, modules, compiler) {
     _requestController.stream.listen(_processRequest);
   }
 
diff --git a/dwds/lib/src/services/chrome_proxy_service.dart b/dwds/lib/src/services/chrome_proxy_service.dart
index 659232138..059189973 100644
--- a/dwds/lib/src/services/chrome_proxy_service.dart
+++ b/dwds/lib/src/services/chrome_proxy_service.dart
@@ -7,6 +7,7 @@ import 'dart:convert';
 import 'dart:io';
 
 import 'package:dwds/data/debug_event.dart';
+import 'package:dwds/data/register_entrypoint_request.dart';
 import 'package:dwds/data/register_event.dart';
 import 'package:dwds/src/config/tool_configuration.dart';
 import 'package:dwds/src/connections/app_connection.dart';
@@ -163,27 +164,38 @@ class ChromeProxyService implements VmServiceInterface {
     return service;
   }
 
+  Future<void> _initializeApp(String appName, List<String> entrypoints) async {
+    _locations.initialize(appName);
+    _modules.initialize(appName);
+    _skipLists.initialize();
+
+    // We do not need to wait for compiler dependencies to be updated as the
+    // [ExpressionEvaluator] is robust to evaluation requests during updates.
+    await _updateCompilerDependencies(appName);
+  }
+
   /// Initializes metadata in [Locations], [Modules], and [ExpressionCompiler].
-  void _initializeEntrypoint(String entrypoint) {
-    _locations.initialize(entrypoint);
-    _modules.initialize(entrypoint);
+  Future<void> _initializeEntrypoint(String appName, String entrypoint) async {
+    // TODO: incremental update?
+    _locations.initialize(appName);
+    _modules.initialize(appName);
     _skipLists.initialize();
     // We do not need to wait for compiler dependencies to be updated as the
     // [ExpressionEvaluator] is robust to evaluation requests during updates.
-    safeUnawaited(_updateCompilerDependencies(entrypoint));
+    await _updateCompilerDependencies(appName);
   }
 
-  Future<void> _updateCompilerDependencies(String entrypoint) async {
+  Future<void> _updateCompilerDependencies(String appName) async {
     final loadStrategy = globalToolConfiguration.loadStrategy;
     final moduleFormat = loadStrategy.moduleFormat;
     final canaryFeatures = loadStrategy.buildSettings.canaryFeatures;
     final experiments = loadStrategy.buildSettings.experiments;
 
     // TODO(annagrin): Read null safety setting from the build settings.
-    final metadataProvider = loadStrategy.metadataProviderFor(entrypoint);
+    final metadataProvider = loadStrategy.metadataProviderFor(appName);
     final soundNullSafety = await metadataProvider.soundNullSafety;
 
-    _logger.info('Initializing expression compiler for $entrypoint '
+    _logger.info('Initializing expression compiler for $appName '
         'with sound null safety: $soundNullSafety');
 
     final compilerOptions = CompilerOptions(
@@ -196,8 +208,7 @@ class ChromeProxyService implements VmServiceInterface {
     final compiler = _compiler;
     if (compiler != null) {
       await compiler.initialize(compilerOptions);
-      final dependencies =
-          await loadStrategy.moduleInfoForEntrypoint(entrypoint);
+      final dependencies = await loadStrategy.moduleInfoForEntrypoint(appName);
       await captureElapsedTime(
         () async {
           final result = await compiler.updateDependencies(dependencies);
@@ -205,7 +216,7 @@ class ChromeProxyService implements VmServiceInterface {
           if (!_compilerCompleter.isCompleted) _compilerCompleter.complete();
           return result;
         },
-        (result) => DwdsEvent.compilerUpdateDependencies(entrypoint),
+        (result) => DwdsEvent.compilerUpdateDependencies(appName),
       );
     }
   }
@@ -253,14 +264,15 @@ class ChromeProxyService implements VmServiceInterface {
     }
     // Waiting for the debugger to be ready before initializing the entrypoint.
     //
-    // Note: moving `await debugger` after the `_initializeEntryPoint` call
+    // Note: moving `await debugger` after the `_initializeApp` call
     // causes `getcwd` system calls to fail. Since that system call is used
     // in first `Uri.base` call in the expression compiler service isolate,
     // the expression compiler service will fail to start.
     // Issue: https://github.com/dart-lang/webdev/issues/1282
     final debugger = await debuggerFuture;
-    final entrypoint = appConnection.request.entrypointPath;
-    _initializeEntrypoint(entrypoint);
+    final appName = appConnection.request.appName;
+    final entrypoints = appConnection.request.entrypoints.asList();
+    safeUnawaited(_initializeApp(appName, entrypoints));
 
     debugger.notifyPausedAtStart();
     _inspector = await AppInspector.create(
@@ -277,7 +289,7 @@ class ChromeProxyService implements VmServiceInterface {
     _expressionEvaluator = compiler == null
         ? null
         : BatchedExpressionEvaluator(
-            entrypoint,
+            appName,
             inspector,
             debugger,
             _locations,
@@ -1350,6 +1362,40 @@ ${globalToolConfiguration.loadStrategy.loadModuleSnippet}("dart_sdk").developer.
     );
   }
 
+  /// Parses the [RegisterEntrypointRequest] and emits a corresponding Dart VM Service
+  /// protocol [Event].
+  Future<void> parseRegisterEntrypointRequest(
+    RegisterEntrypointRequest request,
+  ) async {
+    _logger.severe('received RegisterEntrypointRequest: $request');
+    if (terminatingIsolates) return;
+    if (!_isIsolateRunning) return;
+
+    final isolateRef = inspector.isolateRef;
+    final appName = request.appName;
+    final entrypoint = request.entrypointPath;
+
+    // update expression compiler
+    // TODO: Incremental update?
+    safeUnawaited(_initializeEntrypoint(appName, entrypoint));
+
+    // update inspector's data structures
+    await inspector.registerEntrypoint(
+      appName,
+      entrypoint,
+      await debuggerFuture,
+    );
+
+    _streamNotify(
+      EventStreams.kIsolate,
+      Event(
+        kind: EventKind.kIsolateReload,
+        timestamp: DateTime.now().millisecondsSinceEpoch,
+        isolate: isolateRef,
+      ),
+    );
+  }
+
   /// Listens for chrome console events and handles the ones we care about.
   void _setUpChromeConsoleListeners(IsolateRef isolateRef) {
     _consoleSubscription =
diff --git a/dwds/lib/src/services/expression_evaluator.dart b/dwds/lib/src/services/expression_evaluator.dart
index 1aca08c68..1d06e1d48 100644
--- a/dwds/lib/src/services/expression_evaluator.dart
+++ b/dwds/lib/src/services/expression_evaluator.dart
@@ -32,7 +32,7 @@ class EvaluationErrorKind {
 /// collect context for evaluation (scope, types, modules), and using
 /// ExpressionCompilerInterface to compile dart expressions to JavaScript.
 class ExpressionEvaluator {
-  final String _entrypoint;
+  final String _appName;
   final AppInspectorInterface _inspector;
   final Debugger _debugger;
   final Locations _locations;
@@ -53,7 +53,7 @@ class ExpressionEvaluator {
       RegExp(r".*Failed to load '.*\.com/(.*\.js).*");
 
   ExpressionEvaluator(
-    this._entrypoint,
+    this._appName,
     this._inspector,
     this._debugger,
     this._locations,
@@ -448,7 +448,7 @@ class ExpressionEvaluator {
         var modulePath = _loadModuleErrorRegex.firstMatch(error)?.group(1);
         final module = modulePath != null
             ? await globalToolConfiguration.loadStrategy.moduleForServerPath(
-                _entrypoint,
+                _appName,
                 modulePath,
               )
             : 'unknown';
diff --git a/dwds/web/client.dart b/dwds/web/client.dart
index f3852bc93..8b6c5390e 100644
--- a/dwds/web/client.dart
+++ b/dwds/web/client.dart
@@ -8,7 +8,6 @@ library hot_reload_client;
 import 'dart:async';
 import 'dart:convert';
 import 'dart:html';
-import 'dart:js';
 
 import 'package:built_collection/built_collection.dart';
 import 'package:dwds/data/build_result.dart';
@@ -18,6 +17,7 @@ import 'package:dwds/data/debug_info.dart';
 import 'package:dwds/data/devtools_request.dart';
 import 'package:dwds/data/error_response.dart';
 import 'package:dwds/data/extension_request.dart';
+import 'package:dwds/data/register_entrypoint_request.dart';
 import 'package:dwds/data/register_event.dart';
 import 'package:dwds/data/run_request.dart';
 import 'package:dwds/data/serializers.dart';
@@ -32,7 +32,6 @@ import 'promise.dart';
 import 'reloader/legacy_restarter.dart';
 import 'reloader/manager.dart';
 import 'reloader/require_restarter.dart';
-import 'reloader/restarter.dart';
 import 'run_main.dart';
 
 const _batchDelayMilliseconds = 1000;
@@ -41,171 +40,7 @@ const _batchDelayMilliseconds = 1000;
 // pub run build_runner build web
 Future<void>? main() {
   return runZonedGuarded(() async {
-    // Set the unique id for this instance of the app.
-    // Test apps may already have this set.
-    dartAppInstanceId ??= const Uuid().v1();
-
-    final fixedPath = _fixProtocol(dwdsDevHandlerPath);
-    final fixedUri = Uri.parse(fixedPath);
-    final client = fixedUri.isScheme('ws') || fixedUri.isScheme('wss')
-        ? WebSocketClient(WebSocketChannel.connect(fixedUri))
-        : SseSocketClient(SseClient(fixedPath, debugKey: 'InjectedClient'));
-
-    Restarter restarter;
-    if (dartModuleStrategy == 'require-js') {
-      restarter = await RequireRestarter.create();
-    } else if (dartModuleStrategy == 'legacy') {
-      restarter = LegacyRestarter();
-    } else {
-      throw StateError('Unknown module strategy: $dartModuleStrategy');
-    }
-
-    final manager = ReloadingManager(client, restarter);
-
-    hotRestartJs = allowInterop((String runId) {
-      return toPromise(manager.hotRestart(runId: runId));
-    });
-
-    final debugEventController =
-        BatchedStreamController<DebugEvent>(delay: _batchDelayMilliseconds);
-    debugEventController.stream.listen((events) {
-      if (dartEmitDebugEvents) {
-        _trySendEvent(
-          client.sink,
-          jsonEncode(
-            serializers.serialize(
-              BatchedDebugEvents(
-                (b) => b.events = ListBuilder<DebugEvent>(events),
-              ),
-            ),
-          ),
-        );
-      }
-    });
-
-    emitDebugEvent = allowInterop((String kind, String eventData) {
-      if (dartEmitDebugEvents) {
-        _trySendEvent(
-          debugEventController.sink,
-          DebugEvent(
-            (b) => b
-              ..timestamp = (DateTime.now().millisecondsSinceEpoch)
-              ..kind = kind
-              ..eventData = eventData,
-          ),
-        );
-      }
-    });
-
-    emitRegisterEvent = allowInterop((String eventData) {
-      _trySendEvent(
-        client.sink,
-        jsonEncode(
-          serializers.serialize(
-            RegisterEvent(
-              (b) => b
-                ..timestamp = (DateTime.now().millisecondsSinceEpoch)
-                ..eventData = eventData,
-            ),
-          ),
-        ),
-      );
-    });
-
-    launchDevToolsJs = allowInterop(() {
-      if (!_isChromium) {
-        window.alert(
-          'Dart DevTools is only supported on Chromium based browsers.',
-        );
-        return;
-      }
-      _trySendEvent(
-        client.sink,
-        jsonEncode(
-          serializers.serialize(
-            DevToolsRequest(
-              (b) => b
-                ..appId = dartAppId
-                ..instanceId = dartAppInstanceId,
-            ),
-          ),
-        ),
-      );
-    });
-
-    client.stream.listen(
-      (serialized) async {
-        final event = serializers.deserialize(jsonDecode(serialized));
-        if (event is BuildResult) {
-          if (reloadConfiguration == 'ReloadConfiguration.liveReload') {
-            manager.reloadPage();
-          } else if (reloadConfiguration == 'ReloadConfiguration.hotRestart') {
-            await manager.hotRestart();
-          } else if (reloadConfiguration == 'ReloadConfiguration.hotReload') {
-            print('Hot reload is currently unsupported. Ignoring change.');
-          }
-        } else if (event is DevToolsResponse) {
-          if (!event.success) {
-            final alert = 'DevTools failed to open with:\n${event.error}';
-            if (event.promptExtension && window.confirm(alert)) {
-              window.open('https://goo.gle/dart-debug-extension', '_blank');
-            } else {
-              window.alert(alert);
-            }
-          }
-        } else if (event is RunRequest) {
-          runMain();
-        } else if (event is ErrorResponse) {
-          window.console
-              .error('Error from backend:\n\nError: ${event.error}\n\n'
-                  'Stack Trace:\n${event.stackTrace}');
-        }
-      },
-      onError: (error) {
-        // An error is propagated on a full page reload as Chrome presumably
-        // forces the SSE connection to close in a bad state. This does not cause
-        // any adverse effects so simply swallow this error as to not print the
-        // misleading unhandled error message.
-      },
-    );
-
-    if (dwdsEnableDevToolsLaunch) {
-      window.onKeyDown.listen((Event e) {
-        if (e is KeyboardEvent &&
-            const [
-              'd',
-              'D',
-              '∂', // alt-d output on Mac
-              'ÃŽ', // shift-alt-D output on Mac
-            ].contains(e.key) &&
-            e.altKey &&
-            !e.ctrlKey &&
-            !e.metaKey) {
-          e.preventDefault();
-          launchDevToolsJs();
-        }
-      });
-    }
-
-    if (_isChromium) {
-      _trySendEvent(
-        client.sink,
-        jsonEncode(
-          serializers.serialize(
-            ConnectRequest(
-              (b) => b
-                ..appId = dartAppId
-                ..instanceId = dartAppInstanceId
-                ..entrypointPath = dartEntrypointPath,
-            ),
-          ),
-        ),
-      );
-    } else {
-      // If not Chromium we just invoke main, devtools aren't supported.
-      runMain();
-    }
-    _launchCommunicationWithDebugExtension();
+    await runClient();
   }, (error, stackTrace) {
     print('''
 Unhandled error detected in the injected client.js script.
@@ -223,39 +58,144 @@ $stackTrace
   });
 }
 
-void _trySendEvent<T>(StreamSink<T> sink, T serialized) {
-  try {
-    sink.add(serialized);
-  } on StateError catch (_) {
-    // An error is propagated on a full page reload as Chrome presumably
-    // forces the SSE connection to close in a bad state.
-    print('Cannot send event $serialized. '
-        'Injected client connection is closed.');
+Future<void> runClient() async {
+  final appInfo = dartAppInfo..appInstanceId = const Uuid().v1();
+
+  // used by tests and tools
+  dartAppInstanceId = appInfo.appInstanceId;
+  dartAppId = appInfo.appId;
+
+  // used by require restarter
+  loadModuleConfig = appInfo.loadModuleConfig;
+
+  print(
+      'Injected Client $dartAppInstanceId: Dart app info: ${appInfo.appName} ${appInfo.appId} ${appInfo.appInstanceId} ${appInfo.devHandlerPath} ${appInfo.moduleStrategy}');
+
+  final connection = DevHandlerConnection(appInfo.devHandlerPath);
+
+  registerEntrypoint = allowInterop((String appName, String entrypointPath) {
+    if (appInfo.entrypoints.contains(entrypointPath)) return;
+    appInfo.entrypoints.add(entrypointPath);
+
+    if (_isChromium) {
+      print(
+          'Injected Client $dartAppInstanceId: sending registerEntrypoint request for $appName ($entrypointPath)');
+      connection.sendRegisterEntrypointRequest(appName, entrypointPath);
+    }
+  });
+
+  print('Injected Client $dartAppInstanceId: set registerEntrypoint');
+
+  // Setup hot restart
+  final restarter = switch (appInfo.moduleStrategy) {
+    'require-js' => await RequireRestarter.create(),
+    'legacy' => LegacyRestarter(),
+    _ => throw StateError('Unknown module strategy: ${appInfo.moduleStrategy}'),
+  };
+  final manager = ReloadingManager(connection.client, restarter);
+  hotRestartJs = allowInterop((String runId) {
+    return toPromise(manager.hotRestart(runId: runId));
+  });
+
+  // Setup debug events
+  emitDebugEvent = allowInterop((String kind, String eventData) {
+    if (appInfo.emitDebugEvents) {
+      connection.sendDebugEvent(kind, eventData);
+    }
+  });
+
+  // Setup registerExtension events
+  emitRegisterEvent = allowInterop(connection.sendRegisterEvent);
+
+  // setup launching devtools
+  launchDevToolsJs = allowInterop(() {
+    if (!_isChromium) {
+      window.alert(
+        'Dart DevTools is only supported on Chromium based browsers.',
+      );
+      return;
+    }
+    connection.sendDevToolsRequest(appInfo.appId, appInfo.appInstanceId);
+  });
+
+  // Listen to commands from dwds dev handler
+  connection.client.stream.listen(
+    (serialized) async {
+      final event = serializers.deserialize(jsonDecode(serialized));
+      if (event is BuildResult) {
+        if (appInfo.reloadConfiguration == 'ReloadConfiguration.liveReload') {
+          manager.reloadPage();
+        } else if (appInfo.reloadConfiguration ==
+            'ReloadConfiguration.hotRestart') {
+          await manager.hotRestart();
+        } else if (appInfo.reloadConfiguration ==
+            'ReloadConfiguration.hotReload') {
+          print('Hot reload is currently unsupported. Ignoring change.');
+        }
+      } else if (event is DevToolsResponse) {
+        if (!event.success) {
+          final alert = 'DevTools failed to open with:\n${event.error}';
+          if (event.promptExtension && window.confirm(alert)) {
+            window.open('https://goo.gle/dart-debug-extension', '_blank');
+          } else {
+            window.alert(alert);
+          }
+        }
+      } else if (event is RunRequest) {
+        runMain();
+      } else if (event is ErrorResponse) {
+        window.console.error('Error from backend:\n\nError: ${event.error}\n\n'
+            'Stack Trace:\n${event.stackTrace}');
+      }
+    },
+    onError: (error) {
+      // An error is propagated on a full page reload as Chrome presumably
+      // forces the SSE connection to close in a bad state. This does not cause
+      // any adverse effects so simply swallow this error as to not print the
+      // misleading unhandled error message.
+    },
+  );
+
+  // Launch devtools on key press
+  if (appInfo.enableDevToolsLaunch) {
+    window.onKeyDown.listen((Event e) {
+      if (e is KeyboardEvent &&
+          const [
+            'd',
+            'D',
+            '∂', // alt-d output on Mac
+            'ÃŽ', // shift-alt-D output on Mac
+          ].contains(e.key) &&
+          e.altKey &&
+          !e.ctrlKey &&
+          !e.metaKey) {
+        e.preventDefault();
+        launchDevToolsJs();
+      }
+    });
   }
-}
 
-/// Returns [url] modified if necessary so that, if the current page is served
-/// over `https`, then the URL is converted to `https`.
-String _fixProtocol(String url) {
-  var uri = Uri.parse(url);
-  if (window.location.protocol == 'https:' &&
-      uri.scheme == 'http' &&
-      // Chrome allows mixed content on localhost. It is not safe to assume the
-      // server is also listening on https.
-      uri.host != 'localhost') {
-    uri = uri.replace(scheme: 'https');
-  } else if (window.location.protocol == 'wss:' &&
-      uri.scheme == 'ws' &&
-      uri.host != 'localhost') {
-    uri = uri.replace(scheme: 'wss');
+  // Connect to the server
+  if (_isChromium) {
+    print(
+        'Injected Client $dartAppInstanceId: sending connect request with ${appInfo.appName} (${appInfo.entrypoints})');
+    connection.sendConnectRequest(
+      appInfo.appName,
+      appInfo.appId,
+      appInfo.appInstanceId,
+      appInfo.entrypoints,
+    );
+  } else {
+    // If not Chromium we just invoke main, devtools aren't supported.
+    runMain();
   }
-  return uri.toString();
+  _launchCommunicationWithDebugExtension(appInfo);
 }
 
-void _launchCommunicationWithDebugExtension() {
+void _launchCommunicationWithDebugExtension(AppInfo appInfo) {
   // Listen for an event from the Dart Debug Extension to authenticate the
   // user (sent once the extension receives the dart-app-read event):
-  _listenForDebugExtensionAuthRequest();
+  _listenForDebugExtensionAuthRequest(appInfo);
 
   // Send the dart-app-ready event along with debug info to the Dart Debug
   // Extension so that it can debug the Dart app:
@@ -263,23 +203,36 @@ void _launchCommunicationWithDebugExtension() {
     serializers.serialize(
       DebugInfo(
         (b) => b
-          ..appEntrypointPath = dartEntrypointPath
-          ..appId = _appId
-          ..appInstanceId = dartAppInstanceId
+          ..appEntrypointPath = appInfo.appName
+          ..appId = appInfo.appId
+          ..appInstanceId = appInfo.appInstanceId
           ..appOrigin = window.location.origin
           ..appUrl = window.location.href
-          ..authUrl = _authUrl
-          ..extensionUrl = _extensionUrl
-          ..isInternalBuild = _isInternalBuild
-          ..isFlutterApp = _isFlutterApp
-          ..workspaceName = dartWorkspaceName,
+          ..authUrl = authUrl(appInfo.extensionUrl)
+          ..extensionUrl = appInfo.extensionUrl
+          ..isInternalBuild = appInfo.isInternalBuild
+          ..isFlutterApp = appInfo.isFlutterApp
+          ..workspaceName = appInfo.workspaceName,
       ),
     ),
   );
   dispatchEvent(CustomEvent('dart-app-ready', detail: debugInfoJson));
 }
 
-void _listenForDebugExtensionAuthRequest() {
+String? authUrl(String? extensionUrl) {
+  if (extensionUrl == null) return null;
+  final authUrl = Uri.parse(extensionUrl).replace(path: authenticationPath);
+  switch (authUrl.scheme) {
+    case 'ws':
+      return authUrl.replace(scheme: 'http').toString();
+    case 'wss':
+      return authUrl.replace(scheme: 'https').toString();
+    default:
+      return authUrl.toString();
+  }
+}
+
+void _listenForDebugExtensionAuthRequest(AppInfo appInfo) {
   window.addEventListener(
     'message',
     allowInterop((event) async {
@@ -288,8 +241,9 @@ void _listenForDebugExtensionAuthRequest() {
       if (messageEvent.data as String != 'dart-auth-request') return;
 
       // Notify the Dart Debug Extension of authentication status:
-      if (_authUrl != null) {
-        final isAuthenticated = await _authenticateUser(_authUrl!);
+      final auth = authUrl(appInfo.extensionUrl);
+      if (auth != null) {
+        final isAuthenticated = await _authenticateUser(auth);
         dispatchEvent(
           CustomEvent('dart-auth-response', detail: '$isAuthenticated'),
         );
@@ -308,20 +262,131 @@ Future<bool> _authenticateUser(String authUrl) async {
   return responseText.contains('Dart Debug Authentication Success!');
 }
 
+class DevHandlerConnection {
+  late final SocketClient client;
+
+  final debugEventController =
+      BatchedStreamController<DebugEvent>(delay: _batchDelayMilliseconds);
+
+  DevHandlerConnection(String devHandlerPath) {
+    final fixedPath = _fixProtocol(devHandlerPath);
+    final fixedUri = Uri.parse(fixedPath);
+    client = fixedUri.isScheme('ws') || fixedUri.isScheme('wss')
+        ? WebSocketClient(WebSocketChannel.connect(fixedUri))
+        : SseSocketClient(SseClient(fixedPath, debugKey: 'InjectedClient'));
+
+    debugEventController.stream.listen(_sendBatchedDebugEvents);
+  }
+
+  void sendConnectRequest(
+    String appName,
+    String appId,
+    String? appInstanceId,
+    List<String> entrypoints,
+  ) {
+    _serializeAndTrySendEvent(ConnectRequest(
+      (b) => b
+        ..appName = appName
+        ..appId = appId
+        ..instanceId = appInstanceId
+        ..entrypoints = ListBuilder<String>(entrypoints),
+    ));
+  }
+
+  void sendRegisterEntrypointRequest(
+    String appName,
+    String entrypointPath,
+  ) {
+    _serializeAndTrySendEvent(RegisterEntrypointRequest(
+      (b) => b
+        ..appName = appName
+        ..entrypointPath = entrypointPath,
+    ));
+  }
+
+  void _sendBatchedDebugEvents(
+    List<DebugEvent> events,
+  ) {
+    _serializeAndTrySendEvent(BatchedDebugEvents(
+      (b) => b.events = ListBuilder<DebugEvent>(events),
+    ));
+  }
+
+  void sendDebugEvent(String kind, String eventData) {
+    _trySendEvent(
+        debugEventController.sink,
+        DebugEvent(
+          (b) => b
+            ..timestamp = (DateTime.now().millisecondsSinceEpoch)
+            ..kind = kind
+            ..eventData = eventData,
+        ));
+  }
+
+  void sendRegisterEvent(String eventData) {
+    _serializeAndTrySendEvent(RegisterEvent(
+      (b) => b
+        ..timestamp = (DateTime.now().millisecondsSinceEpoch)
+        ..eventData = eventData,
+    ));
+  }
+
+  void sendDevToolsRequest(String appId, String appInstanceId) {
+    _serializeAndTrySendEvent(DevToolsRequest(
+      (b) => b
+        ..appId = appId
+        ..instanceId = appInstanceId,
+    ));
+  }
+
+  void _trySendEvent<T>(StreamSink<T> sink, T event) {
+    try {
+      sink.add(event);
+    } on StateError catch (_) {
+      // An error is propagated on a full page reload as Chrome presumably
+      // forces the SSE connection to close in a bad state.
+      print('Cannot send event $event. '
+          'Injected client connection is closed.');
+    }
+  }
+
+  void _serializeAndTrySendEvent<T>(T object) {
+    _trySendEvent(client.sink, jsonEncode(serializers.serialize(object)));
+  }
+
+  /// Returns [url] modified if necessary so that, if the current page is served
+  /// over `https`, then the URL is converted to `https`.
+  String _fixProtocol(String url) {
+    var uri = Uri.parse(url);
+    if (window.location.protocol == 'https:' &&
+        uri.scheme == 'http' &&
+        // Chrome allows mixed content on localhost. It is not safe to assume the
+        // server is also listening on https.
+        uri.host != 'localhost') {
+      uri = uri.replace(scheme: 'https');
+    } else if (window.location.protocol == 'wss:' &&
+        uri.scheme == 'ws' &&
+        uri.host != 'localhost') {
+      uri = uri.replace(scheme: 'wss');
+    }
+    return uri.toString();
+  }
+}
+
 @JS(r'$dartAppId')
-external String get dartAppId;
+external String? get dartAppId; // used in extension and tests
 
-@JS(r'$dartAppInstanceId')
-external String? get dartAppInstanceId;
+@JS(r'$dartAppId')
+external set dartAppId(String? id); // used in extension and tests
 
-@JS(r'$dwdsDevHandlerPath')
-external String get dwdsDevHandlerPath;
+@JS(r'$dartAppInstanceId')
+external String? get dartAppInstanceId; // used in extension and tests
 
 @JS(r'$dartAppInstanceId')
-external set dartAppInstanceId(String? id);
+external set dartAppInstanceId(String? id); // used in extension and tests
 
-@JS(r'$dartModuleStrategy')
-external String get dartModuleStrategy;
+@JS(r'$loadModuleConfig') // used by require restarter
+external set loadModuleConfig(Object Function(String module) load);
 
 @JS(r'$dartHotRestartDwds')
 external set hotRestartJs(Promise<bool> Function(String runId) cb);
@@ -332,58 +397,45 @@ external void Function() get launchDevToolsJs;
 @JS(r'$launchDevTools')
 external set launchDevToolsJs(void Function() cb);
 
-@JS(r'$dartReloadConfiguration')
-external String get reloadConfiguration;
-
-@JS(r'$dartEntrypointPath')
-external String get dartEntrypointPath;
-
-@JS(r'$dwdsEnableDevToolsLaunch')
-external bool get dwdsEnableDevToolsLaunch;
-
 @JS('window.top.document.dispatchEvent')
 external void dispatchEvent(CustomEvent event);
 
-@JS(r'$dartEmitDebugEvents')
-external bool get dartEmitDebugEvents;
-
 @JS(r'$emitDebugEvent')
 external set emitDebugEvent(void Function(String, String) func);
 
 @JS(r'$emitRegisterEvent')
 external set emitRegisterEvent(void Function(String) func);
 
-@JS(r'$isInternalBuild')
-external bool get isInternalBuild;
-
-@JS(r'$isFlutterApp')
-external bool get isFlutterApp;
+@JS(r'$dartAppInfo')
+external AppInfo get dartAppInfo;
 
-@JS(r'$dartWorkspaceName')
-external String? get dartWorkspaceName;
+@JS(r'$dartRegisterEntrypoint')
+external set registerEntrypoint(
+  void Function(
+    String appName,
+    String entrypointPath,
+  ) func,
+);
 
 bool get _isChromium => window.navigator.vendor.contains('Google');
 
-JsObject get _windowContext => JsObject.fromBrowserObject(window);
-
-bool? get _isInternalBuild => _windowContext['\$isInternalBuild'];
-
-bool? get _isFlutterApp => _windowContext['\$isFlutterApp'];
-
-String? get _appId => _windowContext['\$dartAppId'];
-
-String? get _extensionUrl => _windowContext['\$dartExtensionUri'];
-
-String? get _authUrl {
-  final extensionUrl = _extensionUrl;
-  if (extensionUrl == null) return null;
-  final authUrl = Uri.parse(extensionUrl).replace(path: authenticationPath);
-  switch (authUrl.scheme) {
-    case 'ws':
-      return authUrl.replace(scheme: 'http').toString();
-    case 'wss':
-      return authUrl.replace(scheme: 'https').toString();
-    default:
-      return authUrl.toString();
-  }
+@JS()
+@anonymous
+class AppInfo {
+  external String get moduleStrategy;
+  external String get reloadConfiguration;
+  external Object Function(String module) get loadModuleConfig;
+  external String get dwdsVersion;
+  external bool get enableDevToolsLaunch;
+  external bool get emitDebugEvents;
+  external bool get isInternalBuild;
+  external String get appName;
+  external String get appId;
+  external set appInstanceId(String id);
+  external String get appInstanceId;
+  external bool get isFlutterApp;
+  external String? get extensionUrl;
+  external String get devHandlerPath;
+  external List<String> get entrypoints;
+  external String? get workspaceName;
 }

From abdda75f8fee326b423288302a443b8488fb7e0e Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Wed, 13 Dec 2023 11:19:03 -0800
Subject: [PATCH 02/16] Try migration to package:web

---
 dwds/lib/src/injected/client.js          | 3461 ++++++----------------
 dwds/pubspec.yaml                        |    1 +
 dwds/web/client.dart                     |   53 +-
 dwds/web/reloader/legacy_restarter.dart  |    6 +-
 dwds/web/reloader/manager.dart           |    2 +-
 dwds/web/reloader/require_restarter.dart |   49 +-
 dwds/web/run_main.dart                   |   58 +-
 dwds/web/web_utils.dart                  |   54 +
 fixtures/_webdevSoundSmoke/web/main.dart |    2 +-
 9 files changed, 1125 insertions(+), 2561 deletions(-)
 create mode 100644 dwds/web/web_utils.dart

diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 0b0253f8f..0fc32f39d 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -1,4 +1,4 @@
-// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-57.0.dev.
+// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-197.0.dev.
 // The code supports the following hooks:
 // dartPrint(message):
 //    if this function is defined it is called instead of the Dart [print]
@@ -34,8 +34,9 @@
     var keys = Object.keys(from);
     for (var i = 0; i < keys.length; i++) {
       var key = keys[i];
-      if (!to.hasOwnProperty(key))
+      if (!to.hasOwnProperty(key)) {
         to[key] = from[key];
+      }
     }
   }
   function mixinPropertiesEasy(from, to) {
@@ -74,8 +75,9 @@
     }
   }
   function inheritMany(sup, classes) {
-    for (var i = 0; i < classes.length; i++)
+    for (var i = 0; i < classes.length; i++) {
       inherit(classes[i], sup);
+    }
   }
   function mixinEasy(cls, mixin) {
     mixinPropertiesEasy(mixin.prototype, cls.prototype);
@@ -98,11 +100,13 @@
         if (holder[name] === uninitializedSentinel) {
           result = holder[name] = sentinelInProgress;
           result = holder[name] = initializer();
-        } else
+        } else {
           result = holder[name];
+        }
       } finally {
-        if (result === sentinelInProgress)
+        if (result === sentinelInProgress) {
           holder[name] = null;
+        }
         holder[getterName] = function() {
           return this[name];
         };
@@ -114,8 +118,9 @@
     var uninitializedSentinel = holder;
     holder[name] = uninitializedSentinel;
     holder[getterName] = function() {
-      if (holder[name] === uninitializedSentinel)
+      if (holder[name] === uninitializedSentinel) {
         holder[name] = initializer();
+      }
       holder[getterName] = function() {
         return this[name];
       };
@@ -128,8 +133,9 @@
     holder[getterName] = function() {
       if (holder[name] === uninitializedSentinel) {
         var value = initializer();
-        if (holder[name] !== uninitializedSentinel)
+        if (holder[name] !== uninitializedSentinel) {
           A.throwLateFieldADI(name);
+        }
         holder[name] = value;
       }
       var finalValue = holder[name];
@@ -152,8 +158,9 @@
     return properties;
   }
   function convertAllToFastObject(arrayOfObjects) {
-    for (var i = 0; i < arrayOfObjects.length; ++i)
+    for (var i = 0; i < arrayOfObjects.length; ++i) {
       convertToFastObject(arrayOfObjects[i]);
+    }
   }
   var functionCounter = 0;
   function instanceTearOffGetter(isIntercepted, parameters) {
@@ -178,8 +185,9 @@
   }
   var typesOffset = 0;
   function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) {
-    if (typeof funType == "number")
+    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(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
@@ -436,12 +444,6 @@
         return J.UnknownJavaScriptObject.prototype;
       return receiver;
     },
-    set$_innerHtml$x(receiver, value) {
-      return J.getInterceptor$x(receiver).set$_innerHtml(receiver, value);
-    },
-    get$attributes$x(receiver) {
-      return J.getInterceptor$x(receiver).get$attributes(receiver);
-    },
     get$digestsPath$x(receiver) {
       return J.getInterceptor$x(receiver).get$digestsPath(receiver);
     },
@@ -454,9 +456,6 @@
     get$isEmpty$asx(receiver) {
       return J.getInterceptor$asx(receiver).get$isEmpty(receiver);
     },
-    get$isNotEmpty$asx(receiver) {
-      return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver);
-    },
     get$iterator$ax(receiver) {
       return J.getInterceptor$ax(receiver).get$iterator(receiver);
     },
@@ -498,26 +497,11 @@
     $indexSet$ax(receiver, a0, a1) {
       return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
     },
-    _clearChildren$0$x(receiver) {
-      return J.getInterceptor$x(receiver)._clearChildren$0(receiver);
-    },
-    _initCustomEvent$4$x(receiver, a0, a1, a2, a3) {
-      return J.getInterceptor$x(receiver)._initCustomEvent$4(receiver, a0, a1, a2, a3);
-    },
-    _removeEventListener$3$x(receiver, a0, a1, a2) {
-      return J.getInterceptor$x(receiver)._removeEventListener$3(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(receiver, a0) {
       return J.getInterceptor$s(receiver).allMatches$1(receiver, a0);
     },
-    cast$1$0$ax(receiver, $T1) {
-      return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1);
-    },
-    cast$2$0$ax(receiver, $T1, $T2) {
-      return J.getInterceptor$ax(receiver).cast$2$0(receiver, $T1, $T2);
+    cast$2$0$x(receiver, $T1, $T2) {
+      return J.getInterceptor$x(receiver).cast$2$0(receiver, $T1, $T2);
     },
     compareTo$1$ns(receiver, a0) {
       return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0);
@@ -534,15 +518,12 @@
     elementAt$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
     },
-    forEach$1$ax(receiver, a0) {
-      return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
+    forEach$1$x(receiver, a0) {
+      return J.getInterceptor$x(receiver).forEach$1(receiver, a0);
     },
     forceLoadModule$3$x(receiver, a0, a1, a2) {
       return J.getInterceptor$x(receiver).forceLoadModule$3(receiver, a0, a1, a2);
     },
-    getRange$2$ax(receiver, a0, a1) {
-      return J.getInterceptor$ax(receiver).getRange$2(receiver, a0, a1);
-    },
     keys$0$x(receiver) {
       return J.getInterceptor$x(receiver).keys$0(receiver);
     },
@@ -561,15 +542,15 @@
     noSuchMethod$1$(receiver, a0) {
       return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0);
     },
-    remove$0$x(receiver) {
-      return J.getInterceptor$x(receiver).remove$0(receiver);
-    },
     skip$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).skip$1(receiver, a0);
     },
     sort$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).sort$1(receiver, a0);
     },
+    take$1$ax(receiver, a0) {
+      return J.getInterceptor$ax(receiver).take$1(receiver, a0);
+    },
     then$1$1$x(receiver, a0, $T1) {
       return J.getInterceptor$x(receiver).then$1$1(receiver, a0, $T1);
     },
@@ -579,9 +560,6 @@
     toList$0$ax(receiver) {
       return J.getInterceptor$ax(receiver).toList$0(receiver);
     },
-    toLowerCase$0$s(receiver) {
-      return J.getInterceptor$s(receiver).toLowerCase$0(receiver);
-    },
     toRadixString$1$n(receiver, a0) {
       return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0);
     },
@@ -688,23 +666,9 @@
         return new A.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
       return new A.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
     },
-    SkipIterable_SkipIterable(iterable, count, $E) {
-      var _s5_ = "count";
-      if (type$.EfficientLengthIterable_dynamic._is(iterable)) {
-        A.ArgumentError_checkNotNull(count, _s5_, type$.int);
-        A.RangeError_checkNotNegative(count, _s5_);
-        return new A.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>"));
-      }
-      A.ArgumentError_checkNotNull(count, _s5_, type$.int);
-      A.RangeError_checkNotNegative(count, _s5_);
-      return new A.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>"));
-    },
     IterableElementError_noElement() {
       return new A.StateError("No element");
     },
-    IterableElementError_tooMany() {
-      return new A.StateError("Too many elements");
-    },
     IterableElementError_tooFew() {
       return new A.StateError("Too few elements");
     },
@@ -965,16 +929,6 @@
       this.__internal$_source = t0;
       this.$ti = t1;
     },
-    _CastListBase: function _CastListBase() {
-    },
-    _CastListBase_sort_closure: function _CastListBase_sort_closure(t0, t1) {
-      this.$this = t0;
-      this.compare = t1;
-    },
-    CastList: function CastList(t0, t1) {
-      this.__internal$_source = t0;
-      this.$ti = t1;
-    },
     CastMap: function CastMap(t0, t1) {
       this.__internal$_source = t0;
       this.$ti = t1;
@@ -1031,31 +985,6 @@
       this._f = t1;
       this.$ti = t2;
     },
-    WhereIterable: function WhereIterable(t0, t1, t2) {
-      this.__internal$_iterable = t0;
-      this._f = t1;
-      this.$ti = t2;
-    },
-    WhereIterator: function WhereIterator(t0, t1, t2) {
-      this._iterator = t0;
-      this._f = t1;
-      this.$ti = t2;
-    },
-    SkipIterable: function SkipIterable(t0, t1, t2) {
-      this.__internal$_iterable = t0;
-      this._skipCount = t1;
-      this.$ti = t2;
-    },
-    EfficientLengthSkipIterable: function EfficientLengthSkipIterable(t0, t1, t2) {
-      this.__internal$_iterable = t0;
-      this._skipCount = t1;
-      this.$ti = t2;
-    },
-    SkipIterator: function SkipIterator(t0, t1, t2) {
-      this._iterator = t0;
-      this._skipCount = t1;
-      this.$ti = t2;
-    },
     EmptyIterable: function EmptyIterable(t0) {
       this.$ti = t0;
     },
@@ -1075,8 +1004,6 @@
     Symbol: function Symbol(t0) {
       this._name = t0;
     },
-    __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() {
-    },
     ConstantMap__throwUnmodifiable() {
       throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable Map"));
     },
@@ -2051,10 +1978,8 @@
       else if (other instanceof A.JSSyntaxRegExp) {
         t1 = B.JSString_methods.substring$1(receiver, startIndex);
         return other._nativeRegExp.test(t1);
-      } else {
-        t1 = J.allMatches$1$s(other, B.JSString_methods.substring$1(receiver, startIndex));
-        return !t1.get$isEmpty(t1);
-      }
+      } else
+        return !J.allMatches$1$s(other, B.JSString_methods.substring$1(receiver, startIndex)).get$isEmpty(0);
     },
     quoteStringForRegExp(string) {
       if (/[[\]{}()*+?.\\^$|]/.test(string))
@@ -2697,11 +2622,6 @@
     _failedAsCheck(object, testRti) {
       throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A._rtiToString(testRti, null))));
     },
-    checkTypeBound(type, bound, variable, methodName) {
-      if (A.isSubtype(init.typeUniverse, type, bound))
-        return type;
-      throw A.wrapException(A._TypeError$fromMessage("The type argument '" + A._rtiToString(type, null) + "' is not a subtype of the type variable bound '" + A._rtiToString(bound, null) + "' of type variable '" + variable + "' in '" + methodName + "'."));
-    },
     _Error_compose(object, checkedTypeDescription) {
       return A.Error_safeToString(object) + ": type '" + A._rtiToString(A._structuralTypeOf(object), null) + "' is not a subtype of type '" + checkedTypeDescription + "'";
     },
@@ -3603,27 +3523,19 @@
       throw A.wrapException(A.AssertionError$("Bad index " + index + " for " + environment.toString$0(0)));
     },
     isSubtype(universe, s, t) {
-      var result, t1, _null = null,
+      var result,
         sCache = s._isSubtypeCache;
       if (sCache == null)
         sCache = s._isSubtypeCache = new Map();
       result = sCache.get(t);
       if (result == null) {
-        result = A._isSubtype(universe, s, _null, t, _null, false) ? 1 : 0;
+        result = A._isSubtype(universe, s, null, t, null, false) ? 1 : 0;
         sCache.set(t, result);
       }
-      t1 = J.getInterceptor$(result);
-      if (t1.$eq(result, 0))
+      if (0 === result)
         return false;
-      if (t1.$eq(result, 1))
+      if (1 === result)
         return true;
-      A._rtiToString(s, _null);
-      A._rtiToString(t, _null);
-      A.StackTrace_current();
-      if (!$._reportingExtraNullSafetyError) {
-        $._reportingExtraNullSafetyError = true;
-        $._reportingExtraNullSafetyError = false;
-      }
       return true;
     },
     _isSubtype(universe, s, sEnv, t, tEnv, isLegacy) {
@@ -3914,9 +3826,6 @@
     _TypeError: function _TypeError(t0) {
       this.__rti$_message = t0;
     },
-    _InconsistentSubtypingError: function _InconsistentSubtypingError(t0) {
-      this.__rti$_message = t0;
-    },
     _AsyncRun__initializeScheduleImmediate() {
       var div, span, t1 = {};
       if (self.scheduleImmediate != null)
@@ -3992,7 +3901,7 @@
     _wrapJsFunctionForAsync($function) {
       var $protected = function(fn, ERROR) {
         return function(errorCode, result) {
-          while (true)
+          while (true) {
             try {
               fn(errorCode, result);
               break;
@@ -4000,6 +3909,7 @@
               result = error;
               errorCode = ERROR;
             }
+          }
         };
       }($function, 1);
       return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic);
@@ -4026,12 +3936,8 @@
       var result, error, stackTrace, future, replacement, t1, exception;
       try {
         result = computation.call$0();
-        if ($T._eval$1("Future<0>")._is(result))
-          return result;
-        else {
-          t1 = A._Future$value(result, $T);
-          return t1;
-        }
+        t1 = $T._eval$1("Future<0>")._is(result) ? result : A._Future$value(result, $T);
+        return t1;
       } catch (exception) {
         error = A.unwrapException(exception);
         stackTrace = A.getTraceFromException(exception);
@@ -4963,10 +4869,6 @@
         result.add$1(0, $E._as(elements[_i]));
       return result;
     },
-    ListBase__compareAny(a, b) {
-      var t1 = type$.Comparable_dynamic;
-      return J.compareTo$1$ns(t1._as(a), t1._as(b));
-    },
     MapBase_mapToString(m) {
       var result, t1 = {};
       if (A.isToStringVisiting(m))
@@ -4976,7 +4878,7 @@
         B.JSArray_methods.add$1($.toStringVisiting, m);
         result._contents += "{";
         t1.first = true;
-        J.forEach$1$ax(m, new A.MapBase_mapToString_closure(t1, result));
+        J.forEach$1$x(m, new A.MapBase_mapToString_closure(t1, result));
         result._contents += "}";
       } finally {
         if (0 >= $.toStringVisiting.length)
@@ -4992,9 +4894,8 @@
     ListQueue__calculateCapacity(initialCapacity) {
       return 8;
     },
-    SplayTreeSet$(compare, isValidKey, $E) {
-      var t1 = isValidKey == null ? new A.SplayTreeSet_closure($E) : isValidKey;
-      return new A.SplayTreeSet(compare, t1, $E._eval$1("SplayTreeSet<0>"));
+    SplayTreeSet$(compare, $E) {
+      return new A.SplayTreeSet(compare, new A.SplayTreeSet_closure($E), $E._eval$1("SplayTreeSet<0>"));
     },
     _HashMap: function _HashMap(t0) {
       var _ = this;
@@ -5040,7 +4941,7 @@
     },
     _HashSetIterator: function _HashSetIterator(t0, t1, t2) {
       var _ = this;
-      _._set = t0;
+      _._collection$_set = t0;
       _._collection$_elements = t1;
       _._offset = 0;
       _._collection$_current = null;
@@ -5054,12 +4955,12 @@
       _.$ti = t0;
     },
     _LinkedHashSetCell: function _LinkedHashSetCell(t0) {
-      this._collection$_element = t0;
+      this._element = t0;
       this._collection$_next = null;
     },
     _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) {
       var _ = this;
-      _._set = t0;
+      _._collection$_set = t0;
       _._collection$_modifications = t1;
       _._collection$_current = _._collection$_cell = null;
       _.$ti = t2;
@@ -5981,39 +5882,37 @@
       return list;
     },
     String_String$fromCharCodes(charCodes, start, end) {
-      var array, len;
+      var t1, t2, maxLength, array, len;
+      A.RangeError_checkNotNegative(start, "start");
+      t1 = end == null;
+      t2 = !t1;
+      if (t2) {
+        maxLength = end - start;
+        if (maxLength < 0)
+          throw A.wrapException(A.RangeError$range(end, start, null, "end", null));
+        if (maxLength === 0)
+          return "";
+      }
       if (Array.isArray(charCodes)) {
         array = charCodes;
         len = array.length;
-        end = A.RangeError_checkValidRange(start, end, len);
+        if (t1)
+          end = len;
         return A.Primitives_stringFromCharCodes(start > 0 || end < len ? array.slice(start, end) : array);
       }
       if (type$.NativeUint8List._is(charCodes))
-        return A.Primitives_stringFromNativeUint8List(charCodes, start, A.RangeError_checkValidRange(start, end, charCodes.length));
-      return A.String__stringFromIterable(charCodes, start, end);
-    },
-    String__stringFromIterable(charCodes, start, end) {
-      var t1, it, i, list, _null = null;
-      if (start < 0)
-        throw A.wrapException(A.RangeError$range(start, 0, J.get$length$asx(charCodes), _null, _null));
-      t1 = end == null;
-      if (!t1 && end < start)
-        throw A.wrapException(A.RangeError$range(end, start, J.get$length$asx(charCodes), _null, _null));
-      it = J.get$iterator$ax(charCodes);
-      for (i = 0; i < start; ++i)
-        if (!it.moveNext$0())
-          throw A.wrapException(A.RangeError$range(start, 0, i, _null, _null));
-      list = [];
-      if (t1)
-        for (; it.moveNext$0();)
-          list.push(it.get$current(it));
-      else
-        for (i = start; i < end; ++i) {
-          if (!it.moveNext$0())
-            throw A.wrapException(A.RangeError$range(end, start, i, _null, _null));
-          list.push(it.get$current(it));
-        }
-      return A.Primitives_stringFromCharCodes(list);
+        return A.String__stringFromUint8List(charCodes, start, end);
+      if (t2)
+        charCodes = J.take$1$ax(charCodes, end);
+      if (start > 0)
+        charCodes = J.skip$1$ax(charCodes, start);
+      return A.Primitives_stringFromCharCodes(A.List_List$of(charCodes, true, type$.int));
+    },
+    String__stringFromUint8List(charCodes, start, endOrNull) {
+      var len = charCodes.length;
+      if (start >= len)
+        return "";
+      return A.Primitives_stringFromNativeUint8List(charCodes, start, endOrNull == null || endOrNull > len ? len : endOrNull);
     },
     RegExp_RegExp(source, caseSensitive, multiLine) {
       return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, false, false, false));
@@ -7577,158 +7476,18 @@
       this._jsWeakMap = t0;
       this.$ti = t1;
     },
-    CustomEvent_CustomEvent(type, detail) {
-      var e, t1, exception,
-        canBubble = true,
-        cancelable = true;
-      detail = detail;
-      t1 = document.createEvent("CustomEvent");
-      t1.toString;
-      e = type$.CustomEvent._as(t1);
-      e._dartDetail = detail;
-      if (type$.List_dynamic._is(detail) || type$.Map_dynamic_dynamic._is(detail) || typeof detail == "string" || typeof detail == "number")
-        try {
-          detail = new A._StructuredCloneDart2Js([], []).walk$1(detail);
-          J._initCustomEvent$4$x(e, type, canBubble, cancelable, detail);
-        } catch (exception) {
-          J._initCustomEvent$4$x(e, type, canBubble, cancelable, null);
-        }
-      else
-        J._initCustomEvent$4$x(e, type, canBubble, cancelable, null);
-      return e;
-    },
-    Element_Element$html(html, treeSanitizer, validator) {
-      var t2,
-        t1 = document.body;
-      t1.toString;
-      t2 = type$._ChildNodeListLazy;
-      t2 = new A.WhereIterable(new A._ChildNodeListLazy(B.BodyElement_methods.createFragment$3$treeSanitizer$validator(t1, html, treeSanitizer, validator)), t2._eval$1("bool(ListBase.E)")._as(new A.Element_Element$html_closure()), t2._eval$1("WhereIterable<ListBase.E>"));
-      return type$.Element._as(t2.get$single(t2));
-    },
-    Element__safeTagName(element) {
-      var t1, exception,
-        result = "element tag unavailable";
-      try {
-        t1 = element.tagName;
-        t1.toString;
-        result = t1;
-      } catch (exception) {
-      }
-      return result;
-    },
-    EventSource__factoryEventSource(url, eventSourceInitDict) {
-      var t1 = new EventSource(url, A.convertDartToNative_Dictionary(eventSourceInitDict));
-      t1.toString;
-      return t1;
-    },
-    HttpRequest_request(url, method, responseType, withCredentials) {
-      var t3, t4,
-        t1 = new A._Future($.Zone__current, type$._Future_HttpRequest),
-        completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_HttpRequest),
-        t2 = new XMLHttpRequest();
-      t2.toString;
-      B.HttpRequest_methods.open$3$async(t2, method, url, true);
-      if (withCredentials != null)
-        B.HttpRequest_methods.set$withCredentials(t2, withCredentials);
-      if (responseType != null)
-        t2.responseType = responseType;
-      t3 = type$.nullable_void_Function_ProgressEvent;
-      t4 = type$.ProgressEvent;
-      A._EventStreamSubscription$(t2, "load", t3._as(new A.HttpRequest_request_closure(t2, completer)), false, t4);
-      A._EventStreamSubscription$(t2, "error", t3._as(completer.get$completeError()), false, t4);
-      t2.send();
-      return t1;
-    },
-    ScriptElement___new_tearOff() {
-      var t1 = document.createElement("script");
-      t1.toString;
-      return t1;
-    },
     WebSocket_WebSocket(url, protocols) {
       var t1 = new WebSocket(url);
       t1.toString;
       return t1;
     },
-    _EventStreamSubscription$(_target, _eventType, onData, _useCapture, $T) {
-      var t1 = onData == null ? null : A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.Event);
-      t1 = new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>"));
-      t1._tryResume$0();
-      return t1;
-    },
-    _Html5NodeValidator$(uriPolicy) {
-      var t1 = document.createElement("a");
-      t1.toString;
-      t1 = new A._SameOriginUriPolicy(t1, type$.Location._as(window.location));
-      t1 = new A._Html5NodeValidator(t1);
-      t1._Html5NodeValidator$1$uriPolicy(uriPolicy);
-      return t1;
-    },
-    _Html5NodeValidator__standardAttributeValidator(element, attributeName, value, context) {
-      type$.Element._as(element);
-      A._asString(attributeName);
-      A._asString(value);
-      type$._Html5NodeValidator._as(context);
-      return true;
-    },
-    _Html5NodeValidator__uriAttributeValidator(element, attributeName, value, context) {
-      var t1, t2, t3, t4, t5;
-      type$.Element._as(element);
-      A._asString(attributeName);
-      A._asString(value);
-      t1 = type$._Html5NodeValidator._as(context).uriPolicy;
-      t2 = t1._hiddenAnchor;
-      B.AnchorElement_methods.set$href(t2, value);
-      t3 = t2.hostname;
-      t1 = t1._loc;
-      if (t3 == t1.hostname) {
-        t4 = t2.port;
-        t5 = t1.port;
-        t5.toString;
-        if (t4 === t5) {
-          t4 = t2.protocol;
-          t1 = t1.protocol;
-          t1.toString;
-          t1 = t4 === t1;
-        } else
-          t1 = false;
-      } else
-        t1 = false;
-      if (!t1)
-        if (t3 === "")
-          if (t2.port === "") {
-            t1 = t2.protocol;
-            t1 = t1 === ":" || t1 === "";
-          } else
-            t1 = false;
-        else
-          t1 = false;
-      else
-        t1 = true;
-      return t1;
-    },
-    _TemplatingNodeValidator$() {
-      var t1 = type$.String,
-        t2 = A.LinkedHashSet_LinkedHashSet$from(B.List_AuK, t1),
-        t3 = A._setArrayType(["TEMPLATE"], type$.JSArray_String),
-        t4 = type$.String_Function_String._as(new A._TemplatingNodeValidator_closure());
-      t1 = new A._TemplatingNodeValidator(t2, A.LinkedHashSet_LinkedHashSet(t1), A.LinkedHashSet_LinkedHashSet(t1), A.LinkedHashSet_LinkedHashSet(t1), null);
-      t1._SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes(null, new A.MappedListIterable(B.List_AuK, t4, type$.MappedListIterable_String_String), t3, null);
+    _EventStreamSubscription$0(_target, _eventType, onData, _useCapture, $T) {
+      var t1 = onData == null ? null : A._wrapZone0(new A._EventStreamSubscription_closure0(onData), type$.Event);
+      t1 = new A._EventStreamSubscription0(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription0<0>"));
+      t1._html$_tryResume$0();
       return t1;
     },
-    _convertNativeToDart_XHR_Response(o) {
-      if (type$.Document._is(o))
-        return o;
-      return new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(o, true);
-    },
-    _DOMWindowCrossFrame__createSafe(w) {
-      var t1 = window;
-      t1.toString;
-      if (w === t1)
-        return type$.WindowBase._as(w);
-      else
-        return new A._DOMWindowCrossFrame();
-    },
-    _wrapZone(callback, $T) {
+    _wrapZone0(callback, $T) {
       var t1 = $.Zone__current;
       if (t1 === B.C__RootZone)
         return callback;
@@ -7742,12 +7501,8 @@
     },
     AreaElement: function AreaElement() {
     },
-    BaseElement: function BaseElement() {
-    },
     Blob: function Blob() {
     },
-    BodyElement: function BodyElement() {
-    },
     CharacterData: function CharacterData() {
     },
     CloseEvent: function CloseEvent() {
@@ -7768,16 +7523,10 @@
     },
     CssUnparsedValue: function CssUnparsedValue() {
     },
-    CustomEvent: function CustomEvent() {
-    },
     DataTransferItemList: function DataTransferItemList() {
     },
-    Document: function Document() {
-    },
     DomException: function DomException() {
     },
-    DomImplementation: function DomImplementation() {
-    },
     DomRectList: function DomRectList() {
     },
     DomRectReadOnly: function DomRectReadOnly() {
@@ -7786,18 +7535,10 @@
     },
     DomTokenList: function DomTokenList() {
     },
-    _FrozenElementList: function _FrozenElementList(t0, t1) {
-      this._nodeList = t0;
-      this.$ti = t1;
-    },
     Element: function Element() {
     },
-    Element_Element$html_closure: function Element_Element$html_closure() {
-    },
     Event: function Event() {
     },
-    EventSource: function EventSource() {
-    },
     EventTarget: function EventTarget() {
     },
     File: function File() {
@@ -7814,28 +7555,14 @@
     },
     HtmlCollection: function HtmlCollection() {
     },
-    HtmlDocument: function HtmlDocument() {
-    },
-    HttpRequest: function HttpRequest() {
-    },
-    HttpRequest_request_closure: function HttpRequest_request_closure(t0, t1) {
-      this.xhr = t0;
-      this.completer = t1;
-    },
-    HttpRequestEventTarget: function HttpRequestEventTarget() {
-    },
     ImageData: function ImageData() {
     },
-    KeyboardEvent: function KeyboardEvent() {
-    },
     Location: function Location() {
     },
     MediaList: function MediaList() {
     },
     MessageEvent: function MessageEvent() {
     },
-    MessagePort: function MessagePort() {
-    },
     MidiInputMap: function MidiInputMap() {
     },
     MidiInputMap_keys_closure: function MidiInputMap_keys_closure(t0) {
@@ -7850,9 +7577,6 @@
     },
     MimeTypeArray: function MimeTypeArray() {
     },
-    _ChildNodeListLazy: function _ChildNodeListLazy(t0) {
-      this._this = t0;
-    },
     Node: function Node() {
     },
     NodeList: function NodeList() {
@@ -7861,19 +7585,13 @@
     },
     PluginArray: function PluginArray() {
     },
-    ProgressEvent: function ProgressEvent() {
-    },
     RtcStatsReport: function RtcStatsReport() {
     },
     RtcStatsReport_keys_closure: function RtcStatsReport_keys_closure(t0) {
       this.keys = t0;
     },
-    ScriptElement: function ScriptElement() {
-    },
     SelectElement: function SelectElement() {
     },
-    SharedArrayBuffer: function SharedArrayBuffer() {
-    },
     SourceBuffer: function SourceBuffer() {
     },
     SourceBufferList: function SourceBufferList() {
@@ -7891,14 +7609,6 @@
     },
     StyleSheet: function StyleSheet() {
     },
-    TableElement: function TableElement() {
-    },
-    TableRowElement: function TableRowElement() {
-    },
-    TableSectionElement: function TableSectionElement() {
-    },
-    TemplateElement: function TemplateElement() {
-    },
     TextTrack: function TextTrack() {
     },
     TextTrackCue: function TextTrackCue() {
@@ -7915,8 +7625,6 @@
     },
     TrackDefaultList: function TrackDefaultList() {
     },
-    UIEvent: function UIEvent() {
-    },
     Url: function Url() {
     },
     VideoTrackList: function VideoTrackList() {
@@ -7927,8 +7635,6 @@
     },
     WorkerGlobalScope: function WorkerGlobalScope() {
     },
-    _Attr: function _Attr() {
-    },
     _CssRuleList: function _CssRuleList() {
     },
     _DomRect: function _DomRect() {
@@ -7941,71 +7647,34 @@
     },
     _StyleSheetList: function _StyleSheetList() {
     },
-    _AttributeMap: function _AttributeMap() {
-    },
-    _ElementAttributeMap: function _ElementAttributeMap(t0) {
-      this._element = t0;
-    },
     EventStreamProvider: function EventStreamProvider(t0, t1) {
-      this._eventType = t0;
+      this._html$_eventType = t0;
       this.$ti = t1;
     },
-    _EventStream: function _EventStream(t0, t1, t2, t3) {
+    _EventStream0: function _EventStream0(t0, t1, t2, t3) {
       var _ = this;
-      _._target = t0;
-      _._eventType = t1;
-      _._useCapture = t2;
+      _._html$_target = t0;
+      _._html$_eventType = t1;
+      _._html$_useCapture = t2;
       _.$ti = t3;
     },
-    _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) {
+    _EventStreamSubscription0: function _EventStreamSubscription0(t0, t1, t2, t3, t4) {
       var _ = this;
-      _._pauseCount = 0;
-      _._target = t0;
-      _._eventType = t1;
-      _._onData = t2;
-      _._useCapture = t3;
+      _._html$_pauseCount = 0;
+      _._html$_target = t0;
+      _._html$_eventType = t1;
+      _._html$_onData = t2;
+      _._html$_useCapture = t3;
       _.$ti = t4;
     },
-    _EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) {
+    _EventStreamSubscription_closure0: function _EventStreamSubscription_closure0(t0) {
       this.onData = t0;
     },
-    _EventStreamSubscription_onData_closure: function _EventStreamSubscription_onData_closure(t0) {
+    _EventStreamSubscription_onData_closure0: function _EventStreamSubscription_onData_closure0(t0) {
       this.handleData = t0;
     },
-    _Html5NodeValidator: function _Html5NodeValidator(t0) {
-      this.uriPolicy = t0;
-    },
     ImmutableListMixin: function ImmutableListMixin() {
     },
-    NodeValidatorBuilder: function NodeValidatorBuilder(t0) {
-      this._validators = t0;
-    },
-    NodeValidatorBuilder_allowsElement_closure: function NodeValidatorBuilder_allowsElement_closure(t0) {
-      this.element = t0;
-    },
-    NodeValidatorBuilder_allowsAttribute_closure: function NodeValidatorBuilder_allowsAttribute_closure(t0, t1, t2) {
-      this.element = t0;
-      this.attributeName = t1;
-      this.value = t2;
-    },
-    _SimpleNodeValidator: function _SimpleNodeValidator() {
-    },
-    _SimpleNodeValidator_closure: function _SimpleNodeValidator_closure() {
-    },
-    _SimpleNodeValidator_closure0: function _SimpleNodeValidator_closure0() {
-    },
-    _TemplatingNodeValidator: function _TemplatingNodeValidator(t0, t1, t2, t3, t4) {
-      var _ = this;
-      _._templateAttrs = t0;
-      _.allowedElements = t1;
-      _.allowedAttributes = t2;
-      _.allowedUriAttributes = t3;
-      _.uriPolicy = t4;
-    },
-    _TemplatingNodeValidator_closure: function _TemplatingNodeValidator_closure() {
-    },
-    _SvgNodeValidator: function _SvgNodeValidator() {
-    },
     FixedSizeListIterator: function FixedSizeListIterator(t0, t1, t2) {
       var _ = this;
       _._array = t0;
@@ -8014,19 +7683,6 @@
       _._current = null;
       _.$ti = t2;
     },
-    _DOMWindowCrossFrame: function _DOMWindowCrossFrame() {
-    },
-    _SameOriginUriPolicy: function _SameOriginUriPolicy(t0, t1) {
-      this._hiddenAnchor = t0;
-      this._loc = t1;
-    },
-    _ValidatingTreeSanitizer: function _ValidatingTreeSanitizer(t0) {
-      this.validator = t0;
-      this.numTreeModifications = 0;
-    },
-    _ValidatingTreeSanitizer_sanitizeTree_walk: function _ValidatingTreeSanitizer_sanitizeTree_walk(t0) {
-      this.$this = t0;
-    },
     _CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase: function _CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase() {
     },
     _DomRectList_JavaScriptObject_ListMixin: function _DomRectList_JavaScriptObject_ListMixin() {
@@ -8144,26 +7800,6 @@
       }
       return dict;
     },
-    _convertDartToNative_Value(value) {
-      var array;
-      if (value == null)
-        return value;
-      if (typeof value == "string" || typeof value == "number" || A._isBool(value))
-        return value;
-      if (type$.Map_dynamic_dynamic._is(value))
-        return A.convertDartToNative_Dictionary(value);
-      if (type$.List_dynamic._is(value)) {
-        array = [];
-        J.forEach$1$ax(value, new A._convertDartToNative_Value_closure(array));
-        value = array;
-      }
-      return value;
-    },
-    convertDartToNative_Dictionary(dict) {
-      var object = {};
-      J.forEach$1$ax(dict, new A.convertDartToNative_Dictionary_closure(object));
-      return object;
-    },
     isJavaScriptSimpleObject(value) {
       var proto = Object.getPrototypeOf(value),
         t1 = proto === Object.prototype;
@@ -8175,32 +7811,12 @@
         t1 = true;
       return t1;
     },
-    _StructuredClone: function _StructuredClone() {
-    },
-    _StructuredClone_walk_closure: function _StructuredClone_walk_closure(t0, t1) {
-      this._box_0 = t0;
-      this.$this = t1;
-    },
-    _StructuredClone_walk_closure0: function _StructuredClone_walk_closure0(t0, t1) {
-      this._box_0 = t0;
-      this.$this = t1;
-    },
     _AcceptStructuredClone: function _AcceptStructuredClone() {
     },
     _AcceptStructuredClone_walk_closure: function _AcceptStructuredClone_walk_closure(t0, t1) {
       this.$this = t0;
       this.map = t1;
     },
-    _convertDartToNative_Value_closure: function _convertDartToNative_Value_closure(t0) {
-      this.array = t0;
-    },
-    convertDartToNative_Dictionary_closure: function convertDartToNative_Dictionary_closure(t0) {
-      this.object = t0;
-    },
-    _StructuredCloneDart2Js: function _StructuredCloneDart2Js(t0, t1) {
-      this.values = t0;
-      this.copies = t1;
-    },
     _AcceptStructuredCloneDart2Js: function _AcceptStructuredCloneDart2Js(t0, t1) {
       this.values = t0;
       this.copies = t1;
@@ -8357,6 +7973,14 @@
       jsPromise.then(A.convertDartClosureToJS(new A.promiseToFuture_closure(completer, $T), 1), A.convertDartClosureToJS(new A.promiseToFuture_closure0(completer), 1));
       return t1;
     },
+    _noDartifyRequired(o) {
+      return o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string" || o instanceof Int8Array || o instanceof Uint8Array || o instanceof Uint8ClampedArray || o instanceof Int16Array || o instanceof Uint16Array || o instanceof Int32Array || o instanceof Uint32Array || o instanceof Float32Array || o instanceof Float64Array || o instanceof ArrayBuffer || o instanceof DataView;
+    },
+    dartify(o) {
+      if (A._noDartifyRequired(o))
+        return o;
+      return new A.dartify_convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(o);
+    },
     promiseToFuture_closure: function promiseToFuture_closure(t0, t1) {
       this.completer = t0;
       this.T = t1;
@@ -8364,6 +7988,9 @@
     promiseToFuture_closure0: function promiseToFuture_closure0(t0) {
       this.completer = t0;
     },
+    dartify_convert: function dartify_convert(t0) {
+      this._convertedObjects = t0;
+    },
     NullRejectionException: function NullRejectionException(t0) {
       this.isUndefined = t0;
     },
@@ -8392,12 +8019,8 @@
     },
     PointList: function PointList() {
     },
-    ScriptElement0: function ScriptElement0() {
-    },
     StringList: function StringList() {
     },
-    SvgElement: function SvgElement() {
-    },
     Transform: function Transform() {
     },
     TransformList: function TransformList() {
@@ -8614,7 +8237,7 @@
     _BuiltSet: function _BuiltSet(t0, t1, t2) {
       var _ = this;
       _._setFactory = t0;
-      _._set$_set = t1;
+      _._set = t1;
       _._set$_hashCode = null;
       _.$ti = t2;
     },
@@ -8698,7 +8321,7 @@
       else if (type$.Map_of_String_and_nullable_Object._is(value))
         return new A.MapJsonObject(new A.UnmodifiableMapView(value, type$.UnmodifiableMapView_of_String_and_nullable_Object));
       else if (type$.Map_dynamic_dynamic._is(value))
-        return new A.MapJsonObject(new A.UnmodifiableMapView(J.cast$2$0$ax(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object));
+        return new A.MapJsonObject(new A.UnmodifiableMapView(J.cast$2$0$x(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object));
       else
         throw A.wrapException(A.ArgumentError$value(value, "value", "Must be bool, List<Object?>, Map<String?, Object?>, num or String"));
     },
@@ -8736,6 +8359,7 @@
       t2.add$1(0, new A.DoubleSerializer(A.BuiltList_BuiltList$from([B.Type_double_K1J], t1)));
       t2.add$1(0, new A.DurationSerializer(A.BuiltList_BuiltList$from([B.Type_Duration_SnA], t1)));
       t2.add$1(0, new A.IntSerializer(A.BuiltList_BuiltList$from([B.Type_int_tHn], t1)));
+      t2.add$1(0, new A.Int32Serializer(A.BuiltList_BuiltList$from([B.Type_Int32_Mhf], t1)));
       t2.add$1(0, new A.Int64Serializer(A.BuiltList_BuiltList$from([B.Type_Int64_ww8], t1)));
       t2.add$1(0, new A.JsonObjectSerializer(A.BuiltList_BuiltList$from([B.Type_JsonObject_gyf, B.Type_BoolJsonObject_8HQ, B.Type_ListJsonObject_yPV, B.Type_MapJsonObject_bBG, B.Type_NumJsonObject_H9C, B.Type_StringJsonObject_GAC], t1)));
       t2.add$1(0, new A.NullSerializer(A.BuiltList_BuiltList$from([B.Type_Null_Yyn], t1)));
@@ -8796,6 +8420,10 @@
         genericsStart = B.JSString_methods.indexOf$1($name, "<");
       return genericsStart === -1 ? $name : B.JSString_methods.substring$2($name, 0, genericsStart);
     },
+    _noSerializerMessageFor(typeName) {
+      var maybeRecordAdvice = B.JSString_methods.contains$1(typeName, "(") ? " Note that record types are not automatically serializable, please write and install your own `Serializer`." : "";
+      return "No serializer for '" + typeName + "'." + maybeRecordAdvice;
+    },
     BuiltJsonSerializers: function BuiltJsonSerializers(t0, t1, t2, t3, t4) {
       var _ = this;
       _._typeToSerializer = t0;
@@ -8868,6 +8496,9 @@
     DurationSerializer: function DurationSerializer(t0) {
       this.types = t0;
     },
+    Int32Serializer: function Int32Serializer(t0) {
+      this.types = t0;
+    },
     Int64Serializer: function Int64Serializer(t0) {
       this.types = t0;
     },
@@ -8933,14 +8564,6 @@
       _._queue_list$_tail = t2;
       _.$ti = t3;
     },
-    _CastQueueList: function _CastQueueList(t0, t1, t2, t3, t4) {
-      var _ = this;
-      _._queue_list$_delegate = t0;
-      _._queue_list$_table = t1;
-      _._queue_list$_head = t2;
-      _._queue_list$_tail = t3;
-      _.$ti = t4;
-    },
     _QueueList_Object_ListMixin: function _QueueList_Object_ListMixin() {
     },
     _$valueOf($name) {
@@ -9187,6 +8810,9 @@
     },
     safeUnawaited_closure: function safeUnawaited_closure() {
     },
+    Int32: function Int32(t0) {
+      this._i = t0;
+    },
     Int64__parseRadix(s, radix, throwOnError) {
       var i, negative, t1, d0, d1, d2, digit, d00, d10;
       if (B.JSString_methods.startsWith$1(s, "-")) {
@@ -9234,6 +8860,8 @@
         return value;
       else if (A._isInt(value))
         return A.Int64_Int64(value);
+      else if (value instanceof A.Int32)
+        return A.Int64_Int64(value._i);
       throw A.wrapException(A.ArgumentError$value(value, "other", "not an int, Int32 or Int64"));
     },
     Int64__toRadixStringUnsigned(radix, d0, d1, d2, sign) {
@@ -9287,7 +8915,7 @@
       this._h = t2;
     },
     stronglyConnectedComponents(nodes, edges, $T) {
-      var t2, t3, _i, t4, index, t5, state, node, iterator, index0, lowLink, t6, next, component, t7, result0, _null = null,
+      var t2, t3, t4, node, index, t5, state, iterator, index0, lowLink, t6, next, component, t7, result0, _null = null,
         result = A._setArrayType([], $T._eval$1("JSArray<List<0>>")),
         t1 = type$.int,
         lowLinks = A.HashMap_HashMap(_null, _null, _null, $T, t1),
@@ -9295,10 +8923,12 @@
         onStack = A.HashSet_HashSet(_null, _null, $T),
         lastVisited = A.ListQueue$($T);
       t1 = A._setArrayType([], $T._eval$1("JSArray<_StackState<0>>"));
-      for (t2 = nodes.length, t3 = $T._eval$1("_StackState<0>"), _i = 0; _i < nodes.length; nodes.length === t2 || (0, A.throwConcurrentModificationError)(nodes), ++_i)
-        t1.push(new A._StackState(nodes[_i], _null, t3));
+      for (t2 = nodes.$ti, t3 = new A.ListIterator(nodes, nodes.get$length(0), t2._eval$1("ListIterator<ListIterable.E>")), t4 = $T._eval$1("_StackState<0>"), t2 = t2._eval$1("ListIterable.E"); t3.moveNext$0();) {
+        node = t3.__internal$_current;
+        t1.push(new A._StackState(node == null ? t2._as(node) : node, _null, t4));
+      }
       $label0$0:
-        for (t2 = lastVisited.$ti._precomputed1, t4 = $T._eval$1("JSArray<0>"), index = 0; t5 = t1.length, t5 !== 0;) {
+        for (t2 = lastVisited.$ti._precomputed1, t3 = $T._eval$1("JSArray<0>"), index = 0; t5 = t1.length, t5 !== 0;) {
           if (0 >= t5)
             return A.ioore(t1, -1);
           state = t1.pop();
@@ -9312,7 +8942,7 @@
             index0 = index + 1;
             iterator = J.get$iterator$ax(edges.call$1(node));
             if (!iterator.moveNext$0()) {
-              B.JSArray_methods.add$1(result, A._setArrayType([node], t4));
+              B.JSArray_methods.add$1(result, A._setArrayType([node], t3));
               index = index0;
               continue $label0$0;
             }
@@ -9330,8 +8960,8 @@
           do {
             next = iterator.get$current(iterator);
             if (!indexes.containsKey$1(0, next)) {
-              B.JSArray_methods.add$1(t1, new A._StackState(node, iterator, t3));
-              B.JSArray_methods.add$1(t1, new A._StackState(next, _null, t3));
+              B.JSArray_methods.add$1(t1, new A._StackState(node, iterator, t4));
+              B.JSArray_methods.add$1(t1, new A._StackState(next, _null, t4));
               continue $label0$0;
             } else if (onStack.contains$1(0, next)) {
               t5 = indexes.$index(0, next);
@@ -9341,7 +8971,7 @@
             }
           } while (iterator.moveNext$0());
           if (lowLink === indexes.$index(0, node)) {
-            component = A._setArrayType([], t4);
+            component = A._setArrayType([], t3);
             do {
               t5 = lastVisited._head;
               t6 = lastVisited._tail;
@@ -9424,7 +9054,7 @@
       t3 = A.Logger_Logger("SseClient");
       t4 = $.Zone__current;
       t5 = A.generateUuidV4();
-      t1 = new A.SseClient(debugKey + "-" + t5, t2, t1, t3, new A._AsyncCompleter(new A._Future(t4, type$._Future_dynamic), type$._AsyncCompleter_dynamic));
+      t1 = new A.SseClient(debugKey + "-" + t5, t2, t1, t3, new A._AsyncCompleter(new A._Future(t4, type$._Future_void), type$._AsyncCompleter_void));
       t1.SseClient$2$debugKey(serverUrl, debugKey);
       return t1;
     },
@@ -9457,22 +9087,20 @@
       this.$this = t1;
       this.message = t2;
     },
-    _FetchOptions: function _FetchOptions() {
-    },
     generateUuidV4() {
-      var t1 = new A.generateUuidV4__printDigits(),
-        t2 = new A.generateUuidV4__bitsDigits(t1, new A.generateUuidV4__generateBits(B.C__JSRandom)),
+      var t1 = new A.generateUuidV4_printDigits(),
+        t2 = new A.generateUuidV4_bitsDigits(t1, new A.generateUuidV4_generateBits(B.C__JSRandom)),
         t3 = B.C__JSRandom.nextInt$1(4);
       return A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4)) + "-" + A.S(t2.call$2(16, 4)) + "-4" + A.S(t2.call$2(12, 3)) + "-" + A.S(t1.call$2(8 + t3, 1)) + A.S(t2.call$2(12, 3)) + "-" + A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4));
     },
-    generateUuidV4__generateBits: function generateUuidV4__generateBits(t0) {
+    generateUuidV4_generateBits: function generateUuidV4_generateBits(t0) {
       this.random = t0;
     },
-    generateUuidV4__printDigits: function generateUuidV4__printDigits() {
+    generateUuidV4_printDigits: function generateUuidV4_printDigits() {
     },
-    generateUuidV4__bitsDigits: function generateUuidV4__bitsDigits(t0, t1) {
-      this._printDigits = t0;
-      this._generateBits = t1;
+    generateUuidV4_bitsDigits: function generateUuidV4_bitsDigits(t0, t1) {
+      this.printDigits = t0;
+      this.generateBits = t1;
     },
     GuaranteeChannel$(innerStream, innerSink, allowSinkErrors, $T) {
       var t2, t1 = {};
@@ -9516,25 +9144,90 @@
     },
     Uuid: function Uuid() {
     },
-    HtmlWebSocketChannel$connect(url, protocols) {
-      var t2, t3, localToForeignController, foreignToLocalController, t4, t5, _null = null,
-        t1 = A.WebSocket_WebSocket(url.toString$0(0), protocols);
-      B.WebSocket_methods.set$binaryType(t1, "arraybuffer");
-      t2 = new A.StreamChannelController(type$.StreamChannelController_dynamic);
-      t3 = type$.dynamic;
-      localToForeignController = A.StreamController_StreamController(_null, _null, true, t3);
-      foreignToLocalController = A.StreamController_StreamController(_null, _null, true, t3);
-      t4 = A._instanceType(foreignToLocalController);
-      t5 = A._instanceType(localToForeignController);
-      t2.set$__StreamChannelController__local_F(A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3));
-      t3 = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t5._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t4._eval$1("_StreamSinkWrapper<1>")), false, t3);
-      t2.__StreamChannelController__foreign_F !== $ && A.throwLateFieldAI("_foreign");
-      t2.set$__StreamChannelController__foreign_F(t3);
-      t2 = new A.HtmlWebSocketChannel(t1, t2);
-      t2.HtmlWebSocketChannel$1(t1);
-      return t2;
-    },
-    HtmlWebSocketChannel: function HtmlWebSocketChannel(t0, t1) {
+    _EventStreamSubscription$(_target, _eventType, onData, _useCapture, $T) {
+      var t1;
+      if (onData == null)
+        t1 = null;
+      else {
+        t1 = A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.JavaScriptObject);
+        t1 = t1 == null ? null : A.allowInterop(t1, type$.Function);
+      }
+      t1 = new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>"));
+      t1._tryResume$0();
+      return t1;
+    },
+    _wrapZone(callback, $T) {
+      var t1 = $.Zone__current;
+      if (t1 === B.C__RootZone)
+        return callback;
+      return t1.bindUnaryCallbackGuarded$1$1(callback, $T);
+    },
+    EventStreamProvider0: function EventStreamProvider0(t0, t1) {
+      this._eventType = t0;
+      this.$ti = t1;
+    },
+    _EventStream: function _EventStream(t0, t1, t2, t3) {
+      var _ = this;
+      _._target = t0;
+      _._eventType = t1;
+      _._useCapture = t2;
+      _.$ti = t3;
+    },
+    _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) {
+      var _ = this;
+      _._pauseCount = 0;
+      _._target = t0;
+      _._eventType = t1;
+      _._onData = t2;
+      _._useCapture = t3;
+      _.$ti = t4;
+    },
+    _EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) {
+      this.onData = t0;
+    },
+    _EventStreamSubscription_onData_closure: function _EventStreamSubscription_onData_closure(t0) {
+      this.handleData = t0;
+    },
+    HttpRequest_request(url, method, responseType, withCredentials) {
+      var t3,
+        t1 = new A._Future($.Zone__current, type$._Future_JavaScriptObject),
+        completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_JavaScriptObject),
+        t2 = type$.JavaScriptObject,
+        xhr = t2._as(new self.XMLHttpRequest());
+      xhr.open(method, url, true);
+      if (withCredentials != null)
+        xhr.withCredentials = withCredentials;
+      if (responseType != null)
+        xhr.responseType = responseType;
+      t3 = type$.nullable_void_Function_JavaScriptObject;
+      A._EventStreamSubscription$(xhr, "load", t3._as(new A.HttpRequest_request_closure(xhr, completer)), false, t2);
+      A._EventStreamSubscription$(xhr, "error", t3._as(completer.get$completeError()), false, t2);
+      xhr.send();
+      return t1;
+    },
+    HttpRequest_request_closure: function HttpRequest_request_closure(t0, t1) {
+      this.xhr = t0;
+      this.completer = t1;
+    },
+    HtmlWebSocketChannel$connect(url, protocols) {
+      var t2, t3, localToForeignController, foreignToLocalController, t4, t5, _null = null,
+        t1 = A.WebSocket_WebSocket(url.toString$0(0), protocols);
+      B.WebSocket_methods.set$binaryType(t1, "arraybuffer");
+      t2 = new A.StreamChannelController(type$.StreamChannelController_dynamic);
+      t3 = type$.dynamic;
+      localToForeignController = A.StreamController_StreamController(_null, _null, true, t3);
+      foreignToLocalController = A.StreamController_StreamController(_null, _null, true, t3);
+      t4 = A._instanceType(foreignToLocalController);
+      t5 = A._instanceType(localToForeignController);
+      t2.set$__StreamChannelController__local_F(A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3));
+      t3 = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t5._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t4._eval$1("_StreamSinkWrapper<1>")), false, t3);
+      t2.__StreamChannelController__foreign_F !== $ && A.throwLateFieldAI("_foreign");
+      t2.set$__StreamChannelController__foreign_F(t3);
+      t2 = new A.HtmlWebSocketChannel(t1, t2);
+      t2.HtmlWebSocketChannel$1(t1);
+      return t2;
+    },
+    HtmlWebSocketChannel: function HtmlWebSocketChannel(t0, t1) {
       var _ = this;
       _.innerWebSocket = t0;
       _._localCloseReason = _._localCloseCode = null;
@@ -9584,21 +9277,34 @@
     },
     _launchCommunicationWithDebugExtension() {
       var t1, t2;
-      A._listenForDebugExtensionAuthRequest();
+      type$.JavaScriptObject._as(self.window).addEventListener("message", A.allowInterop(A.client___handleAuthRequest$closure(), type$.Function));
       t1 = $.$get$serializers();
       t2 = new A.DebugInfoBuilder();
       type$.nullable_void_Function_DebugInfoBuilder._as(new A._launchCommunicationWithDebugExtension_closure()).call$1(t2);
-      self.window.top.document.dispatchEvent(A.CustomEvent_CustomEvent("dart-app-ready", B.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(t2._debug_info$_build$0()), null)));
+      A._dispatchEvent("dart-app-ready", B.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(t2._debug_info$_build$0()), null));
     },
-    _listenForDebugExtensionAuthRequest() {
-      var t1 = window;
-      t1.toString;
-      B.Window_methods.addEventListener$2(t1, "message", A.allowInterop(new A._listenForDebugExtensionAuthRequest_closure(), type$.dynamic_Function_Event));
+    _dispatchEvent(message, detail) {
+      var t1 = self,
+        t2 = type$.JavaScriptObject;
+      A._asBool(t2._as(t1.window).dispatchEvent(t2._as(new t1.CustomEvent("dart-auth-response", t2._as({detail: detail})))));
+    },
+    _handleAuthRequest($event) {
+      var t1;
+      type$.JavaScriptObject._as($event);
+      if (typeof $event.data != "string")
+        return;
+      if (A._asString($event.data) !== "dart-auth-request")
+        return;
+      if (A._authUrl() != null) {
+        t1 = A._authUrl();
+        t1.toString;
+        A._authenticateUser(t1).then$1$1(0, new A._handleAuthRequest_closure(), type$.void);
+      }
     },
     _authenticateUser(authUrl) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
-        $async$returnValue, responseText;
+        $async$returnValue, $async$temp1, $async$temp2;
       var $async$_authenticateUser = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -9606,12 +9312,13 @@
           switch ($async$goto) {
             case 0:
               // Function start
+              $async$temp1 = B.JSString_methods;
+              $async$temp2 = A;
               $async$goto = 3;
               return A._asyncAwait(A.HttpRequest_request(authUrl, "GET", null, true), $async$_authenticateUser);
             case 3:
               // returning from await.
-              responseText = $async$result.responseText;
-              $async$returnValue = B.JSString_methods.contains$1(responseText == null ? "" : responseText, "Dart Debug Authentication Success!");
+              $async$returnValue = $async$temp1.contains$1($async$temp2._asString($async$result.responseText), "Dart Debug Authentication Success!");
               // goto return
               $async$goto = 1;
               break;
@@ -9622,11 +9329,13 @@
       });
       return A._asyncStartSync($async$_authenticateUser, $async$completer);
     },
+    _isChromium() {
+      var t1 = type$.JavaScriptObject;
+      return B.JSString_methods.contains$1(A._asString(t1._as(t1._as(self.window).navigator).vendor), "Google");
+    },
     _authUrl() {
-      var extensionUrl, authUrl,
-        t1 = window;
-      t1.toString;
-      extensionUrl = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartExtensionUri"));
+      var authUrl,
+        extensionUrl = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(type$.JavaScriptObject._as(self.window)).$index(0, "$dartExtensionUri"));
       if (extensionUrl == null)
         return null;
       authUrl = A.Uri_parse(extensionUrl).replace$1$path(0, "$dwdsExtensionAuthentication");
@@ -9681,7 +9390,7 @@
     },
     _launchCommunicationWithDebugExtension_closure: function _launchCommunicationWithDebugExtension_closure() {
     },
-    _listenForDebugExtensionAuthRequest_closure: function _listenForDebugExtensionAuthRequest_closure() {
+    _handleAuthRequest_closure: function _handleAuthRequest_closure() {
     },
     LegacyRestarter: function LegacyRestarter() {
     },
@@ -9732,7 +9441,7 @@
               t3 = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool);
               t3.complete$1(0, true);
               reloader = new A.RequireRestarter(t2, t3);
-              reloader.set$__RequireRestarter__dirtyModules_A(type$.SplayTreeSet_String._as(A.SplayTreeSet$(reloader.get$_moduleTopologicalCompare(), null, t1)));
+              reloader.set$__RequireRestarter__dirtyModules_A(type$.SplayTreeSet_String._as(A.SplayTreeSet$(reloader.get$_moduleTopologicalCompare(), t1)));
               $async$goto = 3;
               return A._asyncAwait(reloader._initialize$0(), $async$RequireRestarter_create);
             case 3:
@@ -9753,10 +9462,6 @@
     HotReloadFailedException: function HotReloadFailedException(t0) {
       this._s = t0;
     },
-    JsError: function JsError() {
-    },
-    JsMap: function JsMap() {
-    },
     RequireRestarter: function RequireRestarter(t0, t1) {
       this._moduleOrdering = t0;
       this.__RequireRestarter__dirtyModules_A = $;
@@ -9769,43 +9474,46 @@
       this.completer = t0;
       this.stackTrace = t1;
     },
-    _findNonce() {
-      var t2, elements, t3, t4, nonceValue,
-        t1 = window.document;
-      t1.toString;
-      t2 = type$.Element;
-      A.checkTypeBound(t2, t2, "T", "querySelectorAll");
-      t1 = t1.querySelectorAll("script");
+    _createScript() {
+      var t2, t3, t1 = {};
+      t1.nonce = null;
+      t2 = self;
+      t3 = type$.JavaScriptObject;
+      t3._as(t3._as(t3._as(t2.window).document).querySelectorAll("script")).forEach(A.allowInterop(new A._createScript_closure(t1), type$.Function));
+      t2 = t1.nonce == null ? t3._as(new t2.HTMLScriptElement()) : t3._as(new t2.HTMLScriptElement());
+      t1 = t1.nonce;
       t1.toString;
-      t2 = type$._FrozenElementList_Element;
-      elements = new A._FrozenElementList(t1, t2);
-      for (t1 = new A.ListIterator(elements, elements.get$length(elements), t2._eval$1("ListIterator<ListBase.E>")), t3 = type$.HtmlElement, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) {
-        t4 = t1.__internal$_current;
-        t4 = t3._as(t4 == null ? t2._as(t4) : t4);
-        nonceValue = t4.nonce;
-        if (nonceValue == null)
-          nonceValue = t4.getAttribute("nonce");
-        if (nonceValue != null) {
-          t4 = $.$get$_noncePattern();
-          t4 = t4._nativeRegExp.test(nonceValue);
-        } else
-          t4 = false;
-        if (t4)
-          return nonceValue;
-      }
-      return null;
+      t2.setAttribute("nonce", t1);
+      return t2;
     },
     runMain() {
-      var scriptElement = $.$get$_createScript().call$0(),
-        t1 = J.getInterceptor$x(scriptElement);
-      t1.setInnerHtml$1(scriptElement, "window.$dartRunMain();");
-      document.body.appendChild(scriptElement).toString;
-      A.Future_Future$microtask(t1.get$remove(scriptElement), type$.void);
+      var t1, t2, box,
+        scriptElement = A._createScript();
+      scriptElement.htmlFor = "window.$dartRunMain();";
+      t1 = type$.JavaScriptObject;
+      t2 = type$.nullable_JavaScriptObject._as(t1._as(self.document).body);
+      t1 = t2 == null ? t1._as(t2) : t2;
+      A.throwExpression("Attempting to box non-Dart object.");
+      box = {};
+      box[$.$get$_jsBoxedDartObjectProperty()] = scriptElement;
+      t1.append(box);
+      A.Future_Future$microtask(new A.runMain_closure(scriptElement), type$.void);
+    },
+    _createScript_closure: function _createScript_closure(t0) {
+      this._box_0 = t0;
+    },
+    runMain_closure: function runMain_closure(t0) {
+      this.scriptElement = t0;
     },
-    _createScript_closure: function _createScript_closure() {
+    JSArrayToIterable_toDartIterable(_this, $T) {
+      return J.map$1$1$ax(_this, new A.JSArrayToIterable_toDartIterable_closure($T), $T);
     },
-    _createScript__closure: function _createScript__closure(t0) {
-      this.nonce = t0;
+    JsError: function JsError() {
+    },
+    JsMap: function JsMap() {
+    },
+    JSArrayToIterable_toDartIterable_closure: function JSArrayToIterable_toDartIterable_closure(t0) {
+      this.T = t0;
     },
     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);
@@ -9968,9 +9676,6 @@
     }
   };
   J.JSArray.prototype = {
-    cast$1$0(receiver, $R) {
-      return new A.CastList(receiver, A._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>"));
-    },
     add$1(receiver, value) {
       A._arrayInstanceType(receiver)._precomputed1._as(value);
       if (!!receiver.fixed$length)
@@ -10005,16 +9710,6 @@
         A.throwExpression(A.UnsupportedError$("clear"));
       receiver.length = 0;
     },
-    forEach$1(receiver, f) {
-      var end, i;
-      A._arrayInstanceType(receiver)._eval$1("~(1)")._as(f);
-      end = receiver.length;
-      for (i = 0; i < end; ++i) {
-        f.call$1(receiver[i]);
-        if (receiver.length !== end)
-          throw A.wrapException(A.ConcurrentModificationError$(receiver));
-      }
-    },
     map$1$1(receiver, f, $T) {
       var t1 = A._arrayInstanceType(receiver);
       return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
@@ -10029,6 +9724,9 @@
         this.$indexSet(list, i, A.S(receiver[i]));
       return list.join(separator);
     },
+    take$1(receiver, n) {
+      return A.SubListIterable$(receiver, 0, A.checkNotNullable(n, "count", type$.int), A._arrayInstanceType(receiver)._precomputed1);
+    },
     skip$1(receiver, n) {
       return A.SubListIterable$(receiver, n, null, A._arrayInstanceType(receiver)._precomputed1);
     },
@@ -10060,10 +9758,6 @@
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    getRange$2(receiver, start, end) {
-      A.RangeError_checkValidRange(start, end, receiver.length);
-      return A.SubListIterable$(receiver, start, end, A._arrayInstanceType(receiver)._precomputed1);
-    },
     get$first(receiver) {
       if (receiver.length > 0)
         return receiver[0];
@@ -10076,7 +9770,7 @@
       throw A.wrapException(A.IterableElementError_noElement());
     },
     setRange$4(receiver, start, end, iterable, skipCount) {
-      var $length, otherList, otherStart, t1, i;
+      var $length, otherList, t1, i;
       A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable);
       if (!!receiver.immutable$list)
         A.throwExpression(A.UnsupportedError$("setRange"));
@@ -10085,34 +9779,16 @@
       if ($length === 0)
         return;
       A.RangeError_checkNotNegative(skipCount, "skipCount");
-      if (type$.List_dynamic._is(iterable)) {
-        otherList = iterable;
-        otherStart = skipCount;
-      } else {
-        otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false);
-        otherStart = 0;
-      }
+      otherList = iterable;
       t1 = J.getInterceptor$asx(otherList);
-      if (otherStart + $length > t1.get$length(otherList))
+      if (skipCount + $length > t1.get$length(otherList))
         throw A.wrapException(A.IterableElementError_tooFew());
-      if (otherStart < start)
+      if (skipCount < start)
         for (i = $length - 1; i >= 0; --i)
-          receiver[start + i] = t1.$index(otherList, otherStart + i);
+          receiver[start + i] = t1.$index(otherList, skipCount + i);
       else
         for (i = 0; i < $length; ++i)
-          receiver[start + i] = t1.$index(otherList, otherStart + i);
-    },
-    any$1(receiver, test) {
-      var end, i;
-      A._arrayInstanceType(receiver)._eval$1("bool(1)")._as(test);
-      end = receiver.length;
-      for (i = 0; i < end; ++i) {
-        if (A.boolConversionCheck(test.call$1(receiver[i])))
-          return true;
-        if (receiver.length !== end)
-          throw A.wrapException(A.ConcurrentModificationError$(receiver));
-      }
-      return false;
+          receiver[start + i] = t1.$index(otherList, skipCount + i);
     },
     sort$1(receiver, compare) {
       var len, a, b, undefineds, i,
@@ -10510,9 +10186,6 @@
     substring$1($receiver, start) {
       return this.substring$2($receiver, start, null);
     },
-    toLowerCase$0(receiver) {
-      return receiver.toLowerCase();
-    },
     $mul(receiver, times) {
       var s, result;
       if (0 >= times)
@@ -10602,32 +10275,22 @@
   A._CastIterableBase.prototype = {
     get$iterator(_) {
       var t1 = A._instanceType(this);
-      return new A.CastIterator(J.get$iterator$ax(this.get$__internal$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>"));
+      return new A.CastIterator(J.get$iterator$ax(this.__internal$_source), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>"));
     },
     get$length(_) {
-      return J.get$length$asx(this.get$__internal$_source());
+      return J.get$length$asx(this.__internal$_source);
     },
     get$isEmpty(_) {
-      return J.get$isEmpty$asx(this.get$__internal$_source());
-    },
-    get$isNotEmpty(_) {
-      return J.get$isNotEmpty$asx(this.get$__internal$_source());
-    },
-    skip$1(_, count) {
-      var t1 = A._instanceType(this);
-      return A.CastIterable_CastIterable(J.skip$1$ax(this.get$__internal$_source(), count), t1._precomputed1, t1._rest[1]);
+      return J.get$isEmpty$asx(this.__internal$_source);
     },
     elementAt$1(_, index) {
-      return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$__internal$_source(), index));
-    },
-    get$first(_) {
-      return A._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$__internal$_source()));
+      return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.__internal$_source, index));
     },
     contains$1(_, other) {
-      return J.contains$1$asx(this.get$__internal$_source(), other);
+      return J.contains$1$asx(this.__internal$_source, other);
     },
     toString$0(_) {
-      return J.toString$0$(this.get$__internal$_source());
+      return J.toString$0$(this.__internal$_source);
     }
   };
   A.CastIterator.prototype = {
@@ -10640,54 +10303,8 @@
     },
     $isIterator: 1
   };
-  A.CastIterable.prototype = {
-    get$__internal$_source() {
-      return this.__internal$_source;
-    }
-  };
+  A.CastIterable.prototype = {};
   A._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1};
-  A._CastListBase.prototype = {
-    $index(_, index) {
-      return this.$ti._rest[1]._as(J.$index$asx(this.__internal$_source, index));
-    },
-    $indexSet(_, index, value) {
-      var t1 = this.$ti;
-      J.$indexSet$ax(this.__internal$_source, index, t1._precomputed1._as(t1._rest[1]._as(value)));
-    },
-    sort$1(_, compare) {
-      var t1;
-      this.$ti._eval$1("int(2,2)?")._as(compare);
-      t1 = compare == null ? null : new A._CastListBase_sort_closure(this, compare);
-      J.sort$1$ax(this.__internal$_source, t1);
-    },
-    getRange$2(_, start, end) {
-      var t1 = this.$ti;
-      return A.CastIterable_CastIterable(J.getRange$2$ax(this.__internal$_source, start, end), t1._precomputed1, t1._rest[1]);
-    },
-    $isEfficientLengthIterable: 1,
-    $isList: 1
-  };
-  A._CastListBase_sort_closure.prototype = {
-    call$2(v1, v2) {
-      var t1 = this.$this.$ti,
-        t2 = t1._precomputed1;
-      t2._as(v1);
-      t2._as(v2);
-      t1 = t1._rest[1];
-      return this.compare.call$2(t1._as(v1), t1._as(v2));
-    },
-    $signature() {
-      return this.$this.$ti._eval$1("int(1,1)");
-    }
-  };
-  A.CastList.prototype = {
-    cast$1$0(_, $R) {
-      return new A.CastList(this.__internal$_source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>"));
-    },
-    get$__internal$_source() {
-      return this.__internal$_source;
-    }
-  };
   A.CastMap.prototype = {
     cast$2$0(_, RK, RV) {
       var t1 = this.$ti;
@@ -10706,7 +10323,7 @@
       J.$indexSet$ax(this.__internal$_source, t1._precomputed1._as(key), t1._rest[1]._as(value));
     },
     forEach$1(_, f) {
-      J.forEach$1$ax(this.__internal$_source, new A.CastMap_forEach_closure(this, this.$ti._eval$1("~(3,4)")._as(f)));
+      J.forEach$1$x(this.__internal$_source, new A.CastMap_forEach_closure(this, this.$ti._eval$1("~(3,4)")._as(f)));
     },
     get$keys(_) {
       var t1 = this.$ti;
@@ -10739,7 +10356,7 @@
     call$0() {
       return A.Future_Future$value(null, type$.Null);
     },
-    $signature: 25
+    $signature: 29
   };
   A.SentinelValue.prototype = {};
   A.EfficientLengthIterable.prototype = {};
@@ -10794,9 +10411,6 @@
     join$0($receiver) {
       return this.join$1($receiver, "");
     },
-    where$1(_, test) {
-      return this.super$Iterable$where(0, A._instanceType(this)._eval$1("bool(ListIterable.E)")._as(test));
-    },
     map$1$1(_, toElement, $T) {
       var t1 = A._instanceType(this);
       return new A.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>"));
@@ -10804,9 +10418,6 @@
     map$1($receiver, toElement) {
       return this.map$1$1($receiver, toElement, type$.dynamic);
     },
-    skip$1(_, count) {
-      return A.SubListIterable$(this, count, null, A._instanceType(this)._eval$1("ListIterable.E"));
-    },
     toList$1$growable(_, growable) {
       return A.List_List$of(this, true, A._instanceType(this)._eval$1("ListIterable.E"));
     },
@@ -10846,7 +10457,7 @@
       var _this = this,
         realIndex = _this.get$_startIndex() + index;
       if (index < 0 || realIndex >= _this.get$_endIndex())
-        throw A.wrapException(A.IndexError$withLength(index, _this.get$length(_this), _this, null, "index"));
+        throw A.wrapException(A.IndexError$withLength(index, _this.get$length(0), _this, null, "index"));
       return J.elementAt$1$ax(_this.__internal$_iterable, realIndex);
     },
     skip$1(_, count) {
@@ -10857,28 +10468,6 @@
       if (endOrLength != null && newStart >= endOrLength)
         return new A.EmptyIterable(_this.$ti._eval$1("EmptyIterable<1>"));
       return A.SubListIterable$(_this.__internal$_iterable, newStart, endOrLength, _this.$ti._precomputed1);
-    },
-    toList$1$growable(_, growable) {
-      var $length, result, i, _this = this,
-        start = _this.__internal$_start,
-        t1 = _this.__internal$_iterable,
-        t2 = J.getInterceptor$asx(t1),
-        end = t2.get$length(t1),
-        endOrLength = _this._endOrLength;
-      if (endOrLength != null && endOrLength < end)
-        end = endOrLength;
-      $length = end - start;
-      if ($length <= 0) {
-        t1 = J.JSArray_JSArray$fixed(0, _this.$ti._precomputed1);
-        return t1;
-      }
-      result = A.List_List$filled($length, t2.elementAt$1(t1, start), false, _this.$ti._precomputed1);
-      for (i = 1; i < $length; ++i) {
-        B.JSArray_methods.$indexSet(result, i, t2.elementAt$1(t1, start + i));
-        if (t2.get$length(t1) < end)
-          throw A.wrapException(A.ConcurrentModificationError$(_this));
-      }
-      return result;
     }
   };
   A.ListIterator.prototype = {
@@ -10918,9 +10507,6 @@
     get$isEmpty(_) {
       return J.get$isEmpty$asx(this.__internal$_iterable);
     },
-    get$first(_) {
-      return this._f.call$1(J.get$first$ax(this.__internal$_iterable));
-    },
     elementAt$1(_, index) {
       return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index));
     }
@@ -10954,70 +10540,6 @@
       return this._f.call$1(J.elementAt$1$ax(this.__internal$_source, index));
     }
   };
-  A.WhereIterable.prototype = {
-    get$iterator(_) {
-      return new A.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("WhereIterator<1>"));
-    },
-    map$1$1(_, toElement, $T) {
-      var t1 = this.$ti;
-      return new A.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($receiver, toElement) {
-      return this.map$1$1($receiver, toElement, type$.dynamic);
-    }
-  };
-  A.WhereIterator.prototype = {
-    moveNext$0() {
-      var t1, t2;
-      for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();)
-        if (A.boolConversionCheck(t2.call$1(t1.get$current(t1))))
-          return true;
-      return false;
-    },
-    get$current(_) {
-      var t1 = this._iterator;
-      return t1.get$current(t1);
-    },
-    $isIterator: 1
-  };
-  A.SkipIterable.prototype = {
-    skip$1(_, count) {
-      A.ArgumentError_checkNotNull(count, "count", type$.int);
-      A.RangeError_checkNotNegative(count, "count");
-      return new A.SkipIterable(this.__internal$_iterable, this._skipCount + count, A._instanceType(this)._eval$1("SkipIterable<1>"));
-    },
-    get$iterator(_) {
-      return new A.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount, A._instanceType(this)._eval$1("SkipIterator<1>"));
-    }
-  };
-  A.EfficientLengthSkipIterable.prototype = {
-    get$length(_) {
-      var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount;
-      if ($length >= 0)
-        return $length;
-      return 0;
-    },
-    skip$1(_, count) {
-      A.ArgumentError_checkNotNull(count, "count", type$.int);
-      A.RangeError_checkNotNegative(count, "count");
-      return new A.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti);
-    },
-    $isEfficientLengthIterable: 1
-  };
-  A.SkipIterator.prototype = {
-    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(_) {
-      var t1 = this._iterator;
-      return t1.get$current(t1);
-    },
-    $isIterator: 1
-  };
   A.EmptyIterable.prototype = {
     get$iterator(_) {
       return B.C_EmptyIterator;
@@ -11028,9 +10550,6 @@
     get$length(_) {
       return 0;
     },
-    get$first(_) {
-      throw A.wrapException(A.IterableElementError_noElement());
-    },
     elementAt$1(_, index) {
       throw A.wrapException(A.RangeError$range(index, 0, 0, "index", null));
     },
@@ -11043,10 +10562,6 @@
     },
     map$1($receiver, toElement) {
       return this.map$1$1($receiver, toElement, type$.dynamic);
-    },
-    skip$1(_, count) {
-      A.RangeError_checkNotNegative(count, "count");
-      return this;
     }
   };
   A.EmptyIterator.prototype = {
@@ -11099,7 +10614,6 @@
     },
     $isSymbol0: 1
   };
-  A.__CastListBase__CastIterableBase_ListMixin.prototype = {};
   A.ConstantMapView.prototype = {};
   A.ConstantMap.prototype = {
     cast$2$0(_, RK, RV) {
@@ -11181,9 +10695,6 @@
     get$isEmpty(_) {
       return 0 === this._elements.length;
     },
-    get$isNotEmpty(_) {
-      return 0 !== this._elements.length;
-    },
     get$iterator(_) {
       var t1 = this._elements;
       return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>"));
@@ -11265,7 +10776,7 @@
       B.JSArray_methods.add$1(this.$arguments, argument);
       ++t1.argumentCount;
     },
-    $signature: 6
+    $signature: 7
   };
   A.TypeErrorDecoder.prototype = {
     matchTypeError$1(message) {
@@ -11680,19 +11191,19 @@
     call$1(o) {
       return this.getTag(o);
     },
-    $signature: 1
+    $signature: 2
   };
   A.initHooks_closure0.prototype = {
     call$2(o, tag) {
       return this.getUnknownTag(o, tag);
     },
-    $signature: 84
+    $signature: 79
   };
   A.initHooks_closure1.prototype = {
     call$1(tag) {
       return this.prototypeForTag(A._asString(tag));
     },
-    $signature: 85
+    $signature: 66
   };
   A.JSSyntaxRegExp.prototype = {
     toString$0(_) {
@@ -11793,7 +11304,7 @@
         match = t3._execGlobal$2(string, t1);
         if (match != null) {
           _this.__js_helper$_current = match;
-          nextIndex = match.get$end(match);
+          nextIndex = match.get$end(0);
           if (match._match.index === nextIndex) {
             if (t3._nativeRegExp.unicode) {
               t1 = _this._nextIndex;
@@ -11828,13 +11339,6 @@
   A._StringAllMatchesIterable.prototype = {
     get$iterator(_) {
       return new A._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index);
-    },
-    get$first(_) {
-      var t1 = this._pattern,
-        index = this._input.indexOf(t1, this.__js_helper$_index);
-      if (index >= 0)
-        return new A.StringMatch(index, t1);
-      throw A.wrapException(A.IterableElementError_noElement());
     }
   };
   A._StringAllMatchesIterator.prototype = {
@@ -11889,10 +11393,9 @@
       return B.Type_ByteBuffer_RkP;
     },
     $isTrustedGetRuntimeType: 1,
-    $isNativeByteBuffer: 1,
     $isByteBuffer: 1
   };
-  A.NativeTypedData.prototype = {$isNativeTypedData: 1, $isTypedData: 1};
+  A.NativeTypedData.prototype = {$isTypedData: 1};
   A.NativeByteData.prototype = {
     get$runtimeType(receiver) {
       return B.Type_ByteData_zNC;
@@ -12099,7 +11602,6 @@
     }
   };
   A._TypeError.prototype = {$isTypeError: 1};
-  A._InconsistentSubtypingError.prototype = {$isTypeError: 1};
   A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
     call$1(_) {
       var t1 = this._box_0,
@@ -12107,7 +11609,7 @@
       t1.storedCallback = null;
       f.call$0();
     },
-    $signature: 7
+    $signature: 8
   };
   A._AsyncRun__initializeScheduleImmediate_closure.prototype = {
     call$1(callback) {
@@ -12117,19 +11619,19 @@
       t2 = this.span;
       t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
     },
-    $signature: 65
+    $signature: 55
   };
   A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
     call$0() {
       this.callback.call$0();
     },
-    $signature: 5
+    $signature: 4
   };
   A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
     call$0() {
       this.callback.call$0();
     },
-    $signature: 5
+    $signature: 4
   };
   A._TimerImpl.prototype = {
     _TimerImpl$2(milliseconds, callback) {
@@ -12186,7 +11688,7 @@
       t1._tick = tick;
       _this.callback.call$1(t1);
     },
-    $signature: 5
+    $signature: 4
   };
   A._AsyncAwaitCompleter.prototype = {
     complete$1(_, value) {
@@ -12218,19 +11720,19 @@
     call$1(result) {
       return this.bodyFunction.call$2(0, result);
     },
-    $signature: 3
+    $signature: 5
   };
   A._awaitOnObject_closure0.prototype = {
     call$2(error, stackTrace) {
       this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
     },
-    $signature: 52
+    $signature: 58
   };
   A._wrapJsFunctionForAsync_closure.prototype = {
     call$2(errorCode, result) {
       this.$protected(A._asInt(errorCode), result);
     },
-    $signature: 51
+    $signature: 57
   };
   A.AsyncError.prototype = {
     toString$0(_) {
@@ -12572,13 +12074,13 @@
         t1._completeError$2(error, stackTrace);
       }
     },
-    $signature: 7
+    $signature: 8
   };
   A._Future__chainForeignFuture_closure0.prototype = {
     call$2(error, stackTrace) {
       this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace));
     },
-    $signature: 8
+    $signature: 6
   };
   A._Future__chainForeignFuture_closure1.prototype = {
     call$0() {
@@ -12643,7 +12145,7 @@
     call$1(_) {
       return this.originalSource;
     },
-    $signature: 49
+    $signature: 48
   };
   A._Future__propagateToListeners_handleValueCallback.prototype = {
     call$0() {
@@ -12727,7 +12229,7 @@
         this._future._completeError$2(e, s);
       }
     },
-    $signature: 8
+    $signature: 6
   };
   A._AsyncCallbackEntry.prototype = {};
   A.Stream.prototype = {
@@ -13273,13 +12775,13 @@
       else
         t1._completeError$2(error, stackTrace);
     },
-    $signature: 8
+    $signature: 6
   };
   A._BufferingStreamSubscription_asFuture__closure.prototype = {
     call$0() {
       this.result._completeError$2(this.error, this.stackTrace);
     },
-    $signature: 5
+    $signature: 4
   };
   A._BufferingStreamSubscription__sendError_sendError.prototype = {
     call$0() {
@@ -13989,7 +13491,7 @@
           t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s));
       }
     },
-    $signature: 71
+    $signature: 47
   };
   A._HashMap.prototype = {
     get$length(_) {
@@ -14052,9 +13554,9 @@
         nums = _this._collection$_nums;
         _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value);
       } else
-        _this._set$2(key, value);
+        _this._collection$_set$2(key, value);
     },
-    _set$2(key, value) {
+    _collection$_set$2(key, value) {
       var rest, hash, bucket, index, _this = this,
         t1 = A._instanceType(_this);
       t1._precomputed1._as(key);
@@ -14211,7 +13713,7 @@
     call$1(v) {
       return this.K._is(v);
     },
-    $signature: 18
+    $signature: 21
   };
   A._HashMapKeyIterable.prototype = {
     get$length(_) {
@@ -14220,9 +13722,6 @@
     get$isEmpty(_) {
       return this._collection$_map._collection$_length === 0;
     },
-    get$isNotEmpty(_) {
-      return this._collection$_map._collection$_length !== 0;
-    },
     get$iterator(_) {
       var t1 = this._collection$_map;
       return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>"));
@@ -14267,9 +13766,6 @@
     get$isEmpty(_) {
       return this._collection$_length === 0;
     },
-    get$isNotEmpty(_) {
-      return this._collection$_length !== 0;
-    },
     contains$1(_, object) {
       var strings, nums;
       if (typeof object == "string" && object !== "__proto__") {
@@ -14425,7 +13921,7 @@
       var _this = this,
         elements = _this._collection$_elements,
         offset = _this._offset,
-        t1 = _this._set;
+        t1 = _this._collection$_set;
       if (elements !== t1._collection$_elements)
         throw A.wrapException(A.ConcurrentModificationError$(t1));
       else if (offset >= elements.length) {
@@ -14455,9 +13951,6 @@
     get$isEmpty(_) {
       return this._collection$_length === 0;
     },
-    get$isNotEmpty(_) {
-      return this._collection$_length !== 0;
-    },
     contains$1(_, object) {
       var strings, nums;
       if (typeof object == "string" && object !== "__proto__") {
@@ -14479,12 +13972,6 @@
         return false;
       return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
     },
-    get$first(_) {
-      var first = this._collection$_first;
-      if (first == null)
-        throw A.wrapException(A.StateError$("No elements"));
-      return A._instanceType(this)._precomputed1._as(first._collection$_element);
-    },
     add$1(_, element) {
       var strings, nums, _this = this;
       A._instanceType(_this)._precomputed1._as(element);
@@ -14541,7 +14028,7 @@
         return -1;
       $length = bucket.length;
       for (i = 0; i < $length; ++i)
-        if (J.$eq$(bucket[i]._collection$_element, element))
+        if (J.$eq$(bucket[i]._element, element))
           return i;
       return -1;
     }
@@ -14555,14 +14042,14 @@
     moveNext$0() {
       var _this = this,
         cell = _this._collection$_cell,
-        t1 = _this._set;
+        t1 = _this._collection$_set;
       if (_this._collection$_modifications !== t1._collection$_modifications)
         throw A.wrapException(A.ConcurrentModificationError$(t1));
       else if (cell == null) {
         _this.set$_collection$_current(null);
         return false;
       } else {
-        _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._collection$_element));
+        _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._element));
         _this._collection$_cell = cell._collection$_next;
         return true;
       }
@@ -14573,9 +14060,6 @@
     $isIterator: 1
   };
   A.UnmodifiableListView.prototype = {
-    cast$1$0(_, $R) {
-      return new A.UnmodifiableListView(J.cast$1$0$ax(this._collection$_source, $R), $R._eval$1("UnmodifiableListView<0>"));
-    },
     get$length(_) {
       return J.get$length$asx(this._collection$_source);
     },
@@ -14587,7 +14071,7 @@
     call$2(k, v) {
       this.result.$indexSet(0, this.K._as(k), this.V._as(v));
     },
-    $signature: 9
+    $signature: 22
   };
   A.ListBase.prototype = {
     get$iterator(receiver) {
@@ -14596,21 +14080,11 @@
     elementAt$1(receiver, index) {
       return this.$index(receiver, index);
     },
-    forEach$1(receiver, action) {
-      var $length, i;
-      A.instanceType(receiver)._eval$1("~(ListBase.E)")._as(action);
-      $length = this.get$length(receiver);
-      for (i = 0; i < $length; ++i) {
-        action.call$1(this.$index(receiver, i));
-        if ($length !== this.get$length(receiver))
-          throw A.wrapException(A.ConcurrentModificationError$(receiver));
-      }
-    },
     get$isEmpty(receiver) {
       return this.get$length(receiver) === 0;
     },
     get$isNotEmpty(receiver) {
-      return !this.get$isEmpty(receiver);
+      return this.get$length(receiver) !== 0;
     },
     get$first(receiver) {
       if (this.get$length(receiver) === 0)
@@ -14638,38 +14112,33 @@
     skip$1(receiver, count) {
       return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListBase.E"));
     },
-    cast$1$0(receiver, $R) {
-      return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@<ListBase.E>")._bind$1($R)._eval$1("CastList<1,2>"));
+    take$1(receiver, count) {
+      return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListBase.E"));
     },
     sort$1(receiver, compare) {
-      var t2,
-        t1 = A.instanceType(receiver);
+      var t1 = A.instanceType(receiver);
       t1._eval$1("int(ListBase.E,ListBase.E)?")._as(compare);
-      t2 = compare == null ? A.collection_ListBase__compareAny$closure() : compare;
-      A.Sort__doSort(receiver, 0, this.get$length(receiver) - 1, t2, t1._eval$1("ListBase.E"));
+      A.Sort__doSort(receiver, 0, this.get$length(receiver) - 1, compare, t1._eval$1("ListBase.E"));
     },
     sublist$2(receiver, start, end) {
-      var listLength = this.get$length(receiver);
+      var t1,
+        listLength = this.get$length(receiver);
       if (end == null)
         end = listLength;
       A.RangeError_checkValidRange(start, end, listLength);
-      return A.List_List$from(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListBase.E"));
+      A.RangeError_checkValidRange(start, end, this.get$length(receiver));
+      t1 = A.instanceType(receiver)._eval$1("ListBase.E");
+      return A.List_List$from(A.SubListIterable$(receiver, start, end, t1), true, t1);
     },
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    getRange$2(receiver, start, end) {
-      A.RangeError_checkValidRange(start, end, this.get$length(receiver));
-      return A.SubListIterable$(receiver, start, end, A.instanceType(receiver)._eval$1("ListBase.E"));
-    },
     fillRange$3(receiver, start, end, fill) {
-      var value, i,
-        t1 = A.instanceType(receiver);
-      t1._eval$1("ListBase.E?")._as(fill);
-      value = fill == null ? t1._eval$1("ListBase.E")._as(fill) : fill;
+      var i;
+      A.instanceType(receiver)._eval$1("ListBase.E?")._as(fill);
       A.RangeError_checkValidRange(start, end, this.get$length(receiver));
       for (i = start; i < end; ++i)
-        this.$indexSet(receiver, i, value);
+        this.$indexSet(receiver, i, fill);
     },
     toString$0(receiver) {
       return A.Iterable_iterableToFullString(receiver, "[", "]");
@@ -14735,7 +14204,7 @@
       t1._contents = t2 + ": ";
       t1._contents += A.S(v);
     },
-    $signature: 19
+    $signature: 23
   };
   A._UnmodifiableMapMixin.prototype = {
     $indexSet(_, key, value) {
@@ -14747,7 +14216,7 @@
   };
   A.MapView.prototype = {
     cast$2$0(_, RK, RV) {
-      return J.cast$2$0$ax(this._collection$_map, RK, RV);
+      return J.cast$2$0$x(this._collection$_map, RK, RV);
     },
     $index(_, key) {
       return J.$index$asx(this._collection$_map, key);
@@ -14760,7 +14229,7 @@
       return J.containsKey$1$x(this._collection$_map, key);
     },
     forEach$1(_, action) {
-      J.forEach$1$ax(this._collection$_map, A._instanceType(this)._eval$1("~(1,2)")._as(action));
+      J.forEach$1$x(this._collection$_map, A._instanceType(this)._eval$1("~(1,2)")._as(action));
     },
     get$isEmpty(_) {
       return J.get$isEmpty$asx(this._collection$_map);
@@ -14784,7 +14253,7 @@
   };
   A.UnmodifiableMapView.prototype = {
     cast$2$0(_, RK, RV) {
-      return new A.UnmodifiableMapView(J.cast$2$0$ax(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>"));
+      return new A.UnmodifiableMapView(J.cast$2$0$x(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>"));
     }
   };
   A.ListQueue.prototype = {
@@ -14798,20 +14267,9 @@
     get$length(_) {
       return (this._tail - this._head & this._table.length - 1) >>> 0;
     },
-    get$first(_) {
-      var t2, _this = this,
-        t1 = _this._head;
-      if (t1 === _this._tail)
-        throw A.wrapException(A.IterableElementError_noElement());
-      t2 = _this._table;
-      if (!(t1 < t2.length))
-        return A.ioore(t2, t1);
-      t1 = t2[t1];
-      return t1 == null ? _this.$ti._precomputed1._as(t1) : t1;
-    },
     elementAt$1(_, index) {
       var t2, t3, _this = this,
-        t1 = _this.get$length(_this);
+        t1 = _this.get$length(0);
       if (0 > index || index >= t1)
         A.throwExpression(A.IndexError$withLength(index, t1, _this, null, "index"));
       t1 = _this._table;
@@ -14899,17 +14357,15 @@
     get$isEmpty(_) {
       return this.get$length(this) === 0;
     },
-    get$isNotEmpty(_) {
-      return this.get$length(this) !== 0;
-    },
     addAll$1(_, elements) {
       var t1;
-      for (t1 = J.get$iterator$ax(A._instanceType(this)._eval$1("Iterable<1>")._as(elements)); t1.moveNext$0();)
+      A._instanceType(this)._eval$1("Iterable<1>")._as(elements);
+      for (t1 = elements.get$iterator(elements); t1.moveNext$0();)
         this.add$1(0, t1.get$current(t1));
     },
     containsAll$1(other) {
       var t1, t2, o;
-      for (t1 = other._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
+      for (t1 = other._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
         o = t1._collection$_current;
         if (!this.contains$1(0, o == null ? t2._as(o) : o))
           return false;
@@ -14926,15 +14382,6 @@
     toString$0(_) {
       return A.Iterable_iterableToFullString(this, "{", "}");
     },
-    skip$1(_, n) {
-      return A.SkipIterable_SkipIterable(this, n, A._instanceType(this)._precomputed1);
-    },
-    get$first(_) {
-      var it = this.get$iterator(this);
-      if (!it.moveNext$0())
-        throw A.wrapException(A.IterableElementError_noElement());
-      return it.get$current(it);
-    },
     elementAt$1(_, index) {
       var iterator, skipCount;
       A.RangeError_checkNotNegative(index, "index");
@@ -15181,14 +14628,6 @@
     get$isEmpty(_) {
       return this._root == null;
     },
-    get$isNotEmpty(_) {
-      return this._root != null;
-    },
-    get$first(_) {
-      if (this._count === 0)
-        throw A.wrapException(A.IterableElementError_noElement());
-      return this.get$_collection$_first().key;
-    },
     contains$1(_, element) {
       return A.boolConversionCheck(this._validKey.call$1(element)) && this._splay$1(this.$ti._precomputed1._as(element)) === 0;
     },
@@ -15228,7 +14667,7 @@
     call$1(v) {
       return this.E._is(v);
     },
-    $signature: 18
+    $signature: 21
   };
   A._SplayTreeSet__SplayTree_Iterable.prototype = {};
   A._SplayTreeSet__SplayTree_Iterable_SetMixin.prototype = {};
@@ -15250,7 +14689,7 @@
       return this._processed == null ? this._data._length : this._convert$_computeKeys$0().length;
     },
     get$isEmpty(_) {
-      return this.get$length(this) === 0;
+      return this.get$length(0) === 0;
     },
     get$keys(_) {
       var t1;
@@ -15332,13 +14771,12 @@
   };
   A._JsonMapKeyIterable.prototype = {
     get$length(_) {
-      var t1 = this._parent;
-      return t1.get$length(t1);
+      return this._parent.get$length(0);
     },
     elementAt$1(_, index) {
       var t1 = this._parent;
       if (t1._processed == null)
-        t1 = t1.get$keys(t1).elementAt$1(0, index);
+        t1 = t1.get$keys(0).elementAt$1(0, index);
       else {
         t1 = t1._convert$_computeKeys$0();
         if (!(index >= 0 && index < t1.length))
@@ -15350,7 +14788,7 @@
     get$iterator(_) {
       var t1 = this._parent;
       if (t1._processed == null) {
-        t1 = t1.get$keys(t1);
+        t1 = t1.get$keys(0);
         t1 = t1.get$iterator(t1);
       } else {
         t1 = t1._convert$_computeKeys$0();
@@ -15771,7 +15209,7 @@
       B.JSArray_methods.$indexSet(t1, t2.i++, key);
       B.JSArray_methods.$indexSet(t1, t2.i++, value);
     },
-    $signature: 19
+    $signature: 23
   };
   A._JsonStringStringifier.prototype = {
     get$_partialResult() {
@@ -16259,7 +15697,7 @@
       hash = hash + ((hash & 524287) << 10) & 536870911;
       return hash ^ hash >>> 6;
     },
-    $signature: 20
+    $signature: 24
   };
   A._BigIntImpl_hashCode_finish.prototype = {
     call$1(hash) {
@@ -16267,13 +15705,13 @@
       hash ^= hash >>> 11;
       return hash + ((hash & 16383) << 15) & 536870911;
     },
-    $signature: 21
+    $signature: 25
   };
   A._symbolMapToStringMap_closure.prototype = {
     call$2(key, value) {
       this.result.$indexSet(0, type$.Symbol._as(key)._name, value);
     },
-    $signature: 22
+    $signature: 26
   };
   A.NoSuchMethodError_toString_closure.prototype = {
     call$2(key, value) {
@@ -16288,7 +15726,7 @@
       t1._contents += A.Error_safeToString(value);
       t2.comma = ", ";
     },
-    $signature: 22
+    $signature: 26
   };
   A.DateTime.prototype = {
     $eq(_, other) {
@@ -16579,9 +16017,6 @@
     $isError: 1
   };
   A.Iterable.prototype = {
-    cast$1$0(_, $R) {
-      return A.CastIterable_CastIterable(this, A.instanceType(this)._eval$1("Iterable.E"), $R);
-    },
     map$1$1(_, toElement, $T) {
       var t1 = A.instanceType(this);
       return A.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(toElement), t1._eval$1("Iterable.E"), $T);
@@ -16589,10 +16024,6 @@
     map$1($receiver, toElement) {
       return this.map$1$1($receiver, toElement, type$.dynamic);
     },
-    where$1(_, test) {
-      var t1 = A.instanceType(this);
-      return new A.WhereIterable(this, t1._eval$1("bool(Iterable.E)")._as(test), t1._eval$1("WhereIterable<Iterable.E>"));
-    },
     contains$1(_, element) {
       var t1;
       for (t1 = this.get$iterator(this); t1.moveNext$0();)
@@ -16600,12 +16031,6 @@
           return true;
       return false;
     },
-    forEach$1(_, action) {
-      var t1;
-      A.instanceType(this)._eval$1("~(Iterable.E)")._as(action);
-      for (t1 = this.get$iterator(this); t1.moveNext$0();)
-        action.call$1(t1.get$current(t1));
-    },
     toList$1$growable(_, growable) {
       return A.List_List$of(this, growable, A.instanceType(this)._eval$1("Iterable.E"));
     },
@@ -16622,28 +16047,6 @@
     get$isEmpty(_) {
       return !this.get$iterator(this).moveNext$0();
     },
-    get$isNotEmpty(_) {
-      return !this.get$isEmpty(this);
-    },
-    skip$1(_, count) {
-      return A.SkipIterable_SkipIterable(this, count, A.instanceType(this)._eval$1("Iterable.E"));
-    },
-    get$first(_) {
-      var it = this.get$iterator(this);
-      if (!it.moveNext$0())
-        throw A.wrapException(A.IterableElementError_noElement());
-      return it.get$current(it);
-    },
-    get$single(_) {
-      var result,
-        it = this.get$iterator(this);
-      if (!it.moveNext$0())
-        throw A.wrapException(A.IterableElementError_noElement());
-      result = it.get$current(it);
-      if (it.moveNext$0())
-        throw A.wrapException(A.IterableElementError_tooMany());
-      return result;
-    },
     elementAt$1(_, index) {
       var iterator, skipCount;
       A.RangeError_checkNotNegative(index, "index");
@@ -16661,7 +16064,7 @@
   };
   A.Null.prototype = {
     get$hashCode(_) {
-      return A.Object.prototype.get$hashCode.call(this, this);
+      return A.Object.prototype.get$hashCode.call(this, 0);
     },
     toString$0(_) {
       return "null";
@@ -16713,13 +16116,13 @@
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
     },
-    $signature: 64
+    $signature: 46
   };
   A.Uri_parseIPv6Address_error.prototype = {
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
     },
-    $signature: 63
+    $signature: 38
   };
   A.Uri_parseIPv6Address_parseHex.prototype = {
     call$2(start, end) {
@@ -16731,7 +16134,7 @@
         this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start);
       return value;
     },
-    $signature: 20
+    $signature: 24
   };
   A._Uri.prototype = {
     get$_text() {
@@ -16868,8 +16271,8 @@
         if (_this.scheme === other.get$scheme())
           if (_this._host != null === other.get$hasAuthority())
             if (_this._userInfo === other.get$userInfo())
-              if (_this.get$host(_this) === other.get$host(other))
-                if (_this.get$port(_this) === other.get$port(other))
+              if (_this.get$host(0) === other.get$host(other))
+                if (_this.get$port(0) === other.get$port(other))
                   if (_this.path === other.get$path(other)) {
                     t1 = _this._query;
                     t2 = t1 == null;
@@ -16917,7 +16320,7 @@
     call$1(s) {
       return A._Uri__uriEncode(B.List_XRg0, A._asString(s), B.C_Utf8Codec, false);
     },
-    $signature: 23
+    $signature: 32
   };
   A.UriData.prototype = {
     get$uri() {
@@ -16958,7 +16361,7 @@
       B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition);
       return t1;
     },
-    $signature: 62
+    $signature: 31
   };
   A._createTables_setChars.prototype = {
     call$3(target, chars, transition) {
@@ -16970,7 +16373,7 @@
         target[t2] = transition;
       }
     },
-    $signature: 24
+    $signature: 30
   };
   A._createTables_setRange.prototype = {
     call$3(target, range, transition) {
@@ -16989,7 +16392,7 @@
         target[t1] = transition;
       }
     },
-    $signature: 24
+    $signature: 30
   };
   A._SimpleUri.prototype = {
     get$hasAuthority() {
@@ -17077,7 +16480,7 @@
       isFile = scheme === "file";
       t1 = _this._hostStart;
       userInfo = t1 > 0 ? B.JSString_methods.substring$2(_this._uri, _this._schemeEnd + 3, t1) : "";
-      port = _this.get$hasPort() ? _this.get$port(_this) : _null;
+      port = _this.get$hasPort() ? _this.get$port(0) : _null;
       if (schemeChanged)
         port = A._Uri__makePort(port, scheme);
       t1 = _this._hostStart;
@@ -17134,22 +16537,18 @@
       return "Expando:null";
     }
   };
-  A.HtmlElement.prototype = {$isHtmlElement: 1};
+  A.HtmlElement.prototype = {};
   A.AccessibleNodeList.prototype = {
     get$length(receiver) {
       return receiver.length;
     }
   };
   A.AnchorElement.prototype = {
-    set$href(receiver, value) {
-      receiver.href = value;
-    },
     toString$0(receiver) {
       var t1 = String(receiver);
       t1.toString;
       return t1;
-    },
-    $isAnchorElement: 1
+    }
   };
   A.AreaElement.prototype = {
     toString$0(receiver) {
@@ -17158,9 +16557,7 @@
       return t1;
     }
   };
-  A.BaseElement.prototype = {$isBaseElement: 1};
   A.Blob.prototype = {$isBlob: 1};
-  A.BodyElement.prototype = {$isBodyElement: 1};
   A.CharacterData.prototype = {
     get$length(receiver) {
       return receiver.length;
@@ -17193,18 +16590,11 @@
       return receiver.length;
     }
   };
-  A.CustomEvent.prototype = {
-    _initCustomEvent$4(receiver, type, bubbles, cancelable, detail) {
-      return receiver.initCustomEvent(type, true, true, detail);
-    },
-    $isCustomEvent: 1
-  };
   A.DataTransferItemList.prototype = {
     get$length(receiver) {
       return receiver.length;
     }
   };
-  A.Document.prototype = {$isDocument: 1};
   A.DomException.prototype = {
     toString$0(receiver) {
       var t1 = String(receiver);
@@ -17212,13 +16602,6 @@
       return t1;
     }
   };
-  A.DomImplementation.prototype = {
-    createHtmlDocument$1(receiver, title) {
-      var t1 = receiver.createHTMLDocument(title);
-      t1.toString;
-      return t1;
-    }
-  };
   A.DomRectList.prototype = {
     get$length(receiver) {
       var t1 = receiver.length;
@@ -17364,154 +16747,22 @@
       return t1;
     }
   };
-  A._FrozenElementList.prototype = {
-    get$length(_) {
-      return this._nodeList.length;
-    },
-    $index(_, index) {
-      var t1 = this._nodeList;
-      if (!(index >= 0 && index < t1.length))
-        return A.ioore(t1, index);
-      return this.$ti._precomputed1._as(t1[index]);
-    },
-    $indexSet(_, index, value) {
-      this.$ti._precomputed1._as(value);
-      throw A.wrapException(A.UnsupportedError$("Cannot modify list"));
-    },
-    sort$1(_, compare) {
-      this.$ti._eval$1("int(1,1)?")._as(compare);
-      throw A.wrapException(A.UnsupportedError$("Cannot sort list"));
-    },
-    get$first(_) {
-      return this.$ti._precomputed1._as(B.NodeList_methods.get$first(this._nodeList));
-    }
-  };
   A.Element.prototype = {
-    get$attributes(receiver) {
-      return new A._ElementAttributeMap(receiver);
-    },
     toString$0(receiver) {
       var t1 = receiver.localName;
       t1.toString;
       return t1;
-    },
-    createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) {
-      var t1, t2, contextElement, fragment;
-      if (treeSanitizer == null) {
-        t1 = $.Element__defaultValidator;
-        if (t1 == null) {
-          t1 = A._setArrayType([], type$.JSArray_NodeValidator);
-          t2 = new A.NodeValidatorBuilder(t1);
-          B.JSArray_methods.add$1(t1, A._Html5NodeValidator$(null));
-          B.JSArray_methods.add$1(t1, A._TemplatingNodeValidator$());
-          $.Element__defaultValidator = t2;
-          validator = t2;
-        } else
-          validator = t1;
-        t1 = $.Element__defaultSanitizer;
-        if (t1 == null) {
-          validator.toString;
-          t1 = new A._ValidatingTreeSanitizer(validator);
-          $.Element__defaultSanitizer = t1;
-          treeSanitizer = t1;
-        } else {
-          validator.toString;
-          t1.validator = validator;
-          treeSanitizer = t1;
-        }
-      }
-      if ($.Element__parseDocument == null) {
-        t1 = document;
-        t2 = t1.implementation;
-        t2.toString;
-        t2 = B.DomImplementation_methods.createHtmlDocument$1(t2, "");
-        $.Element__parseDocument = t2;
-        t2 = t2.createRange();
-        t2.toString;
-        $.Element__parseRange = t2;
-        t2 = $.Element__parseDocument.createElement("base");
-        type$.BaseElement._as(t2);
-        t1 = t1.baseURI;
-        t1.toString;
-        t2.href = t1;
-        $.Element__parseDocument.head.appendChild(t2).toString;
-      }
-      t1 = $.Element__parseDocument;
-      if (t1.body == null) {
-        t2 = t1.createElement("body");
-        B.HtmlDocument_methods.set$body(t1, type$.BodyElement._as(t2));
-      }
-      t1 = $.Element__parseDocument;
-      if (type$.BodyElement._is(receiver)) {
-        t1 = t1.body;
-        t1.toString;
-        contextElement = t1;
-      } else {
-        t1.toString;
-        t2 = receiver.tagName;
-        t2.toString;
-        contextElement = t1.createElement(t2);
-        $.Element__parseDocument.body.appendChild(contextElement).toString;
-      }
-      t1 = "createContextualFragment" in window.Range.prototype;
-      t1.toString;
-      if (t1) {
-        t1 = receiver.tagName;
-        t1.toString;
-        t1 = !B.JSArray_methods.contains$1(B.List_ME0, t1);
-      } else
-        t1 = false;
-      if (t1) {
-        $.Element__parseRange.selectNodeContents(contextElement);
-        t1 = $.Element__parseRange;
-        t1 = t1.createContextualFragment(html);
-        t1.toString;
-        fragment = t1;
-      } else {
-        J.set$_innerHtml$x(contextElement, html);
-        t1 = $.Element__parseDocument.createDocumentFragment();
-        t1.toString;
-        for (; t2 = contextElement.firstChild, t2 != null;)
-          t1.appendChild(t2).toString;
-        fragment = t1;
-      }
-      if (contextElement !== $.Element__parseDocument.body)
-        J.remove$0$x(contextElement);
-      treeSanitizer.sanitizeTree$1(fragment);
-      document.adoptNode(fragment).toString;
-      return fragment;
-    },
-    createFragment$2$treeSanitizer($receiver, html, treeSanitizer) {
-      return this.createFragment$3$treeSanitizer$validator($receiver, html, treeSanitizer, null);
-    },
-    setInnerHtml$1(receiver, html) {
-      this.set$text(receiver, null);
-      receiver.appendChild(this.createFragment$3$treeSanitizer$validator(receiver, html, null, null)).toString;
-    },
-    set$_innerHtml(receiver, value) {
-      receiver.innerHTML = value;
-    },
-    $isElement: 1
-  };
-  A.Element_Element$html_closure.prototype = {
-    call$1(e) {
-      return type$.Element._is(type$.Node._as(e));
-    },
-    $signature: 58
+    }
   };
   A.Event.prototype = {$isEvent: 1};
-  A.EventSource.prototype = {$isEventSource: 1};
   A.EventTarget.prototype = {
     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($receiver, type, listener) {
-      return this.addEventListener$3($receiver, type, listener, null);
+        this._addEventListener$3(receiver, type, listener, false);
     },
     _addEventListener$3(receiver, type, listener, options) {
-      return receiver.addEventListener(type, A.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), options);
+      return receiver.addEventListener(type, A.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false);
     },
     _removeEventListener$3(receiver, type, listener, options) {
       return receiver.removeEventListener(type, A.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false);
@@ -17556,8 +16807,7 @@
     $isEfficientLengthIterable: 1,
     $isJavaScriptIndexingBehavior: 1,
     $isIterable: 1,
-    $isList: 1,
-    $isFileList: 1
+    $isList: 1
   };
   A.FileWriter.prototype = {
     get$length(receiver) {
@@ -17616,63 +16866,13 @@
     $isIterable: 1,
     $isList: 1
   };
-  A.HtmlDocument.prototype = {
-    set$body(receiver, value) {
-      receiver.body = value;
-    }
-  };
-  A.HttpRequest.prototype = {
-    open$3$async(receiver, method, url, async) {
-      return receiver.open(method, url, true);
-    },
-    set$withCredentials(receiver, value) {
-      receiver.withCredentials = true;
-    },
-    $isHttpRequest: 1
-  };
-  A.HttpRequest_request_closure.prototype = {
-    call$1(e) {
-      var t1, t2, accepted, unknownRedirect, t3;
-      type$.ProgressEvent._as(e);
-      t1 = this.xhr;
-      t2 = t1.status;
-      t2.toString;
-      accepted = t2 >= 200 && t2 < 300;
-      unknownRedirect = t2 > 307 && t2 < 400;
-      t2 = accepted || t2 === 0 || t2 === 304 || unknownRedirect;
-      t3 = this.completer;
-      if (t2)
-        t3.complete$1(0, t1);
-      else
-        t3.completeError$1(e);
-    },
-    $signature: 53
-  };
-  A.HttpRequestEventTarget.prototype = {};
   A.ImageData.prototype = {$isImageData: 1};
-  A.KeyboardEvent.prototype = {$isKeyboardEvent: 1};
   A.Location.prototype = {
-    get$origin(receiver) {
-      var t2,
-        t1 = "origin" in receiver;
-      t1.toString;
-      if (t1) {
-        t1 = receiver.origin;
-        t1.toString;
-        return t1;
-      }
-      t1 = receiver.protocol;
-      t1.toString;
-      t2 = receiver.host;
-      t2.toString;
-      return t1 + "//" + t2;
-    },
     toString$0(receiver) {
       var t1 = String(receiver);
       t1.toString;
       return t1;
-    },
-    $isLocation: 1
+    }
   };
   A.MediaList.prototype = {
     get$length(receiver) {
@@ -17680,7 +16880,6 @@
     }
   };
   A.MessageEvent.prototype = {$isMessageEvent: 1};
-  A.MessagePort.prototype = {$isMessagePort: 1};
   A.MidiInputMap.prototype = {
     containsKey$1(receiver, key) {
       return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
@@ -17728,7 +16927,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 6
+    $signature: 7
   };
   A.MidiOutputMap.prototype = {
     containsKey$1(receiver, key) {
@@ -17777,7 +16976,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 6
+    $signature: 7
   };
   A.MimeType.prototype = {$isMimeType: 1};
   A.MimeTypeArray.prototype = {
@@ -17819,86 +17018,11 @@
     $isIterable: 1,
     $isList: 1
   };
-  A._ChildNodeListLazy.prototype = {
-    get$first(_) {
-      var result = this._this.firstChild;
-      if (result == null)
-        throw A.wrapException(A.StateError$("No elements"));
-      return result;
-    },
-    get$single(_) {
-      var t1 = this._this,
-        l = t1.childNodes.length;
-      if (l === 0)
-        throw A.wrapException(A.StateError$("No elements"));
-      if (l > 1)
-        throw A.wrapException(A.StateError$("More than one element"));
-      t1 = t1.firstChild;
-      t1.toString;
-      return t1;
-    },
-    addAll$1(_, iterable) {
-      var t1, t2, len, i, t3;
-      type$.Iterable_Node._as(iterable);
-      if (iterable instanceof A._ChildNodeListLazy) {
-        t1 = iterable._this;
-        t2 = this._this;
-        if (t1 !== t2)
-          for (len = t1.childNodes.length, i = 0; i < len; ++i) {
-            t3 = t1.firstChild;
-            t3.toString;
-            t2.appendChild(t3).toString;
-          }
-        return;
-      }
-      for (t1 = iterable.get$iterator(iterable), t2 = this._this; t1.moveNext$0();)
-        t2.appendChild(t1.get$current(t1)).toString;
-    },
-    $indexSet(_, index, value) {
-      var t1, t2;
-      type$.Node._as(value);
-      t1 = this._this;
-      t2 = t1.childNodes;
-      if (!(index >= 0 && index < t2.length))
-        return A.ioore(t2, index);
-      t1.replaceChild(value, t2[index]).toString;
-    },
-    get$iterator(_) {
-      var t1 = this._this.childNodes;
-      return new A.FixedSizeListIterator(t1, t1.length, A.instanceType(t1)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
-    },
-    sort$1(_, compare) {
-      type$.nullable_int_Function_Node_Node._as(compare);
-      throw A.wrapException(A.UnsupportedError$("Cannot sort Node list"));
-    },
-    get$length(_) {
-      return this._this.childNodes.length;
-    },
-    $index(_, index) {
-      var t1 = this._this.childNodes;
-      if (!(index >= 0 && index < t1.length))
-        return A.ioore(t1, index);
-      return t1[index];
-    }
-  };
   A.Node.prototype = {
-    remove$0(receiver) {
-      var t1 = receiver.parentNode;
-      if (t1 != null)
-        t1.removeChild(receiver).toString;
-    },
-    _clearChildren$0(receiver) {
-      var t1;
-      for (; t1 = receiver.firstChild, t1 != null;)
-        receiver.removeChild(t1).toString;
-    },
     toString$0(receiver) {
       var value = receiver.nodeValue;
       return value == null ? this.super$Interceptor$toString(receiver) : value;
     },
-    set$text(receiver, value) {
-      receiver.textContent = value;
-    },
     $isNode: 1
   };
   A.NodeList.prototype = {
@@ -17985,7 +17109,6 @@
     $isIterable: 1,
     $isList: 1
   };
-  A.ProgressEvent.prototype = {$isProgressEvent: 1};
   A.RtcStatsReport.prototype = {
     containsKey$1(receiver, key) {
       return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
@@ -18033,15 +17156,13 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 6
+    $signature: 7
   };
-  A.ScriptElement.prototype = {$isScriptElement: 1};
   A.SelectElement.prototype = {
     get$length(receiver) {
       return receiver.length;
     }
   };
-  A.SharedArrayBuffer.prototype = {$isSharedArrayBuffer: 1};
   A.SourceBuffer.prototype = {$isSourceBuffer: 1};
   A.SourceBufferList.prototype = {
     get$length(receiver) {
@@ -18169,70 +17290,9 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 15
+    $signature: 27
   };
   A.StyleSheet.prototype = {$isStyleSheet: 1};
-  A.TableElement.prototype = {
-    createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) {
-      var table,
-        t1 = "createContextualFragment" in window.Range.prototype;
-      t1.toString;
-      if (t1)
-        return this.super$Element$createFragment(receiver, html, treeSanitizer, validator);
-      table = A.Element_Element$html("<table>" + html + "</table>", treeSanitizer, validator);
-      t1 = document.createDocumentFragment();
-      t1.toString;
-      new A._ChildNodeListLazy(t1).addAll$1(0, new A._ChildNodeListLazy(table));
-      return t1;
-    }
-  };
-  A.TableRowElement.prototype = {
-    createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) {
-      var t2,
-        t1 = "createContextualFragment" in window.Range.prototype;
-      t1.toString;
-      if (t1)
-        return this.super$Element$createFragment(receiver, html, treeSanitizer, validator);
-      t1 = document;
-      t2 = t1.createDocumentFragment();
-      t2.toString;
-      t1 = t1.createElement("table");
-      t1.toString;
-      t1 = new A._ChildNodeListLazy(B.TableElement_methods.createFragment$3$treeSanitizer$validator(t1, html, treeSanitizer, validator));
-      t1 = new A._ChildNodeListLazy(t1.get$single(t1));
-      new A._ChildNodeListLazy(t2).addAll$1(0, new A._ChildNodeListLazy(t1.get$single(t1)));
-      return t2;
-    }
-  };
-  A.TableSectionElement.prototype = {
-    createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) {
-      var t2,
-        t1 = "createContextualFragment" in window.Range.prototype;
-      t1.toString;
-      if (t1)
-        return this.super$Element$createFragment(receiver, html, treeSanitizer, validator);
-      t1 = document;
-      t2 = t1.createDocumentFragment();
-      t2.toString;
-      t1 = t1.createElement("table");
-      t1.toString;
-      t1 = new A._ChildNodeListLazy(B.TableElement_methods.createFragment$3$treeSanitizer$validator(t1, html, treeSanitizer, validator));
-      new A._ChildNodeListLazy(t2).addAll$1(0, new A._ChildNodeListLazy(t1.get$single(t1)));
-      return t2;
-    }
-  };
-  A.TemplateElement.prototype = {
-    setInnerHtml$1(receiver, html) {
-      var t1, fragment;
-      this.set$text(receiver, null);
-      t1 = receiver.content;
-      t1.toString;
-      J._clearChildren$0$x(t1);
-      fragment = this.createFragment$3$treeSanitizer$validator(receiver, html, null, null);
-      receiver.content.appendChild(fragment).toString;
-    },
-    $isTemplateElement: 1
-  };
   A.TextTrack.prototype = {$isTextTrack: 1};
   A.TextTrackCue.prototype = {$isTextTrackCue: 1};
   A.TextTrackCueList.prototype = {
@@ -18365,7 +17425,6 @@
       return receiver.length;
     }
   };
-  A.UIEvent.prototype = {};
   A.Url.prototype = {
     toString$0(receiver) {
       var t1 = String(receiver);
@@ -18387,20 +17446,8 @@
     },
     $isWebSocket: 1
   };
-  A.Window.prototype = {
-    alert$1(receiver, message) {
-      return receiver.alert(message);
-    },
-    confirm$1(receiver, message) {
-      var t1 = receiver.confirm(message);
-      t1.toString;
-      return t1;
-    },
-    $isWindow: 1,
-    $isWindowBase: 1
-  };
+  A.Window.prototype = {$isWindow: 1};
   A.WorkerGlobalScope.prototype = {$isWorkerGlobalScope: 1};
-  A._Attr.prototype = {$is_Attr: 1};
   A._CssRuleList.prototype = {
     get$length(receiver) {
       var t1 = receiver.length;
@@ -18665,159 +17712,85 @@
     $isIterable: 1,
     $isList: 1
   };
-  A._AttributeMap.prototype = {
-    cast$2$0(_, $K, $V) {
-      var t1 = type$.String;
-      return A.Map_castFrom(this, t1, t1, $K, $V);
-    },
-    forEach$1(_, f) {
-      var t1, t2, t3, _i, t4, value;
-      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, A.throwConcurrentModificationError)(t1), ++_i) {
-        t4 = A._asString(t1[_i]);
-        value = t3.getAttribute(t4);
-        f.call$2(t4, value == null ? A._asString(value) : value);
-      }
-    },
-    get$keys(_) {
-      var keys, len, t2, i, attr, t3,
-        t1 = this._element.attributes;
-      t1.toString;
-      keys = A._setArrayType([], type$.JSArray_String);
-      for (len = t1.length, t2 = type$._Attr, i = 0; i < len; ++i) {
-        if (!(i < t1.length))
-          return A.ioore(t1, i);
-        attr = t2._as(t1[i]);
-        if (attr.namespaceURI == null) {
-          t3 = attr.name;
-          t3.toString;
-          B.JSArray_methods.add$1(keys, t3);
-        }
-      }
-      return keys;
-    },
-    get$isEmpty(_) {
-      return this.get$keys(this).length === 0;
-    }
-  };
-  A._ElementAttributeMap.prototype = {
-    containsKey$1(_, key) {
-      var t1 = this._element.hasAttribute(key);
-      t1.toString;
-      return t1;
-    },
-    $index(_, key) {
-      return this._element.getAttribute(A._asString(key));
-    },
-    $indexSet(_, key, value) {
-      this._element.setAttribute(A._asString(key), A._asString(value));
-    },
-    get$length(_) {
-      return this.get$keys(this).length;
-    }
-  };
   A.EventStreamProvider.prototype = {};
-  A._EventStream.prototype = {
+  A._EventStream0.prototype = {
     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 A._EventStreamSubscription$(this._target, this._eventType, onData, false, t1._precomputed1);
+      return A._EventStreamSubscription$0(this._html$_target, this._html$_eventType, onData, false, t1._precomputed1);
     },
     listen$3$onDone$onError(onData, onDone, onError) {
       return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
     }
   };
-  A._EventStreamSubscription.prototype = {
+  A._EventStreamSubscription0.prototype = {
     cancel$0(_) {
       var _this = this;
-      if (_this._target == null)
+      if (_this._html$_target == null)
         return $.$get$nullFuture();
-      _this._unlisten$0();
-      _this._target = null;
-      _this.set$_onData(null);
+      _this._html$_unlisten$0();
+      _this._html$_target = null;
+      _this.set$_html$_onData(null);
       return $.$get$nullFuture();
     },
     onData$1(handleData) {
       var t1, _this = this;
       _this.$ti._eval$1("~(1)?")._as(handleData);
-      if (_this._target == null)
+      if (_this._html$_target == null)
         throw A.wrapException(A.StateError$("Subscription has been canceled."));
-      _this._unlisten$0();
-      t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.Event);
-      _this.set$_onData(t1);
-      _this._tryResume$0();
+      _this._html$_unlisten$0();
+      t1 = A._wrapZone0(new A._EventStreamSubscription_onData_closure0(handleData), type$.Event);
+      _this.set$_html$_onData(t1);
+      _this._html$_tryResume$0();
     },
     pause$0(_) {
-      if (this._target == null)
+      if (this._html$_target == null)
         return;
-      ++this._pauseCount;
-      this._unlisten$0();
+      ++this._html$_pauseCount;
+      this._html$_unlisten$0();
     },
     resume$0(_) {
       var _this = this;
-      if (_this._target == null || _this._pauseCount <= 0)
+      if (_this._html$_target == null || _this._html$_pauseCount <= 0)
         return;
-      --_this._pauseCount;
-      _this._tryResume$0();
+      --_this._html$_pauseCount;
+      _this._html$_tryResume$0();
     },
-    _tryResume$0() {
+    _html$_tryResume$0() {
       var t2, _this = this,
-        t1 = _this._onData;
-      if (t1 != null && _this._pauseCount <= 0) {
-        t2 = _this._target;
+        t1 = _this._html$_onData;
+      if (t1 != null && _this._html$_pauseCount <= 0) {
+        t2 = _this._html$_target;
         t2.toString;
-        J.addEventListener$3$x(t2, _this._eventType, t1, false);
+        B.WebSocket_methods.addEventListener$3(t2, _this._html$_eventType, t1, false);
       }
     },
-    _unlisten$0() {
+    _html$_unlisten$0() {
       var t2,
-        t1 = this._onData;
+        t1 = this._html$_onData;
       if (t1 != null) {
-        t2 = this._target;
+        t2 = this._html$_target;
         t2.toString;
-        J._removeEventListener$3$x(t2, this._eventType, type$.nullable_dynamic_Function_Event._as(t1), false);
+        B.WebSocket_methods._removeEventListener$3(t2, this._html$_eventType, type$.nullable_dynamic_Function_Event._as(t1), false);
       }
     },
-    set$_onData(_onData) {
-      this._onData = type$.nullable_dynamic_Function_Event._as(_onData);
+    set$_html$_onData(_onData) {
+      this._html$_onData = type$.nullable_dynamic_Function_Event._as(_onData);
     },
     $isStreamSubscription: 1
   };
-  A._EventStreamSubscription_closure.prototype = {
+  A._EventStreamSubscription_closure0.prototype = {
     call$1(e) {
       return this.onData.call$1(type$.Event._as(e));
     },
-    $signature: 4
+    $signature: 28
   };
-  A._EventStreamSubscription_onData_closure.prototype = {
+  A._EventStreamSubscription_onData_closure0.prototype = {
     call$1(e) {
       return this.handleData.call$1(type$.Event._as(e));
     },
-    $signature: 4
-  };
-  A._Html5NodeValidator.prototype = {
-    _Html5NodeValidator$1$uriPolicy(uriPolicy) {
-      var _i;
-      if ($._Html5NodeValidator__attributeValidators._length === 0) {
-        for (_i = 0; _i < 262; ++_i)
-          $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_uzK[_i], A.html__Html5NodeValidator__standardAttributeValidator$closure());
-        for (_i = 0; _i < 12; ++_i)
-          $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_Jwp[_i], A.html__Html5NodeValidator__uriAttributeValidator$closure());
-      }
-    },
-    allowsElement$1(element) {
-      return $.$get$_Html5NodeValidator__allowedElements().contains$1(0, A.Element__safeTagName(element));
-    },
-    allowsAttribute$3(element, attributeName, value) {
-      var validator = $._Html5NodeValidator__attributeValidators.$index(0, A.Element__safeTagName(element) + "::" + attributeName);
-      if (validator == null)
-        validator = $._Html5NodeValidator__attributeValidators.$index(0, "*::" + attributeName);
-      if (validator == null)
-        return false;
-      return A._asBool(validator.call$4(element, attributeName, value, this));
-    },
-    $isNodeValidator: 1
+    $signature: 28
   };
   A.ImmutableListMixin.prototype = {
     get$iterator(receiver) {
@@ -18828,116 +17801,6 @@
       throw A.wrapException(A.UnsupportedError$("Cannot sort immutable List."));
     }
   };
-  A.NodeValidatorBuilder.prototype = {
-    allowsElement$1(element) {
-      return B.JSArray_methods.any$1(this._validators, new A.NodeValidatorBuilder_allowsElement_closure(element));
-    },
-    allowsAttribute$3(element, attributeName, value) {
-      return B.JSArray_methods.any$1(this._validators, new A.NodeValidatorBuilder_allowsAttribute_closure(element, attributeName, value));
-    },
-    $isNodeValidator: 1
-  };
-  A.NodeValidatorBuilder_allowsElement_closure.prototype = {
-    call$1(v) {
-      return type$.NodeValidator._as(v).allowsElement$1(this.element);
-    },
-    $signature: 26
-  };
-  A.NodeValidatorBuilder_allowsAttribute_closure.prototype = {
-    call$1(v) {
-      return type$.NodeValidator._as(v).allowsAttribute$3(this.element, this.attributeName, this.value);
-    },
-    $signature: 26
-  };
-  A._SimpleNodeValidator.prototype = {
-    _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 A._SimpleNodeValidator_closure());
-      extraUriAttributes = allowedAttributes.where$1(0, new A._SimpleNodeValidator_closure0());
-      this.allowedAttributes.addAll$1(0, legalAttributes);
-      t1 = this.allowedUriAttributes;
-      t1.addAll$1(0, B.List_empty0);
-      t1.addAll$1(0, extraUriAttributes);
-    },
-    allowsElement$1(element) {
-      return this.allowedElements.contains$1(0, A.Element__safeTagName(element));
-    },
-    allowsAttribute$3(element, attributeName, value) {
-      var t3, _this = this,
-        tagName = A.Element__safeTagName(element),
-        t1 = _this.allowedUriAttributes,
-        t2 = tagName + "::" + attributeName;
-      if (t1.contains$1(0, t2))
-        return _this.uriPolicy.allowsUri$1(value);
-      else {
-        t3 = "*::" + attributeName;
-        if (t1.contains$1(0, t3))
-          return _this.uriPolicy.allowsUri$1(value);
-        else {
-          t1 = _this.allowedAttributes;
-          if (t1.contains$1(0, t2))
-            return true;
-          else if (t1.contains$1(0, t3))
-            return true;
-          else if (t1.contains$1(0, tagName + "::*"))
-            return true;
-          else if (t1.contains$1(0, "*::*"))
-            return true;
-        }
-      }
-      return false;
-    },
-    $isNodeValidator: 1
-  };
-  A._SimpleNodeValidator_closure.prototype = {
-    call$1(x) {
-      return !B.JSArray_methods.contains$1(B.List_Jwp, A._asString(x));
-    },
-    $signature: 27
-  };
-  A._SimpleNodeValidator_closure0.prototype = {
-    call$1(x) {
-      return B.JSArray_methods.contains$1(B.List_Jwp, A._asString(x));
-    },
-    $signature: 27
-  };
-  A._TemplatingNodeValidator.prototype = {
-    allowsAttribute$3(element, attributeName, value) {
-      if (this.super$_SimpleNodeValidator$allowsAttribute(element, attributeName, value))
-        return true;
-      if (attributeName === "template" && value === "")
-        return true;
-      if (element.getAttribute("template") === "")
-        return this._templateAttrs.contains$1(0, attributeName);
-      return false;
-    }
-  };
-  A._TemplatingNodeValidator_closure.prototype = {
-    call$1(attr) {
-      return "TEMPLATE::" + A._asString(attr);
-    },
-    $signature: 23
-  };
-  A._SvgNodeValidator.prototype = {
-    allowsElement$1(element) {
-      var t1;
-      if (type$.ScriptElement._is(element))
-        return false;
-      t1 = type$.SvgElement._is(element);
-      if (t1 && A.Element__safeTagName(element) === "foreignObject")
-        return false;
-      if (t1)
-        return true;
-      return false;
-    },
-    allowsAttribute$3(element, attributeName, value) {
-      if (attributeName === "is" || B.JSString_methods.startsWith$1(attributeName, "on"))
-        return false;
-      return this.allowsElement$1(element);
-    },
-    $isNodeValidator: 1
-  };
   A.FixedSizeListIterator.prototype = {
     moveNext$0() {
       var _this = this,
@@ -18961,202 +17824,6 @@
     },
     $isIterator: 1
   };
-  A._DOMWindowCrossFrame.prototype = {$isJSObject: 1, $isEventTarget: 1, $isWindowBase: 1};
-  A._SameOriginUriPolicy.prototype = {$isUriPolicy: 1};
-  A._ValidatingTreeSanitizer.prototype = {
-    sanitizeTree$1(node) {
-      var previousTreeModifications,
-        walk = new A._ValidatingTreeSanitizer_sanitizeTree_walk(this);
-      do {
-        previousTreeModifications = this.numTreeModifications;
-        walk.call$2(node, null);
-      } while (previousTreeModifications !== this.numTreeModifications);
-    },
-    _removeNode$2(node, $parent) {
-      ++this.numTreeModifications;
-      if ($parent == null || $parent !== node.parentNode)
-        J.remove$0$x(node);
-      else
-        $parent.removeChild(node).toString;
-    },
-    _sanitizeUntrustedElement$2(element, $parent) {
-      var corruptedTest1, elementText, elementTagName, t1, corrupted0, exception, t2,
-        corrupted = true,
-        attrs = null, isAttr = null;
-      try {
-        attrs = J.get$attributes$x(element);
-        isAttr = attrs._element.getAttribute("is");
-        type$.Element._as(element);
-        t1 = 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")
-            return true;
-          var childNodes = element.childNodes;
-          if (element.lastChild && element.lastChild !== childNodes[childNodes.length - 1])
-            return true;
-          if (element.children)
-            if (!(element.children instanceof HTMLCollection || element.children instanceof NodeList))
-              return true;
-          var length = 0;
-          if (element.children)
-            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")
-              return true;
-          }
-          return false;
-        }(element);
-        t1.toString;
-        corruptedTest1 = t1;
-        if (A.boolConversionCheck(corruptedTest1))
-          corrupted0 = true;
-        else {
-          t1 = !(element.attributes instanceof NamedNodeMap);
-          t1.toString;
-          corrupted0 = t1;
-        }
-        corrupted = corrupted0;
-      } catch (exception) {
-      }
-      elementText = "element unprintable";
-      try {
-        elementText = J.toString$0$(element);
-      } catch (exception) {
-      }
-      try {
-        type$.Element._as(element);
-        elementTagName = A.Element__safeTagName(element);
-        this._sanitizeElement$7(element, $parent, corrupted, elementText, elementTagName, type$.Map_dynamic_dynamic._as(attrs), A._asStringQ(isAttr));
-      } catch (exception) {
-        if (A.unwrapException(exception) instanceof A.ArgumentError)
-          throw exception;
-        else {
-          this._removeNode$2(element, $parent);
-          window.toString;
-          t1 = A.S(elementText);
-          t2 = typeof console != "undefined";
-          t2.toString;
-          if (t2)
-            window.console.warn("Removing corrupted element " + t1);
-        }
-      }
-    },
-    _sanitizeElement$7(element, $parent, corrupted, text, tag, attrs, isAttr) {
-      var t1, t2, keys, i, $name, t3, t4, _this = this;
-      if (corrupted) {
-        _this._removeNode$2(element, $parent);
-        window.toString;
-        t1 = typeof console != "undefined";
-        t1.toString;
-        if (t1)
-          window.console.warn("Removing element due to corrupted attributes on <" + text + ">");
-        return;
-      }
-      if (!_this.validator.allowsElement$1(element)) {
-        _this._removeNode$2(element, $parent);
-        window.toString;
-        t1 = A.S($parent);
-        t2 = typeof console != "undefined";
-        t2.toString;
-        if (t2)
-          window.console.warn("Removing disallowed element <" + tag + "> from " + t1);
-        return;
-      }
-      if (isAttr != null)
-        if (!_this.validator.allowsAttribute$3(element, "is", isAttr)) {
-          _this._removeNode$2(element, $parent);
-          window.toString;
-          t1 = typeof console != "undefined";
-          t1.toString;
-          if (t1)
-            window.console.warn("Removing disallowed type extension <" + tag + ' is="' + isAttr + '">');
-          return;
-        }
-      t1 = attrs.get$keys(attrs);
-      keys = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
-      for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._element, t2 = "Removing disallowed attribute <" + tag + " "; i >= 0; --i) {
-        if (!(i < keys.length))
-          return A.ioore(keys, i);
-        $name = keys[i];
-        t3 = _this.validator;
-        t4 = J.toLowerCase$0$s($name);
-        A._asString($name);
-        if (!t3.allowsAttribute$3(element, t4, A._asString(t1.getAttribute($name)))) {
-          window.toString;
-          t3 = t1.getAttribute($name);
-          t4 = typeof console != "undefined";
-          t4.toString;
-          if (t4)
-            window.console.warn(t2 + $name + '="' + A.S(t3) + '">');
-          t1.removeAttribute($name);
-        }
-      }
-      if (type$.TemplateElement._is(element)) {
-        t1 = element.content;
-        t1.toString;
-        _this.sanitizeTree$1(t1);
-      }
-    },
-    sanitizeNode$2(node, $parent) {
-      var t1 = node.nodeType;
-      t1.toString;
-      switch (t1) {
-        case 1:
-          this._sanitizeUntrustedElement$2(node, $parent);
-          break;
-        case 8:
-        case 11:
-        case 3:
-        case 4:
-          break;
-        default:
-          this._removeNode$2(node, $parent);
-      }
-    },
-    $isNodeTreeSanitizer: 1
-  };
-  A._ValidatingTreeSanitizer_sanitizeTree_walk.prototype = {
-    call$2(node, $parent) {
-      var child, nextChild, t2, t3, t4, exception,
-        t1 = this.$this;
-      t1.sanitizeNode$2(node, $parent);
-      child = node.lastChild;
-      for (t2 = type$.Node; child != null;) {
-        nextChild = null;
-        try {
-          nextChild = child.previousSibling;
-          if (nextChild != null) {
-            t3 = nextChild.nextSibling;
-            t4 = child;
-            t4 = t3 == null ? t4 != null : t3 !== t4;
-            t3 = t4;
-          } else
-            t3 = false;
-          if (t3) {
-            t3 = A.StateError$("Corrupt HTML");
-            throw A.wrapException(t3);
-          }
-        } catch (exception) {
-          t3 = t2._as(child);
-          ++t1.numTreeModifications;
-          t4 = t3.parentNode;
-          if (node !== t4) {
-            if (t4 != null)
-              t4.removeChild(t3).toString;
-          } else
-            node.removeChild(t3).toString;
-          child = null;
-          nextChild = node.lastChild;
-        }
-        if (child != null)
-          this.call$2(child, node);
-        child = nextChild;
-      }
-    },
-    $signature: 37
-  };
   A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase.prototype = {};
   A._DomRectList_JavaScriptObject_ListMixin.prototype = {};
   A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
@@ -19196,107 +17863,6 @@
   A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
   A.__StyleSheetList_JavaScriptObject_ListMixin.prototype = {};
   A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
-  A._StructuredClone.prototype = {
-    findSlot$1(value) {
-      var i,
-        t1 = this.values,
-        $length = t1.length;
-      for (i = 0; i < $length; ++i)
-        if (t1[i] === value)
-          return i;
-      B.JSArray_methods.add$1(t1, value);
-      B.JSArray_methods.add$1(this.copies, null);
-      return $length;
-    },
-    walk$1(e) {
-      var slot, t2, copy, t3, _this = this, t1 = {};
-      if (e == null)
-        return e;
-      if (A._isBool(e))
-        return e;
-      if (typeof e == "number")
-        return e;
-      if (typeof e == "string")
-        return e;
-      if (e instanceof A.DateTime)
-        return new Date(e._value);
-      if (e instanceof A.JSSyntaxRegExp)
-        throw A.wrapException(A.UnimplementedError$("structured clone of RegExp"));
-      if (type$.File._is(e))
-        return e;
-      if (type$.Blob._is(e))
-        return e;
-      if (type$.FileList._is(e))
-        return e;
-      if (type$.ImageData._is(e))
-        return e;
-      if (type$.NativeByteBuffer._is(e) || type$.NativeTypedData._is(e) || type$.MessagePort._is(e) || type$.SharedArrayBuffer._is(e))
-        return e;
-      if (type$.Map_dynamic_dynamic._is(e)) {
-        slot = _this.findSlot$1(e);
-        t2 = _this.copies;
-        if (!(slot < t2.length))
-          return A.ioore(t2, slot);
-        copy = t1.copy = t2[slot];
-        if (copy != null)
-          return copy;
-        copy = {};
-        t1.copy = copy;
-        B.JSArray_methods.$indexSet(t2, slot, copy);
-        J.forEach$1$ax(e, new A._StructuredClone_walk_closure(t1, _this));
-        return t1.copy;
-      }
-      if (type$.List_dynamic._is(e)) {
-        slot = _this.findSlot$1(e);
-        t1 = _this.copies;
-        if (!(slot < t1.length))
-          return A.ioore(t1, slot);
-        copy = t1[slot];
-        if (copy != null)
-          return copy;
-        return _this.copyList$2(e, slot);
-      }
-      if (type$.JSObject._is(e)) {
-        slot = _this.findSlot$1(e);
-        t2 = _this.copies;
-        if (!(slot < t2.length))
-          return A.ioore(t2, slot);
-        copy = t1.copy = t2[slot];
-        if (copy != null)
-          return copy;
-        t3 = {};
-        t3.toString;
-        t1.copy = t3;
-        B.JSArray_methods.$indexSet(t2, slot, t3);
-        _this.forEachObjectKey$2(e, new A._StructuredClone_walk_closure0(t1, _this));
-        return t1.copy;
-      }
-      throw A.wrapException(A.UnimplementedError$("structured clone of other type"));
-    },
-    copyList$2(e, slot) {
-      var i,
-        t1 = J.getInterceptor$asx(e),
-        $length = t1.get$length(e),
-        t2 = new Array($length);
-      t2.toString;
-      B.JSArray_methods.$indexSet(this.copies, slot, t2);
-      for (i = 0; i < $length; ++i)
-        B.JSArray_methods.$indexSet(t2, i, this.walk$1(t1.$index(e, i)));
-      return t2;
-    }
-  };
-  A._StructuredClone_walk_closure.prototype = {
-    call$2(key, value) {
-      this._box_0.copy[key] = this.$this.walk$1(value);
-    },
-    $signature: 9
-  };
-  A._StructuredClone_walk_closure0.prototype = {
-    call$2(key, value) {
-      this._box_0.copy[key] = this.$this.walk$1(value);
-    },
-    $signature: 38
-  };
   A._AcceptStructuredClone.prototype = {
     findSlot$1(value) {
       var i,
@@ -19374,10 +17940,6 @@
         return copy;
       }
       return e;
-    },
-    convertNativeToDart_AcceptStructuredClone$2$mustCopy(object, mustCopy) {
-      this.mustCopy = true;
-      return this.walk$1(object);
     }
   };
   A._AcceptStructuredClone_walk_closure.prototype = {
@@ -19386,29 +17948,7 @@
       this.map.$indexSet(0, key, t1);
       return t1;
     },
-    $signature: 39
-  };
-  A._convertDartToNative_Value_closure.prototype = {
-    call$1(element) {
-      this.array.push(A._convertDartToNative_Value(element));
-    },
-    $signature: 3
-  };
-  A.convertDartToNative_Dictionary_closure.prototype = {
-    call$2(key, value) {
-      this.object[key] = A._convertDartToNative_Value(value);
-    },
-    $signature: 9
-  };
-  A._StructuredCloneDart2Js.prototype = {
-    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 < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
-        key = t1[_i];
-        action.call$2(key, object[key]);
-      }
-    }
+    $signature: 33
   };
   A._AcceptStructuredCloneDart2Js.prototype = {
     forEachJsField$2(object, action) {
@@ -19443,7 +17983,7 @@
       } else
         return A._convertToJS(o);
     },
-    $signature: 40
+    $signature: 34
   };
   A._convertToJS_closure.prototype = {
     call$1(o) {
@@ -19457,32 +17997,32 @@
       A._defineProperty(jsFunction, $.$get$DART_CLOSURE_PROPERTY_NAME(), o);
       return jsFunction;
     },
-    $signature: 1
+    $signature: 2
   };
   A._convertToJS_closure0.prototype = {
     call$1(o) {
       return new this.ctor(o);
     },
-    $signature: 1
+    $signature: 2
   };
   A._wrapToDart_closure.prototype = {
     call$1(o) {
       return new A.JsFunction(o == null ? type$.Object._as(o) : o);
     },
-    $signature: 41
+    $signature: 35
   };
   A._wrapToDart_closure0.prototype = {
     call$1(o) {
       var t1 = o == null ? type$.Object._as(o) : o;
       return new A.JsArray(t1, type$.JsArray_dynamic);
     },
-    $signature: 42
+    $signature: 36
   };
   A._wrapToDart_closure1.prototype = {
     call$1(o) {
       return new A.JsObject(o == null ? type$.Object._as(o) : o);
     },
-    $signature: 43
+    $signature: 37
   };
   A.JsObject.prototype = {
     $index(_, property) {
@@ -19531,10 +18071,9 @@
   A.JsFunction.prototype = {};
   A.JsArray.prototype = {
     _checkIndex$1(index) {
-      var _this = this,
-        t1 = index < 0 || index >= _this.get$length(_this);
+      var t1 = index < 0 || index >= this.get$length(0);
       if (t1)
-        throw A.wrapException(A.RangeError$range(index, 0, _this.get$length(_this), null, null));
+        throw A.wrapException(A.RangeError$range(index, 0, this.get$length(0), null, null));
     },
     $index(_, index) {
       if (A._isInt(index))
@@ -19553,7 +18092,7 @@
     },
     sort$1(_, compare) {
       this.$ti._eval$1("int(1,1)?")._as(compare);
-      this.callMethod$2("sort", compare == null ? [] : [compare]);
+      this.callMethod$2("sort", [compare]);
     },
     $isEfficientLengthIterable: 1,
     $isIterable: 1,
@@ -19568,7 +18107,7 @@
     call$1(r) {
       return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r));
     },
-    $signature: 3
+    $signature: 5
   };
   A.promiseToFuture_closure0.prototype = {
     call$1(e) {
@@ -19576,7 +18115,54 @@
         return this.completer.completeError$1(new A.NullRejectionException(e === undefined));
       return this.completer.completeError$1(e);
     },
-    $signature: 3
+    $signature: 5
+  };
+  A.dartify_convert.prototype = {
+    call$1(o) {
+      var t1, proto, t2, dartObject, originalKeys, dartKeys, i, jsKey, dartKey, l, $length;
+      if (A._noDartifyRequired(o))
+        return o;
+      t1 = this._convertedObjects;
+      o.toString;
+      if (t1.containsKey$1(0, o))
+        return t1.$index(0, o);
+      if (o instanceof Date)
+        return A.DateTime$fromMillisecondsSinceEpoch(o.getTime(), true);
+      if (o instanceof RegExp)
+        throw A.wrapException(A.ArgumentError$("structured clone of RegExp", null));
+      if (typeof Promise != "undefined" && o instanceof Promise)
+        return A.promiseToFuture(o, type$.nullable_Object);
+      proto = Object.getPrototypeOf(o);
+      if (proto === Object.prototype || proto === null) {
+        t2 = type$.nullable_Object;
+        dartObject = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
+        t1.$indexSet(0, o, dartObject);
+        originalKeys = Object.keys(o);
+        dartKeys = [];
+        for (t1 = J.getInterceptor$ax(originalKeys), t2 = t1.get$iterator(originalKeys); t2.moveNext$0();)
+          dartKeys.push(A.dartify(t2.get$current(t2)));
+        for (i = 0; i < t1.get$length(originalKeys); ++i) {
+          jsKey = t1.$index(originalKeys, i);
+          if (!(i < dartKeys.length))
+            return A.ioore(dartKeys, i);
+          dartKey = dartKeys[i];
+          if (jsKey != null)
+            dartObject.$indexSet(0, dartKey, this.call$1(o[jsKey]));
+        }
+        return dartObject;
+      }
+      if (o instanceof Array) {
+        l = o;
+        dartObject = [];
+        t1.$indexSet(0, o, dartObject);
+        $length = A._asInt(o.length);
+        for (t1 = J.getInterceptor$asx(l), i = 0; i < $length; ++i)
+          dartObject.push(this.call$1(t1.$index(l, i)));
+        return dartObject;
+      }
+      return o;
+    },
+    $signature: 13
   };
   A.NullRejectionException.prototype = {
     toString$0(_) {
@@ -19741,7 +18327,6 @@
       return receiver.length;
     }
   };
-  A.ScriptElement0.prototype = {$isScriptElement0: 1};
   A.StringList.prototype = {
     get$length(receiver) {
       var t1 = receiver.length;
@@ -19780,28 +18365,6 @@
     $isIterable: 1,
     $isList: 1
   };
-  A.SvgElement.prototype = {
-    createFragment$3$treeSanitizer$validator(receiver, svg, treeSanitizer, validator) {
-      var t2, fragment, root,
-        t1 = A._setArrayType([], type$.JSArray_NodeValidator);
-      B.JSArray_methods.add$1(t1, A._Html5NodeValidator$(null));
-      B.JSArray_methods.add$1(t1, A._TemplatingNodeValidator$());
-      B.JSArray_methods.add$1(t1, new A._SvgNodeValidator());
-      treeSanitizer = new A._ValidatingTreeSanitizer(new A.NodeValidatorBuilder(t1));
-      t1 = document;
-      t2 = t1.body;
-      t2.toString;
-      fragment = B.BodyElement_methods.createFragment$2$treeSanitizer(t2, '<svg version="1.1">' + svg + "</svg>", treeSanitizer);
-      t1 = t1.createDocumentFragment();
-      t1.toString;
-      t2 = new A._ChildNodeListLazy(fragment);
-      root = t2.get$single(t2);
-      for (; t2 = root.firstChild, t2 != null;)
-        t1.appendChild(t2).toString;
-      return t1;
-    },
-    $isSvgElement: 1
-  };
   A.Transform.prototype = {$isTransform: 1};
   A.TransformList.prototype = {
     get$length(receiver) {
@@ -19901,7 +18464,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 6
+    $signature: 7
   };
   A.AudioTrackList.prototype = {
     get$length(receiver) {
@@ -19958,7 +18521,7 @@
     },
     _updateRequests$0() {
       var t1, t2, t3, t4, t5, _this = this;
-      for (t1 = _this._requestQueue, t2 = _this._eventQueue, t3 = t1.$ti._precomputed1; !t1.get$isEmpty(t1);) {
+      for (t1 = _this._requestQueue, t2 = _this._eventQueue, t3 = t1.$ti._precomputed1; !t1.get$isEmpty(0);) {
         t4 = t1._head;
         if (t4 === t1._tail)
           A.throwExpression(A.IterableElementError_noElement());
@@ -19991,7 +18554,7 @@
       _this.$ti._eval$1("Result<1>")._as(result);
       ++_this._eventsReceived;
       t1 = _this._eventQueue;
-      t1._queue_list$_add$1(0, t1.$ti._eval$1("QueueList.E")._as(result));
+      t1._queue_list$_add$1(0, t1.$ti._precomputed1._as(result));
       _this._updateRequests$0();
     },
     _addRequest$1(request) {
@@ -20025,7 +18588,7 @@
       type$.StackTrace._as(stackTrace);
       this.$this._addResult$1(new A.ErrorResult(error, stackTrace));
     },
-    $signature: 8
+    $signature: 6
   };
   A.StreamQueue__ensureListening_closure0.prototype = {
     call$0() {
@@ -20038,17 +18601,20 @@
   };
   A._NextRequest.prototype = {
     update$2(_, events, isDone) {
-      var t1, result;
+      var t1, t2, result;
       this.$ti._eval$1("QueueList<Result<1>>")._as(events);
-      if (!events.get$isEmpty(events)) {
+      if (events.get$length(0) !== 0) {
         t1 = events._queue_list$_head;
         if (t1 === events._queue_list$_tail)
           A.throwExpression(A.StateError$("No element"));
-        result = J.$index$asx(events._queue_list$_table, t1);
+        t2 = events._queue_list$_table;
+        if (!(t1 < t2.length))
+          return A.ioore(t2, t1);
+        result = t2[t1];
         if (result == null)
-          result = events.$ti._eval$1("QueueList.E")._as(result);
-        J.$indexSet$ax(events._queue_list$_table, events._queue_list$_head, null);
-        events._queue_list$_head = (events._queue_list$_head + 1 & J.get$length$asx(events._queue_list$_table) - 1) >>> 0;
+          result = events.$ti._precomputed1._as(result);
+        B.JSArray_methods.$indexSet(t2, t1, null);
+        events._queue_list$_head = (events._queue_list$_head + 1 & events._queue_list$_table.length - 1) >>> 0;
         J.complete$1$z(result, this._stream_queue$_completer);
         return true;
       }
@@ -20062,8 +18628,7 @@
   };
   A._HasNextRequest.prototype = {
     update$2(_, events, isDone) {
-      this.$ti._eval$1("QueueList<Result<1>>")._as(events);
-      if (!events.get$isEmpty(events)) {
+      if (this.$ti._eval$1("QueueList<Result<1>>")._as(events).get$length(0) !== 0) {
         this._stream_queue$_completer.complete$1(0, true);
         return true;
       }
@@ -20079,7 +18644,7 @@
     call$2(h, i) {
       return A._combine(A._asInt(h), J.get$hashCode$(i));
     },
-    $signature: 44
+    $signature: 39
   };
   A.BuiltList.prototype = {
     toBuilder$0() {
@@ -20090,18 +18655,18 @@
       return t1 == null ? this._list$_hashCode = A.hashObjects(this._list) : t1;
     },
     $eq(_, other) {
-      var t1, t2, i, t3, t4, _this = this;
+      var t1, t2, i, t3, t4;
       if (other == null)
         return false;
-      if (other === _this)
+      if (other === this)
         return true;
       if (!(other instanceof A._BuiltList))
         return false;
       t1 = other._list;
-      t2 = _this._list;
+      t2 = this._list;
       if (t1.length !== t2.length)
         return false;
-      if (other.get$hashCode(other) !== _this.get$hashCode(_this))
+      if (other.get$hashCode(0) !== this.get$hashCode(0))
         return false;
       for (i = 0; t3 = t2.length, i !== t3; ++i) {
         if (!(i < t1.length))
@@ -20138,16 +18703,6 @@
     get$isEmpty(_) {
       return this._list.length === 0;
     },
-    get$isNotEmpty(_) {
-      return this._list.length !== 0;
-    },
-    skip$1(_, n) {
-      var t1 = this._list;
-      return A.SubListIterable$(t1, n, null, A._arrayInstanceType(t1)._precomputed1);
-    },
-    get$first(_) {
-      return B.JSArray_methods.get$first(this._list);
-    },
     elementAt$1(_, index) {
       var t1 = this._list;
       if (!(index >= 0 && index < t1.length))
@@ -20259,9 +18814,9 @@
       t2 = _this._list_multimap$_map;
       if (t1._length !== t2._length)
         return false;
-      if (other.get$hashCode(other) !== _this.get$hashCode(_this))
+      if (other.get$hashCode(0) !== _this.get$hashCode(0))
         return false;
-      for (t3 = _this.get$keys(_this), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1), t4 = other._emptyList, t5 = _this._emptyList; t3.moveNext$0();) {
+      for (t3 = _this.get$keys(0), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1), t4 = other._emptyList, t5 = _this._emptyList; t3.moveNext$0();) {
         key = t3.__js_helper$_current;
         result = t1.$index(0, key);
         t6 = result == null ? t4 : result;
@@ -20295,7 +18850,7 @@
     call$1(k) {
       return this.multimap.$index(0, k);
     },
-    $signature: 1
+    $signature: 2
   };
   A.BuiltListMultimap_hashCode_closure.prototype = {
     call$1(key) {
@@ -20464,7 +19019,7 @@
     call$1(k) {
       return this.multimap.$index(0, k);
     },
-    $signature: 1
+    $signature: 2
   };
   A.BuiltMap.prototype = {
     toBuilder$0() {
@@ -20498,9 +19053,9 @@
       t2 = _this._map$_map;
       if (t1._length !== t2._length)
         return false;
-      if (other.get$hashCode(other) !== _this.get$hashCode(_this))
+      if (other.get$hashCode(0) !== _this.get$hashCode(0))
         return false;
-      for (t3 = _this.get$keys(_this), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1); t3.moveNext$0();) {
+      for (t3 = _this.get$keys(0), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1); t3.moveNext$0();) {
         key = t3.__js_helper$_current;
         if (!J.$eq$(t1.$index(0, key), t2.$index(0, key)))
           return false;
@@ -20536,7 +19091,7 @@
     call$1(k) {
       return this.map.$index(0, k);
     },
-    $signature: 1
+    $signature: 2
   };
   A.BuiltMap_hashCode_closure.prototype = {
     call$1(key) {
@@ -20662,14 +19217,14 @@
       var t1 = this.$this.$ti;
       this.replacement.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value));
     },
-    $signature: 9
+    $signature: 22
   };
   A.BuiltSet.prototype = {
     get$hashCode(_) {
       var t2, t3, _this = this,
         t1 = _this._set$_hashCode;
       if (t1 == null) {
-        t1 = _this._set$_set;
+        t1 = _this._set;
         t2 = A._instanceType(t1);
         t3 = t2._eval$1("EfficientLengthMappedIterable<1,int>");
         t3 = A.List_List$of(new A.EfficientLengthMappedIterable(t1, t2._eval$1("int(1)")._as(new A.BuiltSet_hashCode_closure(_this)), t3), false, t3._eval$1("Iterable.E"));
@@ -20680,32 +19235,32 @@
       return t1;
     },
     $eq(_, other) {
-      var t1, _this = this;
+      var t1;
       if (other == null)
         return false;
-      if (other === _this)
+      if (other === this)
         return true;
       if (!(other instanceof A._BuiltSet))
         return false;
-      t1 = _this._set$_set;
-      if (other._set$_set._collection$_length !== t1._collection$_length)
+      t1 = this._set;
+      if (other._set._collection$_length !== t1._collection$_length)
         return false;
-      if (other.get$hashCode(other) !== _this.get$hashCode(_this))
+      if (other.get$hashCode(0) !== this.get$hashCode(0))
         return false;
       return t1.containsAll$1(other);
     },
     toString$0(_) {
-      return A.Iterable_iterableToFullString(this._set$_set, "{", "}");
+      return A.Iterable_iterableToFullString(this._set, "{", "}");
     },
     get$length(_) {
-      return this._set$_set._collection$_length;
+      return this._set._collection$_length;
     },
     get$iterator(_) {
-      var t1 = this._set$_set;
+      var t1 = this._set;
       return A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1);
     },
     map$1$1(_, f, $T) {
-      var t1 = this._set$_set,
+      var t1 = this._set,
         t2 = A._instanceType(t1);
       return new A.EfficientLengthMappedIterable(t1, t2._bind$1($T)._eval$1("1(2)")._as(this.$ti._bind$1($T)._eval$1("1(2)")._as(f)), t2._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
     },
@@ -20713,24 +19268,13 @@
       return this.map$1$1($receiver, f, type$.dynamic);
     },
     contains$1(_, element) {
-      return this._set$_set.contains$1(0, element);
+      return this._set.contains$1(0, element);
     },
     get$isEmpty(_) {
-      return this._set$_set._collection$_length === 0;
-    },
-    get$isNotEmpty(_) {
-      return this._set$_set._collection$_length !== 0;
-    },
-    skip$1(_, n) {
-      var t1 = this._set$_set;
-      return A.SkipIterable_SkipIterable(t1, n, A._instanceType(t1)._precomputed1);
-    },
-    get$first(_) {
-      var t1 = this._set$_set;
-      return t1.get$first(t1);
+      return this._set._collection$_length === 0;
     },
     elementAt$1(_, index) {
-      return this._set$_set.elementAt$1(0, index);
+      return this._set.elementAt$1(0, index);
     },
     $isIterable: 1
   };
@@ -20747,7 +19291,7 @@
       var t1, t2, element;
       if (!(!$.$get$isSoundMode() && !this.$ti._precomputed1._is(null)))
         return;
-      for (t1 = this._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
+      for (t1 = this._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
         element = t1._collection$_current;
         if ((element == null ? t2._as(element) : element) == null)
           throw A.wrapException(A.ArgumentError$("iterable contained invalid element: null", null));
@@ -20863,9 +19407,9 @@
       t2 = _this._set_multimap$_map;
       if (t1._length !== t2._length)
         return false;
-      if (other.get$hashCode(other) !== _this.get$hashCode(_this))
+      if (other.get$hashCode(0) !== _this.get$hashCode(0))
         return false;
-      for (t3 = _this.get$keys(_this), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1), t4 = other._emptySet, t5 = _this._emptySet; t3.moveNext$0();) {
+      for (t3 = _this.get$keys(0), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1), t4 = other._emptySet, t5 = _this._emptySet; t3.moveNext$0();) {
         key = t3.__js_helper$_current;
         result = t1.$index(0, key);
         t6 = result == null ? t4 : result;
@@ -20927,7 +19471,7 @@
             t2.set$_setOwner(new A._BuiltSet(t3, t4, A._instanceType(t2)._eval$1("_BuiltSet<1>")));
           }
           builtSet = t2._setOwner;
-          t2 = builtSet._set$_set._collection$_length;
+          t2 = builtSet._set._collection$_length;
           t3 = _this.__SetMultimapBuilder__builtMap_A;
           if (t2 === 0) {
             t3 === $ && A.throwLateFieldNI(_s9_);
@@ -20966,7 +19510,7 @@
         else {
           t1 = builtValues.$ti;
           t1._eval$1("_BuiltSet<1>")._as(builtValues);
-          result = new A.SetBuilder(builtValues._setFactory, builtValues._set$_set, builtValues, t1._eval$1("SetBuilder<1>"));
+          result = new A.SetBuilder(builtValues._setFactory, builtValues._set, builtValues, t1._eval$1("SetBuilder<1>"));
         }
         _this.__SetMultimapBuilder__builderMap_A.$indexSet(0, key, result);
       }
@@ -21045,7 +19589,7 @@
     call$1(k) {
       return this.multimap.$index(0, k);
     },
-    $signature: 1
+    $signature: 2
   };
   A.EnumClass.prototype = {
     toString$0(_) {
@@ -21061,7 +19605,7 @@
       $._indentingBuiltValueToStringHelperIndent = $._indentingBuiltValueToStringHelperIndent + 2;
       return new A.IndentingBuiltValueToStringHelper(t1);
     },
-    $signature: 45
+    $signature: 40
   };
   A.IndentingBuiltValueToStringHelper.prototype = {
     add$2(_, field, value) {
@@ -21194,34 +19738,34 @@
     call$0() {
       return A.ListBuilder_ListBuilder(B.List_empty, type$.Object);
     },
-    $signature: 46
+    $signature: 41
   };
   A.Serializers_Serializers_closure0.prototype = {
     call$0() {
       var t1 = type$.Object;
       return A.ListMultimapBuilder_ListMultimapBuilder(t1, t1);
     },
-    $signature: 47
+    $signature: 42
   };
   A.Serializers_Serializers_closure1.prototype = {
     call$0() {
       var t1 = type$.Object;
       return A.MapBuilder_MapBuilder(t1, t1);
     },
-    $signature: 48
+    $signature: 43
   };
   A.Serializers_Serializers_closure2.prototype = {
     call$0() {
       return A.SetBuilder_SetBuilder(type$.Object);
     },
-    $signature: 99
+    $signature: 44
   };
   A.Serializers_Serializers_closure3.prototype = {
     call$0() {
       var t1 = type$.Object;
       return A.SetMultimapBuilder_SetMultimapBuilder(t1, t1);
     },
-    $signature: 50
+    $signature: 45
   };
   A.FullType.prototype = {
     $eq(_, other) {
@@ -21350,7 +19894,7 @@
         t1 = J.getInterceptor$(object);
         serializer = _this.serializerForType$1(t1.get$runtimeType(object));
         if (serializer == null)
-          throw A.wrapException(A.StateError$("No serializer for '" + t1.get$runtimeType(object).toString$0(0) + "'."));
+          throw A.wrapException(A.StateError$(A._noSerializerMessageFor(t1.get$runtimeType(object).toString$0(0))));
         if (type$.StructuredSerializer_dynamic._is(serializer)) {
           result = [serializer.get$wireName()];
           B.JSArray_methods.addAll$1(result, serializer.serialize$2(_this, object));
@@ -21389,7 +19933,6 @@
     },
     _deserialize$3(objectBeforePlugins, object, specifiedType) {
       var serializer, error, primitive, error0, serializer0, error1, error2, wireName, exception, _this = this,
-        _s19_ = "No serializer for '",
         _s62_ = string$.serial,
         t1 = specifiedType.root;
       if (t1 == null) {
@@ -21398,7 +19941,7 @@
         wireName = A._asString(t1.get$first(object));
         serializer = _this._wireNameToSerializer._map$_map.$index(0, wireName);
         if (serializer == null)
-          throw A.wrapException(A.StateError$(_s19_ + wireName + "'."));
+          throw A.wrapException(A.StateError$(A._noSerializerMessageFor(wireName)));
         if (type$.StructuredSerializer_dynamic._is(serializer))
           try {
             t1 = serializer.deserialize$2(_this, t1.sublist$1(object, 1));
@@ -21432,7 +19975,7 @@
           if (type$.List_dynamic._is(object) && typeof J.get$first$ax(object) == "string")
             return _this.deserialize$1(objectBeforePlugins);
           else
-            throw A.wrapException(A.StateError$(_s19_ + t1.toString$0(0) + "'."));
+            throw A.wrapException(A.StateError$(A._noSerializerMessageFor(t1.toString$0(0))));
         if (type$.StructuredSerializer_dynamic._is(serializer0))
           try {
             t1 = object == null ? null : serializer0.deserialize$3$specifiedType(_this, type$.Iterable_nullable_Object._as(object), specifiedType);
@@ -21540,7 +20083,7 @@
         valueType = t1[1];
       }
       result = [];
-      for (t1 = builtListMultimap.get$keys(builtListMultimap), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtListMultimap._list_multimap$_map, t3 = builtListMultimap._emptyList; t1.moveNext$0();) {
+      for (t1 = builtListMultimap.get$keys(0), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtListMultimap._list_multimap$_map, t3 = builtListMultimap._emptyList; t1.moveNext$0();) {
         key = t1.__js_helper$_current;
         result.push(serializers.serialize$2$specifiedType(key, keyType));
         result0 = t2.$index(0, key);
@@ -21636,13 +20179,13 @@
     call$1(value) {
       return this.serializers.serialize$2$specifiedType(value, this.valueType);
     },
-    $signature: 2
+    $signature: 3
   };
   A.BuiltListMultimapSerializer_deserialize_closure.prototype = {
     call$1(value) {
       return this.serializers.deserialize$2$specifiedType(value, this.valueType);
     },
-    $signature: 34
+    $signature: 13
   };
   A.BuiltListSerializer.prototype = {
     serialize$3$specifiedType(serializers, builtList, specifiedType) {
@@ -21700,13 +20243,13 @@
     call$1(item) {
       return this.serializers.serialize$2$specifiedType(item, this.elementType);
     },
-    $signature: 2
+    $signature: 3
   };
   A.BuiltListSerializer_deserialize_closure.prototype = {
     call$1(item) {
       return this.serializers.deserialize$2$specifiedType(item, this.elementType);
     },
-    $signature: 2
+    $signature: 3
   };
   A.BuiltMapSerializer.prototype = {
     serialize$3$specifiedType(serializers, builtMap, specifiedType) {
@@ -21733,7 +20276,7 @@
         valueType = t1[1];
       }
       result = [];
-      for (t1 = builtMap.get$keys(builtMap), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtMap._map$_map; t1.moveNext$0();) {
+      for (t1 = builtMap.get$keys(0), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtMap._map$_map; t1.moveNext$0();) {
         key = t1.__js_helper$_current;
         result.push(serializers.serialize$2$specifiedType(key, keyType));
         result.push(serializers.serialize$2$specifiedType(t2.$index(0, key), valueType));
@@ -21820,12 +20363,12 @@
         valueType = t1[1];
       }
       result = [];
-      for (t1 = builtSetMultimap.get$keys(builtSetMultimap), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtSetMultimap._set_multimap$_map, t3 = builtSetMultimap._emptySet; t1.moveNext$0();) {
+      for (t1 = builtSetMultimap.get$keys(0), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtSetMultimap._set_multimap$_map, t3 = builtSetMultimap._emptySet; t1.moveNext$0();) {
         key = t1.__js_helper$_current;
         result.push(serializers.serialize$2$specifiedType(key, keyType));
         result0 = t2.$index(0, key);
         t4 = result0 == null ? t3 : result0;
-        t5 = t4._set$_set;
+        t5 = t4._set;
         t6 = A._instanceType(t5);
         t7 = t6._eval$1("EfficientLengthMappedIterable<1,Object?>");
         result.push(A.List_List$of(new A.EfficientLengthMappedIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltSetMultimapSerializer_serialize_closure(serializers, valueType))), t7), true, t7._eval$1("Iterable.E")));
@@ -21906,13 +20449,13 @@
     call$1(value) {
       return this.serializers.serialize$2$specifiedType(value, this.valueType);
     },
-    $signature: 2
+    $signature: 3
   };
   A.BuiltSetMultimapSerializer_deserialize_closure.prototype = {
     call$1(value) {
       return this.serializers.deserialize$2$specifiedType(value, this.valueType);
     },
-    $signature: 2
+    $signature: 3
   };
   A.BuiltSetSerializer.prototype = {
     serialize$3$specifiedType(serializers, builtSet, specifiedType) {
@@ -21930,7 +20473,7 @@
           return A.ioore(t1, 0);
         elementType = t1[0];
       }
-      t1 = builtSet._set$_set;
+      t1 = builtSet._set;
       t2 = A._instanceType(t1);
       return new A.EfficientLengthMappedIterable(t1, t2._eval$1("Object?(1)")._as(builtSet.$ti._eval$1("Object?(1)")._as(new A.BuiltSetSerializer_serialize_closure(serializers, elementType))), t2._eval$1("EfficientLengthMappedIterable<1,Object?>"));
     },
@@ -21970,13 +20513,13 @@
     call$1(item) {
       return this.serializers.serialize$2$specifiedType(item, this.elementType);
     },
-    $signature: 2
+    $signature: 3
   };
   A.BuiltSetSerializer_deserialize_closure.prototype = {
     call$1(item) {
       return this.serializers.deserialize$2$specifiedType(item, this.elementType);
     },
-    $signature: 2
+    $signature: 3
   };
   A.DateTimeSerializer.prototype = {
     serialize$3$specifiedType(serializers, dateTime, specifiedType) {
@@ -22070,6 +20613,29 @@
       return "Duration";
     }
   };
+  A.Int32Serializer.prototype = {
+    serialize$3$specifiedType(serializers, int32, specifiedType) {
+      return type$.Int32._as(int32)._i;
+    },
+    serialize$2(serializers, int32) {
+      return this.serialize$3$specifiedType(serializers, int32, B.FullType_null_List_empty_false);
+    },
+    deserialize$3$specifiedType(serializers, serialized, specifiedType) {
+      A._asInt(serialized);
+      return new A.Int32((serialized & 2147483647) - ((serialized & 2147483648) >>> 0));
+    },
+    deserialize$2(serializers, serialized) {
+      return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false);
+    },
+    $isSerializer: 1,
+    $isPrimitiveSerializer: 1,
+    get$types(receiver) {
+      return this.types;
+    },
+    get$wireName() {
+      return "Int32";
+    }
+  };
   A.Int64Serializer.prototype = {
     serialize$3$specifiedType(serializers, int64, specifiedType) {
       return type$.Int64._as(int64)._toRadixString$1(10);
@@ -22495,80 +21061,60 @@
     $isEquality: 1
   };
   A.QueueList.prototype = {
-    cast$1$0(_, $T) {
-      return new A._CastQueueList(this, J.cast$1$0$ax(this._queue_list$_table, $T), -1, -1, A._instanceType(this)._eval$1("@<QueueList.E>")._bind$1($T)._eval$1("_CastQueueList<1,2>"));
-    },
     toString$0(_) {
       return A.Iterable_iterableToFullString(this, "{", "}");
     },
     get$length(_) {
-      var _this = this;
-      return (_this.get$_queue_list$_tail() - _this.get$_queue_list$_head(_this) & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0;
+      return (this._queue_list$_tail - this._queue_list$_head & this._queue_list$_table.length - 1) >>> 0;
     },
     $index(_, index) {
-      var t1, _this = this;
-      if (index < 0 || index >= _this.get$length(_this))
-        throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(_this) + ")."));
-      t1 = J.$index$asx(_this._queue_list$_table, (_this.get$_queue_list$_head(_this) + index & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
-      return t1 == null ? A._instanceType(_this)._eval$1("QueueList.E")._as(t1) : t1;
+      var t1, t2, t3, _this = this;
+      if (index < 0 || index >= _this.get$length(0))
+        throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(0) + ")."));
+      t1 = _this._queue_list$_table;
+      t2 = t1.length;
+      t3 = (_this._queue_list$_head + index & t2 - 1) >>> 0;
+      if (!(t3 >= 0 && t3 < t2))
+        return A.ioore(t1, t3);
+      t3 = t1[t3];
+      return t3 == null ? _this.$ti._precomputed1._as(t3) : t3;
     },
     $indexSet(_, index, value) {
-      var _this = this;
-      A._instanceType(_this)._eval$1("QueueList.E")._as(value);
-      if (index < 0 || index >= _this.get$length(_this))
-        throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(_this) + ")."));
-      J.$indexSet$ax(_this._queue_list$_table, (_this.get$_queue_list$_head(_this) + index & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0, value);
+      var t1, _this = this;
+      _this.$ti._precomputed1._as(value);
+      if (index < 0 || index >= _this.get$length(0))
+        throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(0) + ")."));
+      t1 = _this._queue_list$_table;
+      B.JSArray_methods.$indexSet(t1, (_this._queue_list$_head + index & t1.length - 1) >>> 0, value);
     },
     _queue_list$_add$1(_, element) {
-      var newTable, split, _this = this,
-        t1 = A._instanceType(_this);
-      t1._eval$1("QueueList.E")._as(element);
-      J.$indexSet$ax(_this._queue_list$_table, _this.get$_queue_list$_tail(), element);
-      _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() + 1 & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
-      if (_this.get$_queue_list$_head(_this) === _this.get$_queue_list$_tail()) {
-        newTable = A.List_List$filled(J.get$length$asx(_this._queue_list$_table) * 2, null, false, t1._eval$1("QueueList.E?"));
-        split = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_head(_this);
-        B.JSArray_methods.setRange$4(newTable, 0, split, _this._queue_list$_table, _this.get$_queue_list$_head(_this));
-        B.JSArray_methods.setRange$4(newTable, split, split + _this.get$_queue_list$_head(_this), _this._queue_list$_table, 0);
-        _this.set$_queue_list$_head(0, 0);
-        _this.set$_queue_list$_tail(J.get$length$asx(_this._queue_list$_table));
+      var t2, t3, newTable, split, _this = this,
+        t1 = _this.$ti;
+      t1._precomputed1._as(element);
+      B.JSArray_methods.$indexSet(_this._queue_list$_table, _this._queue_list$_tail, element);
+      t2 = _this._queue_list$_tail;
+      t3 = _this._queue_list$_table.length;
+      t2 = (t2 + 1 & t3 - 1) >>> 0;
+      _this._queue_list$_tail = t2;
+      if (_this._queue_list$_head === t2) {
+        newTable = A.List_List$filled(t3 * 2, null, false, t1._eval$1("1?"));
+        t1 = _this._queue_list$_table;
+        t2 = _this._queue_list$_head;
+        split = t1.length - t2;
+        B.JSArray_methods.setRange$4(newTable, 0, split, t1, t2);
+        B.JSArray_methods.setRange$4(newTable, split, split + _this._queue_list$_head, _this._queue_list$_table, 0);
+        _this._queue_list$_head = 0;
+        _this._queue_list$_tail = _this._queue_list$_table.length;
         _this.set$_queue_list$_table(newTable);
       }
     },
     set$_queue_list$_table(_table) {
-      this._queue_list$_table = A._instanceType(this)._eval$1("List<QueueList.E?>")._as(_table);
-    },
-    set$_queue_list$_head(_, _head) {
-      this._queue_list$_head = A._asInt(_head);
-    },
-    set$_queue_list$_tail(_tail) {
-      this._queue_list$_tail = A._asInt(_tail);
+      this._queue_list$_table = this.$ti._eval$1("List<1?>")._as(_table);
     },
     $isEfficientLengthIterable: 1,
     $isQueue: 1,
     $isIterable: 1,
-    $isList: 1,
-    get$_queue_list$_head(receiver) {
-      return this._queue_list$_head;
-    },
-    get$_queue_list$_tail() {
-      return this._queue_list$_tail;
-    }
-  };
-  A._CastQueueList.prototype = {
-    get$_queue_list$_head(_) {
-      var t1 = this._queue_list$_delegate;
-      return t1.get$_queue_list$_head(t1);
-    },
-    set$_queue_list$_head(_, value) {
-      this._queue_list$_delegate.set$_queue_list$_head(0, value);
-    },
-    get$_queue_list$_tail() {
-      return this._queue_list$_delegate.get$_queue_list$_tail();
-    },
-    set$_queue_list$_tail(value) {
-      this._queue_list$_delegate.set$_queue_list$_tail(value);
-    }
+    $isList: 1
   };
   A._QueueList_Object_ListMixin.prototype = {};
   A.BuildStatus.prototype = {};
@@ -22977,8 +21523,7 @@
       return other instanceof A._$BatchedDebugEvents && this.events.$eq(0, other.events);
     },
     get$hashCode(_) {
-      var t1 = this.events;
-      return A.$jf(A.$jc(0, t1.get$hashCode(t1)));
+      return A.$jf(A.$jc(0, this.events.get$hashCode(0)));
     },
     toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("BatchedDebugEvents"),
@@ -24013,8 +22558,7 @@
       return other instanceof A._$BatchedEvents && this.events.$eq(0, other.events);
     },
     get$hashCode(_) {
-      var t1 = this.events;
-      return A.$jf(A.$jc(0, t1.get$hashCode(t1)));
+      return A.$jf(A.$jc(0, this.events.get$hashCode(0)));
     },
     toString$0(_) {
       var t1 = $.$get$newBuiltValueToStringHelper().call$1("BatchedEvents"),
@@ -24327,13 +22871,13 @@
     call$0() {
       return A.ListBuilder_ListBuilder(B.List_empty, type$.DebugEvent);
     },
-    $signature: 56
+    $signature: 50
   };
   A._$serializers_closure0.prototype = {
     call$0() {
       return A.ListBuilder_ListBuilder(B.List_empty, type$.ExtensionEvent);
     },
-    $signature: 57
+    $signature: 51
   };
   A.BatchedStreamController.prototype = {
     _batchAndSendEvents$0() {
@@ -24443,13 +22987,13 @@
     call$0() {
       return true;
     },
-    $signature: 31
+    $signature: 18
   };
   A.BatchedStreamController__hasEventDuring_closure.prototype = {
     call$0() {
       return false;
     },
-    $signature: 31
+    $signature: 18
   };
   A.SocketClient.prototype = {};
   A.SseSocketClient.prototype = {
@@ -24491,14 +23035,46 @@
     call$1(o) {
       return J.toString$0$(o);
     },
-    $signature: 59
+    $signature: 53
   };
   A.safeUnawaited_closure.prototype = {
     call$2(error, stackTrace) {
       type$.StackTrace._as(stackTrace);
       return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace);
     },
-    $signature: 17
+    $signature: 20
+  };
+  A.Int32.prototype = {
+    _toInt$1(val) {
+      if (val instanceof A.Int32)
+        return val._i;
+      else if (A._isInt(val))
+        return val;
+      throw A.wrapException(A.ArgumentError$value(val, "other", "Not an int, Int32 or Int64"));
+    },
+    $eq(_, other) {
+      if (other == null)
+        return false;
+      if (other instanceof A.Int32)
+        return this._i === other._i;
+      else if (other instanceof A.Int64)
+        return A.Int64_Int64(this._i).$eq(0, other);
+      else if (A._isInt(other))
+        return this._i === other;
+      return false;
+    },
+    compareTo$1(_, other) {
+      if (other instanceof A.Int64)
+        return A.Int64_Int64(this._i)._compareTo$1(other);
+      return B.JSInt_methods.compareTo$1(this._i, this._toInt$1(other));
+    },
+    get$hashCode(_) {
+      return this._i;
+    },
+    toString$0(_) {
+      return B.JSInt_methods.toString$0(this._i);
+    },
+    $isComparable: 1
   };
   A.Int64.prototype = {
     $eq(_, other) {
@@ -24514,7 +23090,7 @@
           return false;
         o = A.Int64_Int64(other);
       } else
-        o = null;
+        o = other instanceof A.Int32 ? A.Int64_Int64(other._i) : null;
       if (o != null)
         return _this._l === o._l && _this._m === o._m && _this._h === o._h;
       return false;
@@ -24635,7 +23211,7 @@
     log$4(logLevel, message, error, stackTrace) {
       var record, _this = this,
         t1 = logLevel.value;
-      if (t1 >= _this.get$level(_this).value) {
+      if (t1 >= _this.get$level(0).value) {
         if (stackTrace == null && t1 >= 2000) {
           A.StackTrace_current();
           if (error == null)
@@ -24677,7 +23253,7 @@
         $parent._children.$indexSet(0, thisName, t1);
       return t1;
     },
-    $signature: 60
+    $signature: 54
   };
   A.Pool.prototype = {
     request$0(_) {
@@ -24690,7 +23266,7 @@
         return A.Future_Future$value(new A.PoolResource(_this), type$.PoolResource);
       } else {
         t1 = _this._onReleaseCallbacks;
-        if (!t1.get$isEmpty(t1))
+        if (!t1.get$isEmpty(0))
           return _this._runOnRelease$1(t1.removeFirst$0());
         else {
           t1 = new A._Future($.Zone__current, type$._Future_PoolResource);
@@ -24753,7 +23329,7 @@
               t1 = t1._pool;
               t1._resetTimer$0();
               t2 = t1._requestedResources;
-              if (!t2.get$isEmpty(t2))
+              if (!t2.get$isEmpty(0))
                 t2.removeFirst$0().complete$1(0, new A.PoolResource(t1));
               else {
                 t2 = --t1._allocatedResources;
@@ -24802,7 +23378,7 @@
       var t1 = this.$this;
       J.complete$1$z(t1._onReleaseCompleters.removeFirst$0(), new A.PoolResource(t1));
     },
-    $signature: 7
+    $signature: 8
   };
   A.Pool__runOnRelease_closure0.prototype = {
     call$2(error, stackTrace) {
@@ -24810,7 +23386,7 @@
       type$.StackTrace._as(stackTrace);
       this.$this._onReleaseCompleters.removeFirst$0().completeError$2(error, stackTrace);
     },
-    $signature: 8
+    $signature: 6
   };
   A.PoolResource.prototype = {};
   A.SseClient.prototype = {
@@ -24818,14 +23394,14 @@
       var t2, _this = this,
         t1 = serverUrl + "?sseClientId=" + _this._clientId;
       _this.__SseClient__serverUrl_A = t1;
-      t1 = A.EventSource__factoryEventSource(t1, A.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic));
+      t2 = type$.JavaScriptObject;
+      t1 = t2._as(new self.EventSource(t1, t2._as({withCredentials: true})));
       _this.__SseClient__eventSource_A = t1;
-      t1 = new A._EventStream(t1, "open", false, type$._EventStream_Event);
-      t1.get$first(t1).whenComplete$1(new A.SseClient_closure(_this));
-      B.EventSource_methods.addEventListener$2(_this.__SseClient__eventSource_A, "message", _this.get$_onIncomingMessage());
-      B.EventSource_methods.addEventListener$2(_this.__SseClient__eventSource_A, "control", _this.get$_onIncomingControlMessage());
-      t1 = type$.nullable_void_Function_Event;
-      t2 = type$.Event;
+      new A._EventStream(t1, "open", false, type$._EventStream_JavaScriptObject).get$first(0).whenComplete$1(new A.SseClient_closure(_this));
+      t1 = type$.Function;
+      _this.__SseClient__eventSource_A.addEventListener("message", A.allowInterop(_this.get$_onIncomingMessage(), t1));
+      _this.__SseClient__eventSource_A.addEventListener("control", A.allowInterop(_this.get$_onIncomingControlMessage(), t1));
+      t1 = type$.nullable_void_Function_JavaScriptObject;
       A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "open", t1._as(new A.SseClient_closure0(_this)), false, t2);
       A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "error", t1._as(new A.SseClient_closure1(_this)), false, t2);
     },
@@ -24836,7 +23412,7 @@
       t1.close();
       if ((_this._onConnected.future._state & 30) === 0) {
         t1 = _this._outgoingController;
-        new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$cancelOnError(null, true).asFuture$1$1(null, type$.dynamic);
+        new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$cancelOnError(null, true).asFuture$1$1(null, type$.void);
       }
       _this._incomingController.close$0(0);
       _this._outgoingController.close$0(0);
@@ -24850,14 +23426,14 @@
         t1.completeError$1(error);
     },
     _onIncomingControlMessage$1(message) {
-      var data = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(type$.Event._as(message)).data, true);
-      if (J.$eq$(data, "close"))
+      var data = type$.JavaScriptObject._as(message).data;
+      if (J.$eq$(A.dartify(data), "close"))
         this.close$0(0);
       else
         throw A.wrapException(A.UnsupportedError$("[" + this._clientId + '] Illegal Control Message "' + A.S(data) + '"'));
     },
     _onIncomingMessage$1(message) {
-      this._incomingController.add$1(0, A._asString(B.C_JsonCodec.decode$2$reviver(0, A._asString(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(type$.Event._as(message)).data, true)), null)));
+      this._incomingController.add$1(0, A._asString(B.C_JsonCodec.decode$2$reviver(0, A._asString(type$.JavaScriptObject._as(message).data), null)));
     },
     _onOutgoingDone$0() {
       this.close$0(0);
@@ -24897,7 +23473,7 @@
       t2 = t1._outgoingController;
       new A._ControllerStream(t2, A._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$2$onDone(t1.get$_onOutgoingMessage(), t1.get$_onOutgoingDone());
     },
-    $signature: 5
+    $signature: 4
   };
   A.SseClient_closure0.prototype = {
     call$1(_) {
@@ -24905,7 +23481,7 @@
       if (t1 != null)
         t1.cancel$0(0);
     },
-    $signature: 4
+    $signature: 1
   };
   A.SseClient_closure1.prototype = {
     call$1(error) {
@@ -24915,7 +23491,7 @@
       if (t2 !== true)
         t1._errorTimer = A.Timer_Timer(B.Duration_5000000, new A.SseClient__closure(t1, error));
     },
-    $signature: 4
+    $signature: 1
   };
   A.SseClient__closure.prototype = {
     call$0() {
@@ -24957,8 +23533,13 @@
               t2 = t1.__SseClient__serverUrl_A;
               t2 === $ && A.throwLateFieldNI("_serverUrl");
               url = t2 + "&messageId=" + ++t1._lastMessageId;
+              t1 = $async$self._box_0.encodedMessage;
+              if (t1 == null)
+                t1 = null;
+              t2 = type$.JavaScriptObject;
+              t1 = t2._as({method: "POST", body: t1, credentials: "include"});
               $async$goto = 6;
-              return A._asyncAwait(A.promiseToFuture(self.fetch(url, {method: "POST", credentials: "include", body: $async$self._box_0.encodedMessage}), type$.dynamic), $async$call$0);
+              return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(t2._as(self.window).fetch(url, t1)), type$.nullable_Object), $async$call$0);
             case 6:
               // returning from await.
               $async$handler = 1;
@@ -24993,26 +23574,25 @@
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 25
+    $signature: 29
   };
-  A._FetchOptions.prototype = {};
-  A.generateUuidV4__generateBits.prototype = {
+  A.generateUuidV4_generateBits.prototype = {
     call$1(bitCount) {
       return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount));
     },
-    $signature: 21
+    $signature: 25
   };
-  A.generateUuidV4__printDigits.prototype = {
+  A.generateUuidV4_printDigits.prototype = {
     call$2(value, count) {
       return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0");
     },
-    $signature: 29
+    $signature: 16
   };
-  A.generateUuidV4__bitsDigits.prototype = {
+  A.generateUuidV4_bitsDigits.prototype = {
     call$2(bitCount, digitCount) {
-      return this._printDigits.call$2(this._generateBits.call$1(bitCount), digitCount);
+      return this.printDigits.call$2(this.generateBits.call$1(bitCount), digitCount);
     },
-    $signature: 29
+    $signature: 16
   };
   A.GuaranteeChannel.prototype = {
     GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) {
@@ -25125,7 +23705,7 @@
   A._GuaranteeSink__addError_closure.prototype = {
     call$1(_) {
     },
-    $signature: 7
+    $signature: 8
   };
   A.StreamChannelController.prototype = {
     set$__StreamChannelController__local_F(__StreamChannelController__local_F) {
@@ -25296,6 +23876,92 @@
       return t2 + t3 + t4 + t5 + "-" + t6 + t7 + "-" + t8 + t9 + "-" + t10 + t11 + "-" + t12 + t13 + t14 + t15 + t16 + t1[t17];
     }
   };
+  A.EventStreamProvider0.prototype = {};
+  A._EventStream.prototype = {
+    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 A._EventStreamSubscription$(this._target, this._eventType, onData, false, t1._precomputed1);
+    },
+    listen$3$onDone$onError(onData, onDone, onError) {
+      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
+    }
+  };
+  A._EventStreamSubscription.prototype = {
+    cancel$0(_) {
+      var _this = this,
+        emptyFuture = A.Future_Future$value(null, type$.void);
+      if (_this._target == null)
+        return emptyFuture;
+      _this._unlisten$0();
+      _this._onData = _this._target = null;
+      return emptyFuture;
+    },
+    onData$1(handleData) {
+      var t1, _this = this;
+      _this.$ti._eval$1("~(1)?")._as(handleData);
+      if (_this._target == null)
+        throw A.wrapException(A.StateError$("Subscription has been canceled."));
+      _this._unlisten$0();
+      t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.JavaScriptObject);
+      t1 = t1 == null ? null : A.allowInterop(t1, type$.Function);
+      _this._onData = t1;
+      _this._tryResume$0();
+    },
+    pause$0(_) {
+      if (this._target == null)
+        return;
+      ++this._pauseCount;
+      this._unlisten$0();
+    },
+    resume$0(_) {
+      var _this = this;
+      if (_this._target == null || _this._pauseCount <= 0)
+        return;
+      --_this._pauseCount;
+      _this._tryResume$0();
+    },
+    _tryResume$0() {
+      var _this = this,
+        t1 = _this._onData;
+      if (t1 != null && _this._pauseCount <= 0)
+        _this._target.addEventListener(_this._eventType, t1, false);
+    },
+    _unlisten$0() {
+      var t1 = this._onData;
+      if (t1 != null)
+        this._target.removeEventListener(this._eventType, t1, false);
+    },
+    $isStreamSubscription: 1
+  };
+  A._EventStreamSubscription_closure.prototype = {
+    call$1(e) {
+      return this.onData.call$1(type$.JavaScriptObject._as(e));
+    },
+    $signature: 1
+  };
+  A._EventStreamSubscription_onData_closure.prototype = {
+    call$1(e) {
+      return this.handleData.call$1(type$.JavaScriptObject._as(e));
+    },
+    $signature: 1
+  };
+  A.HttpRequest_request_closure.prototype = {
+    call$1(e) {
+      var t1 = this.xhr,
+        $status = A._asInt(t1.status),
+        accepted = $status >= 200 && $status < 300,
+        unknownRedirect = $status > 307 && $status < 400,
+        t2 = accepted || $status === 0 || $status === 304 || unknownRedirect,
+        t3 = this.completer;
+      if (t2)
+        t3.complete$1(0, t1);
+      else
+        t3.completeError$1(e);
+    },
+    $signature: 1
+  };
   A.HtmlWebSocketChannel.prototype = {
     HtmlWebSocketChannel$1(innerWebSocket) {
       var _this = this,
@@ -25309,15 +23975,12 @@
       } else {
         if (t3 === 2 || t3 === 3)
           t1.completeError$1(new A.WebSocketChannelException("WebSocket state error: " + t3));
-        t1 = new A._EventStream(t2, "open", false, type$._EventStream_Event);
-        t1.get$first(t1).then$1$1(0, new A.HtmlWebSocketChannel_closure(_this), type$.Null);
+        new A._EventStream0(t2, "open", false, type$._EventStream_Event).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure(_this), type$.Null);
       }
-      t1 = new A._EventStream(t2, "error", false, type$._EventStream_Event);
-      t3 = type$.Null;
-      t1.get$first(t1).then$1$1(0, new A.HtmlWebSocketChannel_closure0(_this), t3);
-      A._EventStreamSubscription$(t2, "message", type$.nullable_void_Function_MessageEvent._as(new A.HtmlWebSocketChannel_closure1(_this)), false, type$.MessageEvent);
-      t2 = new A._EventStream(t2, "close", false, type$._EventStream_CloseEvent);
-      t2.get$first(t2).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t3);
+      t1 = type$.Null;
+      new A._EventStream0(t2, "error", false, type$._EventStream_Event).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure0(_this), t1);
+      A._EventStreamSubscription$0(t2, "message", type$.nullable_void_Function_MessageEvent._as(new A.HtmlWebSocketChannel_closure1(_this)), false, type$.MessageEvent);
+      new A._EventStream0(t2, "close", false, type$._EventStream_CloseEvent).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t1);
     },
     _listen$0() {
       var t1 = this._html0$_controller.__StreamChannelController__local_F;
@@ -25338,7 +24001,7 @@
       t2.complete$0(0);
       t1._listen$0();
     },
-    $signature: 36
+    $signature: 15
   };
   A.HtmlWebSocketChannel_closure0.prototype = {
     call$1(_) {
@@ -25358,21 +24021,23 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.close$0(0);
     },
-    $signature: 36
+    $signature: 15
   };
   A.HtmlWebSocketChannel_closure1.prototype = {
     call$1($event) {
-      var t1,
-        data = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true);
-      if (type$.ByteBuffer._is(data))
-        data = A.NativeUint8List_NativeUint8List$view(data, 0, null);
+      var copy, data,
+        t1 = type$.MessageEvent._as($event).data,
+        t2 = new A._AcceptStructuredCloneDart2Js([], []);
+      t2.mustCopy = true;
+      copy = t2.walk$1(t1);
+      data = type$.ByteBuffer._is(copy) ? A.NativeUint8List_NativeUint8List$view(copy, 0, null) : copy;
       t1 = this.$this._html0$_controller.__StreamChannelController__local_F;
       t1 === $ && A.throwLateFieldNI("_local");
       t1 = t1.__GuaranteeChannel__sink_F;
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.add$1(0, data);
     },
-    $signature: 35
+    $signature: 59
   };
   A.HtmlWebSocketChannel_closure2.prototype = {
     call$1($event) {
@@ -25386,7 +24051,7 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.close$0(0);
     },
-    $signature: 83
+    $signature: 60
   };
   A.HtmlWebSocketChannel__listen_closure.prototype = {
     call$0() {
@@ -25405,7 +24070,7 @@
     call$0() {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.void),
-        uri, t1, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, debugEventController, t5;
+        uri, t1, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, t5, t6, debugEventController, t7;
       var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -25416,17 +24081,12 @@
               if (self.$dartAppInstanceId == null)
                 self.$dartAppInstanceId = B.C_Uuid.v1$0();
               uri = A.Uri_parse(self.$dwdsDevHandlerPath);
-              t1 = type$.Location;
-              t2 = t1._as(window.location).protocol;
-              t2.toString;
-              if (t2 === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost")
+              t1 = self;
+              t2 = type$.JavaScriptObject;
+              if (A._asString(t2._as(t2._as(t1.window).location).protocol) === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost")
                 uri = uri.replace$1$scheme(0, "https");
-              else {
-                t1 = t1._as(window.location).protocol;
-                t1.toString;
-                if (t1 === "wss:" && uri.get$scheme() === "ws" && uri.get$host(uri) !== "localhost")
-                  uri = uri.replace$1$scheme(0, "wss");
-              }
+              else if (A._asString(t2._as(t2._as(t1.window).location).protocol) === "wss:" && uri.get$scheme() === "ws" && uri.get$host(uri) !== "localhost")
+                uri = uri.replace$1$scheme(0, "wss");
               fixedPath = uri.toString$0(0);
               fixedUri = A.Uri_parse(fixedPath);
               client = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.HtmlWebSocketChannel$connect(fixedUri, null)) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient"));
@@ -25452,29 +24112,24 @@
               // join
               manager = new A.ReloadingManager(client, restarter);
               self.$dartHotRestartDwds = A.allowInterop(new A.main__closure(manager), type$.Promise_bool_Function_String);
-              t1 = $.Zone__current;
-              t2 = Math.max(100, 1);
-              t3 = A.StreamController_StreamController(null, null, false, type$.DebugEvent);
-              t4 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent);
-              debugEventController = new A.BatchedStreamController(t2, 1000, t3, t4, new A._AsyncCompleter(new A._Future(t1, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent);
-              t1 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent);
-              t2 = A.ListQueue$(type$._EventRequest_dynamic);
-              t5 = type$.StreamQueue_DebugEvent;
-              debugEventController.set$__BatchedStreamController__inputQueue_A(t5._as(new A.StreamQueue(new A._ControllerStream(t3, A._instanceType(t3)._eval$1("_ControllerStream<1>")), new A.QueueList(t1, 0, 0, type$.QueueList_Result_DebugEvent), t2, t5)));
+              t3 = $.Zone__current;
+              t4 = Math.max(100, 1);
+              t5 = A.StreamController_StreamController(null, null, false, type$.DebugEvent);
+              t6 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent);
+              debugEventController = new A.BatchedStreamController(t4, 1000, t5, t6, new A._AsyncCompleter(new A._Future(t3, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent);
+              t3 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent);
+              t4 = A.ListQueue$(type$._EventRequest_dynamic);
+              t7 = type$.StreamQueue_DebugEvent;
+              debugEventController.set$__BatchedStreamController__inputQueue_A(t7._as(new A.StreamQueue(new A._ControllerStream(t5, A._instanceType(t5)._eval$1("_ControllerStream<1>")), new A.QueueList(t3, 0, 0, type$.QueueList_Result_DebugEvent), t4, t7)));
               A.safeUnawaited(debugEventController._batchAndSendEvents$0());
-              new A._ControllerStream(t4, A._instanceType(t4)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client));
+              new A._ControllerStream(t6, A._instanceType(t6)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client));
               self.$emitDebugEvent = A.allowInterop(new A.main__closure1(debugEventController), type$.void_Function_String_String);
               self.$emitRegisterEvent = A.allowInterop(new A.main__closure2(client), type$.void_Function_String);
               self.$launchDevTools = A.allowInterop(new A.main__closure3(client), type$.void_Function);
               client.get$stream(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5());
-              if (A.boolConversionCheck(self.$dwdsEnableDevToolsLaunch)) {
-                t1 = window;
-                t1.toString;
-                A._EventStreamSubscription$(t1, "keydown", type$.nullable_void_Function_KeyboardEvent._as(new A.main__closure6()), false, type$.KeyboardEvent);
-              }
-              t1 = window.navigator.vendor;
-              t1.toString;
-              if (B.JSString_methods.contains$1(t1, "Google")) {
+              if (A.boolConversionCheck(self.$dwdsEnableDevToolsLaunch))
+                A._EventStreamSubscription$(t2._as(t1.window), "keydown", type$.nullable_void_Function_JavaScriptObject._as(new A.main__closure6()), false, t2);
+              if (A._isChromium()) {
                 t1 = client.get$sink();
                 t2 = $.$get$serializers();
                 t3 = new A.ConnectRequestBuilder();
@@ -25489,13 +24144,13 @@
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 66
+    $signature: 92
   };
   A.main__closure.prototype = {
     call$1(runId) {
       return A.toPromise(this.manager.hotRestart$1$runId(A._asString(runId)), type$.bool);
     },
-    $signature: 67
+    $signature: 62
   };
   A.main__closure0.prototype = {
     call$1(events) {
@@ -25509,7 +24164,7 @@
         A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._debug_event$_build$0()), null), type$.dynamic);
       }
     },
-    $signature: 68
+    $signature: 63
   };
   A.main___closure2.prototype = {
     call$1(b) {
@@ -25518,7 +24173,7 @@
       b.get$_debug_event$_$this().set$_events(t1);
       return t1;
     },
-    $signature: 69
+    $signature: 64
   };
   A.main__closure1.prototype = {
     call$2(kind, eventData) {
@@ -25532,7 +24187,7 @@
         A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent);
       }
     },
-    $signature: 15
+    $signature: 27
   };
   A.main___closure1.prototype = {
     call$1(b) {
@@ -25542,7 +24197,7 @@
       b.get$_debug_event$_$this()._eventData = this.eventData;
       return b;
     },
-    $signature: 70
+    $signature: 65
   };
   A.main__closure2.prototype = {
     call$1(eventData) {
@@ -25554,7 +24209,7 @@
       type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3);
       A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic);
     },
-    $signature: 33
+    $signature: 14
   };
   A.main___closure0.prototype = {
     call$1(b) {
@@ -25563,17 +24218,13 @@
       b.get$_register_event$_$this()._register_event$_eventData = this.eventData;
       return b;
     },
-    $signature: 72
+    $signature: 67
   };
   A.main__closure3.prototype = {
     call$0() {
-      var t2, t3,
-        t1 = window.navigator.vendor;
-      t1.toString;
-      if (!B.JSString_methods.contains$1(t1, "Google")) {
-        t1 = window;
-        t1.toString;
-        B.Window_methods.alert$1(t1, "Dart DevTools is only supported on Chromium based browsers.");
+      var t1, t2, t3;
+      if (!A._isChromium()) {
+        type$.JavaScriptObject._as(self.window).alert("Dart DevTools is only supported on Chromium based browsers.");
         return;
       }
       t1 = this.client.get$sink();
@@ -25592,7 +24243,7 @@
       b.get$_devtools_request$_$this()._devtools_request$_instanceId = t1;
       return b;
     },
-    $signature: 73
+    $signature: 68
   };
   A.main__closure4.prototype = {
     call$1(serialized) {
@@ -25601,7 +24252,7 @@
     $call$body$main__closure(serialized) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.void),
-        $async$self = this, $alert, t1, win, t2, t3, $event;
+        $async$self = this, t1, $alert, t2, $event;
       var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -25618,7 +24269,8 @@
               break;
             case 5:
               // then
-              type$.Location._as(window.location).reload();
+              t1 = type$.JavaScriptObject;
+              t1._as(t1._as(self.window).location).reload();
               // goto join
               $async$goto = 6;
               break;
@@ -25651,32 +24303,17 @@
               if ($event instanceof A._$DevToolsResponse) {
                 if (!$event.success) {
                   $alert = "DevTools failed to open with:\n" + A.S($event.error);
-                  if ($event.promptExtension) {
-                    t1 = window;
-                    t1.toString;
-                    t1 = B.Window_methods.confirm$1(t1, $alert);
-                  } else
-                    t1 = false;
-                  if (t1) {
-                    win = window.open("https://goo.gle/dart-debug-extension", "_blank");
-                    A._DOMWindowCrossFrame__createSafe(win);
-                  } else {
-                    t1 = window;
-                    t1.toString;
-                    B.Window_methods.alert$1(t1, $alert);
-                  }
+                  t1 = $event.promptExtension && A._asBool(type$.JavaScriptObject._as(self.window).confirm($alert));
+                  t2 = type$.JavaScriptObject;
+                  if (t1)
+                    type$.nullable_JavaScriptObject._as(t2._as(self.window).open("https://goo.gle/dart-debug-extension", "_blank"));
+                  else
+                    t2._as(self.window).alert($alert);
                 }
               } else if ($event instanceof A._$RunRequest)
                 A.runMain();
-              else if ($event instanceof A._$ErrorResponse) {
-                window.toString;
-                t1 = $event.error;
-                t2 = $event.stackTrace;
-                t3 = typeof console != "undefined";
-                t3.toString;
-                if (t3)
-                  window.console.error("Error from backend:\n\nError: " + t1 + "\n\nStack Trace:\n" + t2);
-              }
+              else if ($event instanceof A._$ErrorResponse)
+                type$.JavaScriptObject._as(self.window).reportError("Error from backend:\n\nError: " + $event.error + "\n\nStack Trace:\n" + $event.stackTrace);
             case 3:
               // join
               // implicit return
@@ -25685,41 +24322,21 @@
       });
       return A._asyncStartSync($async$call$1, $async$completer);
     },
-    $signature: 74
+    $signature: 69
   };
   A.main__closure5.prototype = {
     call$1(error) {
     },
-    $signature: 7
+    $signature: 8
   };
   A.main__closure6.prototype = {
     call$1(e) {
-      var t1;
-      if (type$.KeyboardEvent._is(e))
-        if (B.JSArray_methods.contains$1(B.List_er0, e.key)) {
-          t1 = e.altKey;
-          t1.toString;
-          if (t1) {
-            t1 = e.ctrlKey;
-            t1.toString;
-            if (!t1) {
-              t1 = e.metaKey;
-              t1.toString;
-              t1 = !t1;
-            } else
-              t1 = false;
-          } else
-            t1 = false;
-        } else
-          t1 = false;
-      else
-        t1 = false;
-      if (t1) {
+      if (B.JSArray_methods.contains$1(B.List_er0, A._asString(e.key)) && A._asBool(e.altKey) && !A._asBool(e.ctrlKey) && !A._asBool(e.metaKey)) {
         e.preventDefault();
         self.$launchDevTools.call$0();
       }
     },
-    $signature: 4
+    $signature: 1
   };
   A.main__closure7.prototype = {
     call$1(b) {
@@ -25731,7 +24348,7 @@
       b.get$_connect_request$_$this()._entrypointPath = t1;
       return b;
     },
-    $signature: 75
+    $signature: 70
   };
   A.main_closure0.prototype = {
     call$2(error, stackTrace) {
@@ -25739,96 +24356,42 @@
       type$.StackTrace._as(stackTrace);
       A.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" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n");
     },
-    $signature: 11
+    $signature: 9
   };
   A._launchCommunicationWithDebugExtension_closure.prototype = {
     call$1(b) {
-      var t2,
+      var t2, t3,
         t1 = A._asStringQ(self.$dartEntrypointPath);
       b.get$_$this()._appEntrypointPath = t1;
-      t1 = window;
-      t1.toString;
-      t1 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartAppId"));
-      b.get$_$this()._debug_info$_appId = t1;
-      t1 = A._asStringQ(self.$dartAppInstanceId);
-      b.get$_$this()._appInstanceId = t1;
-      t1 = type$.Location;
-      t2 = B.Location_methods.get$origin(t1._as(window.location));
-      b.get$_$this()._appOrigin = t2;
-      t1 = t1._as(window.location).href;
-      t1.toString;
-      b.get$_$this()._appUrl = t1;
-      t1 = A._authUrl();
-      b.get$_$this()._authUrl = t1;
-      t1 = window;
-      t1.toString;
-      t1 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartExtensionUri"));
-      b.get$_$this()._extensionUrl = t1;
-      t1 = window;
-      t1.toString;
-      t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$isInternalBuild"));
-      b.get$_$this()._isInternalBuild = t1;
-      t1 = window;
-      t1.toString;
-      t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$isFlutterApp"));
+      t1 = self;
+      t2 = type$.JavaScriptObject;
+      t3 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$dartAppId"));
+      b.get$_$this()._debug_info$_appId = t3;
+      t3 = A._asStringQ(self.$dartAppInstanceId);
+      b.get$_$this()._appInstanceId = t3;
+      t3 = A._asString(t2._as(t2._as(t1.window).location).origin);
+      b.get$_$this()._appOrigin = t3;
+      t3 = A._asString(t2._as(t2._as(t1.window).location).href);
+      b.get$_$this()._appUrl = t3;
+      t3 = A._authUrl();
+      b.get$_$this()._authUrl = t3;
+      t3 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$dartExtensionUri"));
+      b.get$_$this()._extensionUrl = t3;
+      t3 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$isInternalBuild"));
+      b.get$_$this()._isInternalBuild = t3;
+      t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$isFlutterApp"));
       b.get$_$this()._isFlutterApp = t1;
       t1 = A._asStringQ(self.$dartWorkspaceName);
       b.get$_$this()._workspaceName = t1;
       return b;
     },
-    $signature: 76
+    $signature: 71
   };
-  A._listenForDebugExtensionAuthRequest_closure.prototype = {
-    call$1($event) {
-      return this.$call$body$_listenForDebugExtensionAuthRequest_closure(type$.Event._as($event));
-    },
-    $call$body$_listenForDebugExtensionAuthRequest_closure($event) {
-      var $async$goto = 0,
-        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
-        $async$returnValue, t1, $async$temp1, $async$temp2, $async$temp3, $async$temp4;
-      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
-        if ($async$errorCode === 1)
-          return A._asyncRethrow($async$result, $async$completer);
-        while (true)
-          switch ($async$goto) {
-            case 0:
-              // Function start
-              type$.MessageEvent._as($event);
-              if (typeof new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.data, true) != "string") {
-                // goto return
-                $async$goto = 1;
-                break;
-              }
-              if (A._asString(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.data, true)) !== "dart-auth-request") {
-                // goto return
-                $async$goto = 1;
-                break;
-              }
-              $async$goto = A._authUrl() != null ? 3 : 4;
-              break;
-            case 3:
-              // then
-              t1 = A._authUrl();
-              t1.toString;
-              $async$temp1 = self.window.top.document;
-              $async$temp2 = A;
-              $async$temp3 = "dart-auth-response";
-              $async$temp4 = A;
-              $async$goto = 5;
-              return A._asyncAwait(A._authenticateUser(t1), $async$call$1);
-            case 5:
-              // returning from await.
-              $async$temp1.dispatchEvent($async$temp2.CustomEvent_CustomEvent($async$temp3, $async$temp4.S($async$result)));
-            case 4:
-              // join
-            case 1:
-              // return
-              return A._asyncReturn($async$returnValue, $async$completer);
-          }
-      });
-      return A._asyncStartSync($async$call$1, $async$completer);
+  A._handleAuthRequest_closure.prototype = {
+    call$1(isAuthenticated) {
+      return A._dispatchEvent("dart-auth-response", "" + A._asBool(isAuthenticated));
     },
-    $signature: 77
+    $signature: 72
   };
   A.LegacyRestarter.prototype = {
     restart$1$runId(runId) {
@@ -25851,9 +24414,8 @@
                 dartLibrary.callMethod$2("reload", [A._wrapToDart(A.JsObject__convertDataTree(t1))]);
               }
               t1 = new A._Future($.Zone__current, type$._Future_bool);
-              t2 = window;
-              t2.toString;
-              $async$returnValue = t1.then$1$1(0, new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t2, "message", type$.nullable_void_Function_MessageEvent._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t1, type$._AsyncCompleter_bool))), false, type$.MessageEvent)), type$.bool);
+              t2 = type$.JavaScriptObject;
+              $async$returnValue = t1.then$1$1(0, new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t2._as(self.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t1, type$._AsyncCompleter_bool))), false, t2)), type$.bool);
               // goto return
               $async$goto = 1;
               break;
@@ -25868,8 +24430,8 @@
   };
   A.LegacyRestarter_restart_closure0.prototype = {
     call$1($event) {
-      var t1,
-        message = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true);
+      var t1 = $event.data,
+        message = t1 == null ? null : A.dartify(t1);
       if (type$.Map_dynamic_dynamic._is(message)) {
         t1 = J.getInterceptor$asx(message);
         t1 = J.$eq$(t1.$index(message, "type"), "DDC_STATE_CHANGE") && J.$eq$(t1.$index(message, "state"), "restart_end");
@@ -25878,7 +24440,7 @@
       if (t1)
         this.reloadCompleter.complete$1(0, true);
     },
-    $signature: 35
+    $signature: 1
   };
   A.LegacyRestarter_restart_closure.prototype = {
     call$1(value) {
@@ -25886,7 +24448,7 @@
       this.sub.cancel$0(0);
       return value;
     },
-    $signature: 78
+    $signature: 73
   };
   A.ReloadingManager.prototype = {
     hotRestart$1$runId(runId) {
@@ -25948,7 +24510,7 @@
       var t1 = e == null ? type$.Object._as(e) : e;
       return this.completer.completeError$2(t1, A.StackTrace_current());
     },
-    $signature: 3
+    $signature: 5
   };
   A.RequireLoader.prototype = {};
   A.HotReloadFailedException.prototype = {
@@ -25956,8 +24518,6 @@
       return "HotReloadFailedException: '" + this._s + "'";
     }
   };
-  A.JsError.prototype = {};
-  A.JsMap.prototype = {};
   A.RequireRestarter.prototype = {
     restart$1$runId(runId) {
       var $async$goto = 0,
@@ -25991,7 +24551,7 @@
               // returning from await.
               newDigests = $async$result;
               modulesToLoad = A._setArrayType([], type$.JSArray_String);
-              for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests.__late_helper$_name, t5 = type$.Location; t2.moveNext$0();) {
+              for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests.__late_helper$_name, t5 = type$.JavaScriptObject; t2.moveNext$0();) {
                 t6 = t2.get$current(t2);
                 t7 = $.___lastKnownDigests.__late_helper$_value;
                 if (t7 === $.___lastKnownDigests)
@@ -26003,7 +24563,7 @@
                     A.printString(line);
                   else
                     toZone.call$1(line);
-                  t5._as(window.location).reload();
+                  t5._as(t5._as(self.window).location).reload();
                 } else {
                   t7 = $.___lastKnownDigests.__late_helper$_value;
                   if (t7 === $.___lastKnownDigests)
@@ -26069,7 +24629,7 @@
               return A._asyncAwait(A.HttpRequest_request(J.get$digestsPath$x(self.$requireLoader), "GET", "json", null), $async$_getDigests$0);
             case 3:
               // returning from await.
-              $async$returnValue = $async$temp1.cast$2$0$ax($async$temp2._as($async$temp3._convertNativeToDart_XHR_Response($async$result.response)), t1, t1);
+              $async$returnValue = $async$temp1.cast$2$0$x($async$temp2._as($async$temp3.dartify($async$result.response)), t1, t1);
               // goto return
               $async$goto = 1;
               break;
@@ -26107,7 +24667,6 @@
       var t1;
       A._asString(module);
       t1 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module);
-      t1 = t1 == null ? null : J.cast$1$0$ax(t1, type$.String);
       return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1;
     },
     _moduleTopologicalCompare$2(module1, module2) {
@@ -26165,7 +24724,7 @@
               t1 === $ && A.throwLateFieldNI("_dirtyModules");
               t1.addAll$1(0, modules);
               previousModuleId = null;
-              t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.String, t3 = type$.JSArray_String, t4 = type$.Object, t5 = type$.dynamic_Function;
+              t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.JSArray_String, t3 = type$.Object, t4 = type$.JSObject, t5 = type$.dynamic_Function;
             case 10:
               // for condition
               if (!(t6 = $async$self.__RequireRestarter__dirtyModules_A, t6._root != null)) {
@@ -26179,13 +24738,12 @@
               $async$self.__RequireRestarter__dirtyModules_A.remove$1(0, moduleId);
               t6 = A._asString(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 ? A._setArrayType([], t3) : t6;
+              parentIds = t6 == null ? A._setArrayType([], t2) : t6;
               $async$goto = J.get$isEmpty$asx(parentIds) ? 12 : 14;
               break;
             case 12:
               // then
-              childModule = t4._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId);
+              childModule = t4._as(t3._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId));
               self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t5);
               // goto join
               $async$goto = 13;
@@ -26228,7 +24786,8 @@
               if (t1 instanceof A.HotReloadFailedException) {
                 e = t1;
                 A.print("Error during script reloading. Firing full page reload. " + A.S(e));
-                type$.Location._as(window.location).reload();
+                t1 = type$.JavaScriptObject;
+                t1._as(t1._as(self.window).location).reload();
                 $async$self._running.complete$1(0, false);
               } else
                 throw $async$exception;
@@ -26264,9 +24823,11 @@
       return t1;
     },
     _updateGraph$0() {
-      var i, t2, t3, _i,
+      var stronglyConnectedComponents, i, t2, t3, _i,
         t1 = type$.String,
-        stronglyConnectedComponents = A.stronglyConnectedComponents(A.List_List$from(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), true, t1), this.get$_moduleParents(), t1);
+        allModules = A.JSArrayToIterable_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1);
+      A.print("Modules: " + allModules.toString$0(0));
+      stronglyConnectedComponents = A.stronglyConnectedComponents(allModules, this.get$_moduleParents(), t1);
       t1 = this._moduleOrdering;
       if (t1._collection$_length > 0) {
         t1._collection$_strings = t1._collection$_nums = t1._collection$_rest = t1._keys = null;
@@ -26286,36 +24847,40 @@
   };
   A.RequireRestarter__reload_closure.prototype = {
     call$0() {
-      var t1 = this.childModule;
-      t1 = J.get$first$ax(self.Object.values(t1 == null ? type$.Object._as(t1) : t1));
-      if (t1 == null)
-        t1 = type$.Object._as(t1);
-      t1.main();
+      A.JSArrayToIterable_toDartIterable(self.Object.values(this.childModule), type$.nullable_Object).get$first(0).main();
     },
-    $signature: 5
+    $signature: 4
   };
   A.RequireRestarter__reloadModule_closure.prototype = {
     call$1(e) {
       this.completer.completeError$2(new A.HotReloadFailedException(J.get$message$x(type$.JsError._as(e))), this.stackTrace);
     },
-    $signature: 81
+    $signature: 76
   };
   A._createScript_closure.prototype = {
-    call$0() {
-      var nonce = A._findNonce();
-      if (nonce == null)
-        return A.html_ScriptElement___new_tearOff$closure();
-      return new A._createScript__closure(nonce);
+    call$1(element) {
+      var nonceValue = A._asString(type$.JavaScriptObject._as(element).nonce),
+        t1 = $.$get$_noncePattern();
+      if (t1._nativeRegExp.test(nonceValue))
+        return this._box_0.nonce = nonceValue;
     },
-    $signature: 82
+    $signature: 77
   };
-  A._createScript__closure.prototype = {
+  A.runMain_closure.prototype = {
     call$0() {
-      var t1 = document.createElement("script");
-      t1.setAttribute("nonce", this.nonce);
-      return t1;
+      return this.scriptElement.remove();
     },
-    $signature: 14
+    $signature: 0
+  };
+  A.JsError.prototype = {};
+  A.JsMap.prototype = {};
+  A.JSArrayToIterable_toDartIterable_closure.prototype = {
+    call$1(e) {
+      return this.T._as(A.dartify(e));
+    },
+    $signature() {
+      return this.T._eval$1("0(Object?)");
+    }
   };
   (function aliases() {
     var _ = J.Interceptor.prototype;
@@ -26328,15 +24893,9 @@
     _ = A._HashMap.prototype;
     _.super$_HashMap$_containsKey = _._containsKey$1;
     _.super$_HashMap$_get = _._get$1;
-    _.super$_HashMap$_set = _._set$2;
-    _ = A.Iterable.prototype;
-    _.super$Iterable$where = _.where$1;
+    _.super$_HashMap$_set = _._collection$_set$2;
     _ = A.Object.prototype;
     _.super$Object$toString = _.toString$0;
-    _ = A.Element.prototype;
-    _.super$Element$createFragment = _.createFragment$3$treeSanitizer$validator;
-    _ = A._SimpleNodeValidator.prototype;
-    _.super$_SimpleNodeValidator$allowsAttribute = _.allowsAttribute$3;
     _ = A.JsObject.prototype;
     _.super$JsObject$$index = _.$index;
     _.super$JsObject$$indexSet = _.$indexSet;
@@ -26352,83 +24911,78 @@
       _instance_2_u = hunkHelpers._instance_2u,
       _instance_1_i = hunkHelpers._instance_1i,
       _instance_0_u = hunkHelpers._instance_0u,
-      _instance_1_u = hunkHelpers._instance_1u,
-      _instance_0_i = hunkHelpers._instance_0i;
-    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 28);
+      _instance_1_u = hunkHelpers._instance_1u;
+    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 78);
     _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 10);
     _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 10);
     _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 10);
     _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
-    _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 3);
-    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11);
+    _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 5);
+    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 9);
     _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
-    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 86, 0);
+    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 80, 0);
     _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
       return A._rootRun($self, $parent, zone, f, type$.dynamic);
-    }], 87, 1);
+    }], 81, 1);
     _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
       return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic);
-    }], 88, 1);
+    }], 82, 1);
     _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
       return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 89, 1);
+    }], 83, 1);
     _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
       return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic);
-    }], 90, 0);
+    }], 84, 0);
     _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
       return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic);
-    }], 91, 0);
+    }], 85, 0);
     _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
       return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 92, 0);
-    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 93, 0);
-    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 94, 0);
-    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 95, 0);
-    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 96, 0);
-    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 97, 0);
-    _static_1(A, "async___printToZone$closure", "_printToZone", 33);
-    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 98, 0);
-    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 32, 0, 0);
+    }], 86, 0);
+    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 87, 0);
+    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 88, 0);
+    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 89, 0);
+    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 90, 0);
+    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 91, 0);
+    _static_1(A, "async___printToZone$closure", "_printToZone", 14);
+    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 61, 0);
+    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 17, 0, 0);
     _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() {
       return [null];
-    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 54, 0, 0);
-    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 11);
+    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 52, 0, 0);
+    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 9);
     var _;
-    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 16);
+    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 19);
     _instance(_, "get$addError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 32, 0, 0);
+    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 17, 0, 0);
     _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
-    _instance_1_u(_, "get$_handleData", "_handleData$1", 16);
-    _instance_2_u(_, "get$_handleError", "_handleError$2", 17);
+    _instance_1_u(_, "get$_handleData", "_handleData$1", 19);
+    _instance_2_u(_, "get$_handleError", "_handleError$2", 20);
     _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
     _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 12);
-    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 13);
-    _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 28);
-    _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 1);
-    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 13);
+    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 11);
+    _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 2);
+    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 11);
     _static_2(A, "core__identical$closure", "identical", 12);
-    _static_0(A, "html_ScriptElement___new_tearOff$closure", "ScriptElement___new_tearOff", 14);
-    _static(A, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 30, 0);
-    _static(A, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 30, 0);
-    _instance_0_i(A.Node.prototype, "get$remove", "remove$0", 0);
-    _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 3);
-    _static_1(A, "js___convertToJS$closure", "_convertToJS", 34);
-    _static_1(A, "js___convertToDart$closure", "_convertToDart", 2);
+    _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 5);
+    _static_1(A, "js___convertToJS$closure", "_convertToJS", 13);
+    _static_1(A, "js___convertToDart$closure", "_convertToDart", 3);
     _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 12);
-    _instance_1_i(_, "get$hash", "hash$1", 13);
-    _instance_1_u(_, "get$isValidKey", "isValidKey$1", 55);
-    _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 4);
-    _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 4);
+    _instance_1_i(_, "get$hash", "hash$1", 11);
+    _instance_1_u(_, "get$isValidKey", "isValidKey$1", 49);
+    _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 1);
+    _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 1);
     _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0);
-    _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 61);
-    _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 79);
-    _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 80);
+    _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 56);
+    _static_1(A, "client___handleAuthRequest$closure", "_handleAuthRequest", 1);
+    _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 74);
+    _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 75);
   })();
   (function inheritance() {
     var _mixin = hunkHelpers.mixin,
@@ -26436,27 +24990,24 @@
       _inherit = hunkHelpers.inherit,
       _inheritMany = hunkHelpers.inheritMany;
     _inherit(A.Object, null);
-    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A._Html5NodeValidator, A.ImmutableListMixin, A.NodeValidatorBuilder, A._SimpleNodeValidator, A._SvgNodeValidator, A.FixedSizeListIterator, A._DOMWindowCrossFrame, A._SameOriginUriPolicy, A._ValidatingTreeSanitizer, A._StructuredClone, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
+    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.MapBase, A.Closure, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription0, A.ImmutableListMixin, A.FixedSizeListIterator, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.EventStreamProvider0, A._EventStreamSubscription, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
     _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]);
-    _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A.DomImplementation, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SharedArrayBuffer, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.KeyRange, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]);
-    _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A._FetchOptions, A.Promise, A.RequireLoader, A.JsError, A.JsMap]);
+    _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.KeyRange, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]);
+    _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A.Promise, A.RequireLoader, A.JsError, A.JsMap]);
     _inherit(J.JSUnmodifiableArray, J.JSArray);
     _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]);
-    _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.SkipIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]);
-    _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]);
+    _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]);
+    _inherit(A.CastIterable, A._CastIterableBase);
     _inherit(A._EfficientLengthCastIterable, A.CastIterable);
-    _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin);
-    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertDartToNative_Value_closure, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4__generateBits, A._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]);
-    _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._ValidatingTreeSanitizer_sanitizeTree_walk, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.convertDartToNative_Dictionary_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4__printDigits, A.generateUuidV4__bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]);
-    _inherit(A.CastList, A._CastListBase);
-    _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap, A._AttributeMap]);
+    _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]);
+    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A._createScript_closure, A.JSArrayToIterable_toDartIterable_closure]);
+    _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]);
     _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]);
-    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A._createScript_closure, A._createScript__closure]);
+    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.runMain_closure]);
     _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable]);
     _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable]);
     _inherit(A.EfficientLengthMappedIterable, A.MappedIterable);
-    _inherit(A.EfficientLengthSkipIterable, A.SkipIterable);
-    _inheritMany(A.ListBase, [A.UnmodifiableListBase, A._FrozenElementList, A._ChildNodeListLazy]);
+    _inherit(A.UnmodifiableListBase, A.ListBase);
     _inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView);
     _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin);
     _inherit(A.ConstantMapView, A.UnmodifiableMapView);
@@ -26472,10 +25023,10 @@
     _inherit(A.NativeTypedArrayOfInt, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin);
     _inheritMany(A.NativeTypedArrayOfDouble, [A.NativeFloat32List, A.NativeFloat64List]);
     _inheritMany(A.NativeTypedArrayOfInt, [A.NativeInt16List, A.NativeInt32List, A.NativeInt8List, A.NativeUint16List, A.NativeUint32List, A.NativeUint8ClampedList, A.NativeUint8List]);
-    _inheritMany(A._Error, [A._TypeError, A._InconsistentSubtypingError]);
+    _inherit(A._TypeError, A._Error);
     _inheritMany(A._Completer, [A._AsyncCompleter, A._SyncCompleter]);
     _inheritMany(A._StreamController, [A._AsyncStreamController, A._SyncStreamController]);
-    _inheritMany(A.Stream, [A._StreamImpl, A._ForwardingStream, A._EventStream]);
+    _inheritMany(A.Stream, [A._StreamImpl, A._ForwardingStream, A._EventStream0, A._EventStream]);
     _inherit(A._ControllerStream, A._StreamImpl);
     _inheritMany(A._BufferingStreamSubscription, [A._ControllerSubscription, A._ForwardingStreamSubscription]);
     _inheritMany(A._DelayedEvent, [A._DelayedData, A._DelayedError]);
@@ -26497,11 +25048,11 @@
     _inherit(A.Utf8Codec, A.Encoding);
     _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]);
     _inherit(A._DataUri, A._Uri);
-    _inheritMany(A.EventTarget, [A.Node, A.EventSource, A.FileWriter, A.HttpRequestEventTarget, A.MessagePort, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.WebSocket, A.Window, A.WorkerGlobalScope, A.AudioTrackList, A.BaseAudioContext]);
-    _inheritMany(A.Node, [A.Element, A.CharacterData, A.Document, A._Attr]);
-    _inheritMany(A.Element, [A.HtmlElement, A.SvgElement]);
-    _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.BaseElement, A.BodyElement, A.FormElement, A.ScriptElement, A.SelectElement, A.TableElement, A.TableRowElement, A.TableSectionElement, A.TemplateElement]);
-    _inheritMany(A.Event, [A.CloseEvent, A.CustomEvent, A.UIEvent, A.MessageEvent, A.ProgressEvent]);
+    _inheritMany(A.EventTarget, [A.Node, A.FileWriter, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.WebSocket, A.Window, A.WorkerGlobalScope, A.AudioTrackList, A.BaseAudioContext]);
+    _inheritMany(A.Node, [A.Element, A.CharacterData]);
+    _inherit(A.HtmlElement, A.Element);
+    _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.FormElement, A.SelectElement]);
+    _inheritMany(A.Event, [A.CloseEvent, A.MessageEvent]);
     _inherit(A.CssPerspective, A.CssTransformComponent);
     _inherit(A.CssStyleDeclaration, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase);
     _inheritMany(A.CssStyleValue, [A.CssTransformValue, A.CssUnparsedValue]);
@@ -26514,9 +25065,6 @@
     _inherit(A.FileList, A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin);
     _inherit(A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin, A._HtmlCollection_JavaScriptObject_ListMixin);
     _inherit(A.HtmlCollection, A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.HtmlDocument, A.Document);
-    _inherit(A.HttpRequest, A.HttpRequestEventTarget);
-    _inherit(A.KeyboardEvent, A.UIEvent);
     _inherit(A.MidiInputMap, A._MidiInputMap_JavaScriptObject_MapMixin);
     _inherit(A.MidiOutputMap, A._MidiOutputMap_JavaScriptObject_MapMixin);
     _inherit(A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin, A._MimeTypeArray_JavaScriptObject_ListMixin);
@@ -26548,9 +25096,6 @@
     _inherit(A._SpeechRecognitionResultList, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin);
     _inherit(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin);
     _inherit(A._StyleSheetList, A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A._ElementAttributeMap, A._AttributeMap);
-    _inherit(A._TemplatingNodeValidator, A._SimpleNodeValidator);
-    _inherit(A._StructuredCloneDart2Js, A._StructuredClone);
     _inherit(A._AcceptStructuredCloneDart2Js, A._AcceptStructuredClone);
     _inheritMany(A.JsObject, [A.JsFunction, A._JsArray_JsObject_ListMixin]);
     _inherit(A.JsArray, A._JsArray_JsObject_ListMixin);
@@ -26558,7 +25103,6 @@
     _inherit(A.LengthList, A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin);
     _inherit(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NumberList_JavaScriptObject_ListMixin);
     _inherit(A.NumberList, A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin);
-    _inherit(A.ScriptElement0, A.SvgElement);
     _inherit(A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin, A._StringList_JavaScriptObject_ListMixin);
     _inherit(A.StringList, A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin);
     _inherit(A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TransformList_JavaScriptObject_ListMixin);
@@ -26573,7 +25117,6 @@
     _inheritMany(A.JsonObject, [A.BoolJsonObject, A.ListJsonObject, A.MapJsonObject, A.NumJsonObject, A.StringJsonObject]);
     _inherit(A.SetEquality, A._UnorderedEquality);
     _inherit(A.QueueList, A._QueueList_Object_ListMixin);
-    _inherit(A._CastQueueList, A.QueueList);
     _inherit(A.BuildStatus, A.EnumClass);
     _inherit(A._$BuildResult, A.BuildResult);
     _inherit(A._$ConnectRequest, A.ConnectRequest);
@@ -26595,7 +25138,6 @@
     _inheritMany(A.StreamChannelMixin, [A.SseClient, A.GuaranteeChannel, A.HtmlWebSocketChannel, A.WebSocketChannel]);
     _inherit(A._HtmlWebSocketSink, A.DelegatingStreamSink);
     _mixin(A.UnmodifiableListBase, A.UnmodifiableListMixin);
-    _mixin(A.__CastListBase__CastIterableBase_ListMixin, A.ListBase);
     _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A.ListBase);
     _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin);
     _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, A.ListBase);
@@ -26658,15 +25200,15 @@
   })();
   var init = {
     typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
-    mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"},
+    mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"},
     mangledNames: {},
-    types: ["~()", "@(@)", "Object?(@)", "~(@)", "~(Event)", "Null()", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "~(@,@)", "~(~())", "~(Object,StackTrace)", "bool(Object?,Object?)", "int(Object?)", "ScriptElement()", "~(String,String)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "String(String)", "~(Uint8List,String,int)", "Future<Null>()", "bool(NodeValidator)", "bool(String)", "int(@,@)", "String(int,int)", "bool(Element,String,String,_Html5NodeValidator)", "bool()", "~(Object[StackTrace?])", "~(String)", "Object?(Object?)", "~(MessageEvent)", "Null(Event)", "~(Node,Node?)", "Null(@,@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "_Future<@>(@)", "SetMultimapBuilder<Object,Object>()", "~(int,@)", "Null(@,StackTrace)", "~(ProgressEvent)", "~([Object?])", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "bool(Node)", "String(@)", "Logger()", "~(String?)", "Uint8List(@,@)", "~(String,int?)", "~(String,int)", "Null(~())", "Future<~>()", "Promise<1&>(String)", "~(List<DebugEvent>)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "Future<Null>(Event)", "bool(bool)", "List<String>(String)", "int(String,String)", "~(JsError)", "ScriptElement()()", "Null(CloseEvent)", "@(@,String)", "@(String)", "~(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)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "SetBuilder<Object>()"],
+    types: ["~()", "~(JavaScriptObject)", "@(@)", "Object?(@)", "Null()", "~(@)", "Null(Object,StackTrace)", "~(String,@)", "Null(@)", "~(Object,StackTrace)", "~(~())", "int(Object?)", "bool(Object?,Object?)", "Object?(Object?)", "~(String)", "Null(Event)", "String(int,int)", "~(Object[StackTrace?])", "bool()", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "~(String,String)", "~(Event)", "Future<Null>()", "~(Uint8List,String,int)", "Uint8List(@,@)", "String(String)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "~(String,int?)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "SetMultimapBuilder<Object,Object>()", "~(String,int)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "_Future<@>(@)", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "~([Object?])", "String(@)", "Logger()", "Null(~())", "~(String?)", "~(int,@)", "Null(@,StackTrace)", "~(MessageEvent)", "Null(CloseEvent)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "Promise<1&>(String)", "~(List<DebugEvent>)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "@(String)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List<String>(String)", "int(String,String)", "~(JsError)", "String?(JavaScriptObject)", "int(@,@)", "@(@,String)", "~(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)", "Future<~>()"],
     interceptorsByTag: null,
     leafTags: null,
     arrayRti: Symbol("$ti")
   };
-  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","_FetchOptions":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"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","MathMLElement":"Element","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[],"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_InconsistentSubtypingError":{"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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JSObject":[]},"CssRule":{"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JSObject":[]},"Event":{"JSObject":[]},"File":{"Blob":[],"JSObject":[]},"Gamepad":{"JSObject":[]},"HttpRequest":{"EventTarget":[],"JSObject":[]},"KeyboardEvent":{"Event":[],"JSObject":[]},"MessageEvent":{"Event":[],"JSObject":[]},"MimeType":{"JSObject":[]},"Node":{"EventTarget":[],"JSObject":[]},"Plugin":{"JSObject":[]},"ProgressEvent":{"Event":[],"JSObject":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JSObject":[]},"SpeechGrammar":{"JSObject":[]},"SpeechRecognitionResult":{"JSObject":[]},"StyleSheet":{"JSObject":[]},"TextTrack":{"EventTarget":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JSObject":[]},"Touch":{"JSObject":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AccessibleNodeList":{"JSObject":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"Blob":{"JSObject":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JSObject":[]},"CssPerspective":{"JSObject":[]},"CssStyleDeclaration":{"JSObject":[]},"CssStyleValue":{"JSObject":[]},"CssTransformComponent":{"JSObject":[]},"CssTransformValue":{"JSObject":[]},"CssUnparsedValue":{"JSObject":[]},"CustomEvent":{"Event":[],"JSObject":[]},"DataTransferItemList":{"JSObject":[]},"Document":{"Node":[],"EventTarget":[],"JSObject":[]},"DomException":{"JSObject":[]},"DomImplementation":{"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JSObject":[]},"_FrozenElementList":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"EventSource":{"EventTarget":[],"JSObject":[]},"EventTarget":{"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JSObject":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"History":{"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[],"JSObject":[]},"HttpRequestEventTarget":{"EventTarget":[],"JSObject":[]},"ImageData":{"JSObject":[]},"Location":{"JSObject":[]},"MediaList":{"JSObject":[]},"MessagePort":{"EventTarget":[],"JSObject":[]},"MidiInputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"_ChildNodeListLazy":{"ListBase":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListBase.E":"Node","Iterable.E":"Node"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SharedArrayBuffer":{"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JSObject":[]},"UIEvent":{"Event":[],"JSObject":[]},"Url":{"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JSObject":[]},"Window":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JSObject":[]},"_Attr":{"Node":[],"EventTarget":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_AttributeMap":{"MapBase":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapBase":["String","String"],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"KeyRange":{"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JSObject":[]},"Number":{"JSObject":[]},"Transform":{"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JSObject":[]},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JSObject":[]},"AudioParamMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":["@"]},"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":[]}}'));
-  A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_DelayedEvent":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
+  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"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":[]}}'));
+  A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
   var string$ = {
     ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
     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",
@@ -26678,13 +25220,11 @@
     return {
       AsyncError: findType("AsyncError"),
       Base64Codec: findType("Base64Codec"),
-      BaseElement: findType("BaseElement"),
       BatchedDebugEvents: findType("BatchedDebugEvents"),
       BatchedEvents: findType("BatchedEvents"),
       BatchedStreamController_DebugEvent: findType("BatchedStreamController<DebugEvent>"),
       BigInt: findType("BigInt"),
       Blob: findType("Blob"),
-      BodyElement: findType("BodyElement"),
       BuildResult: findType("BuildResult"),
       BuildStatus: findType("BuildStatus"),
       BuiltListMultimap_dynamic_dynamic: findType("BuiltListMultimap<@,@>"),
@@ -26702,16 +25242,13 @@
       ConnectRequest: findType("ConnectRequest"),
       ConstantMapView_Symbol_dynamic: findType("ConstantMapView<Symbol0,@>"),
       CssRule: findType("CssRule"),
-      CustomEvent: findType("CustomEvent"),
       DateTime: findType("DateTime"),
       DebugEvent: findType("DebugEvent"),
       DebugInfo: findType("DebugInfo"),
       DevToolsRequest: findType("DevToolsRequest"),
       DevToolsResponse: findType("DevToolsResponse"),
-      Document: findType("Document"),
       Duration: findType("Duration"),
       EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"),
-      Element: findType("Element"),
       Error: findType("Error"),
       ErrorResponse: findType("ErrorResponse"),
       Event: findType("Event"),
@@ -26719,23 +25256,20 @@
       ExtensionRequest: findType("ExtensionRequest"),
       ExtensionResponse: findType("ExtensionResponse"),
       File: findType("File"),
-      FileList: findType("FileList"),
       FullType: findType("FullType"),
       Function: findType("Function"),
       Future_dynamic: findType("Future<@>"),
       Future_void: findType("Future<~>"),
-      HtmlElement: findType("HtmlElement"),
       ImageData: findType("ImageData"),
+      Int32: findType("Int32"),
       Int64: findType("Int64"),
       Invocation: findType("Invocation"),
       IsolateExit: findType("IsolateExit"),
       IsolateStart: findType("IsolateStart"),
       IterableEquality_dynamic: findType("IterableEquality<@>"),
-      Iterable_Node: findType("Iterable<Node>"),
       Iterable_dynamic: findType("Iterable<@>"),
       Iterable_nullable_Object: findType("Iterable<Object?>"),
       JSArray_FullType: findType("JSArray<FullType>"),
-      JSArray_NodeValidator: findType("JSArray<NodeValidator>"),
       JSArray_Object: findType("JSArray<Object>"),
       JSArray_String: findType("JSArray<String>"),
       JSArray_Type: findType("JSArray<Type>"),
@@ -26745,6 +25279,7 @@
       JSObject: findType("JSObject"),
       JavaScriptFunction: findType("JavaScriptFunction"),
       JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
+      JavaScriptObject: findType("JavaScriptObject"),
       JsArray_dynamic: findType("JsArray<@>"),
       JsError: findType("JsError"),
       JsLinkedHashMap_String_dynamic: findType("JsLinkedHashMap<String,@>"),
@@ -26752,7 +25287,6 @@
       JsObject: findType("JsObject"),
       JsonObject: findType("JsonObject"),
       KeyRange: findType("KeyRange"),
-      KeyboardEvent: findType("KeyboardEvent"),
       Length: findType("Length"),
       Level: findType("Level"),
       ListBuilder_DebugEvent: findType("ListBuilder<DebugEvent>"),
@@ -26766,29 +25300,22 @@
       List_dynamic: findType("List<@>"),
       List_int: findType("List<int>"),
       List_nullable_Object: findType("List<Object?>"),
-      Location: findType("Location"),
       Logger: findType("Logger"),
       MapBuilder_dynamic_dynamic: findType("MapBuilder<@,@>"),
       MapEquality_dynamic_dynamic: findType("MapEquality<@,@>"),
       Map_String_String: findType("Map<String,String>"),
       Map_dynamic_dynamic: findType("Map<@,@>"),
       Map_of_String_and_nullable_Object: findType("Map<String,Object?>"),
-      MappedListIterable_String_String: findType("MappedListIterable<String,String>"),
       MessageEvent: findType("MessageEvent"),
-      MessagePort: findType("MessagePort"),
       MimeType: findType("MimeType"),
-      NativeByteBuffer: findType("NativeByteBuffer"),
-      NativeTypedData: findType("NativeTypedData"),
       NativeUint8List: findType("NativeUint8List"),
       Node: findType("Node"),
-      NodeValidator: findType("NodeValidator"),
       Null: findType("Null"),
       Number: findType("Number"),
       Object: findType("Object"),
       Plugin: findType("Plugin"),
       PoolResource: findType("PoolResource"),
       PrimitiveSerializer_dynamic: findType("PrimitiveSerializer<@>"),
-      ProgressEvent: findType("ProgressEvent"),
       Promise_bool_Function_String: findType("Promise<1&>(String)"),
       Promise_void: findType("Promise<1&>"),
       QueueList_Result_DebugEvent: findType("QueueList<Result<DebugEvent>>"),
@@ -26800,14 +25327,12 @@
       RequireRestarter: findType("RequireRestarter"),
       ReversedListIterable_String: findType("ReversedListIterable<String>"),
       RunRequest: findType("RunRequest"),
-      ScriptElement: findType("ScriptElement0"),
       SerializerPlugin: findType("SerializerPlugin"),
       Serializer_dynamic: findType("Serializer<@>"),
       SetBuilder_dynamic: findType("SetBuilder<@>"),
       SetEquality_dynamic: findType("SetEquality<@>"),
       SetMultimapBuilder_dynamic_dynamic: findType("SetMultimapBuilder<@,@>"),
       Set_dynamic: findType("Set<@>"),
-      SharedArrayBuffer: findType("SharedArrayBuffer"),
       SourceBuffer: findType("SourceBuffer"),
       SpeechGrammar: findType("SpeechGrammar"),
       SpeechRecognitionResult: findType("SpeechRecognitionResult"),
@@ -26816,12 +25341,9 @@
       StreamChannelController_dynamic: findType("StreamChannelController<@>"),
       StreamQueue_DebugEvent: findType("StreamQueue<DebugEvent>"),
       String: findType("String"),
-      String_Function_String: findType("String(String)"),
       StructuredSerializer_dynamic: findType("StructuredSerializer<@>"),
       StyleSheet: findType("StyleSheet"),
-      SvgElement: findType("SvgElement"),
       Symbol: findType("Symbol0"),
-      TemplateElement: findType("TemplateElement"),
       TextTrack: findType("TextTrack"),
       TextTrackCue: findType("TextTrackCue"),
       Timer: findType("Timer"),
@@ -26837,30 +25359,27 @@
       UnmodifiableMapView_of_String_and_nullable_Object: findType("UnmodifiableMapView<String,Object?>"),
       Uri: findType("Uri"),
       Window: findType("Window"),
-      WindowBase: findType("WindowBase"),
       WorkerGlobalScope: findType("WorkerGlobalScope"),
       Zone: findType("Zone"),
-      _AsyncCompleter_HttpRequest: findType("_AsyncCompleter<HttpRequest>"),
+      _AsyncCompleter_JavaScriptObject: findType("_AsyncCompleter<JavaScriptObject>"),
       _AsyncCompleter_PoolResource: findType("_AsyncCompleter<PoolResource>"),
       _AsyncCompleter_bool: findType("_AsyncCompleter<bool>"),
       _AsyncCompleter_dynamic: findType("_AsyncCompleter<@>"),
       _AsyncCompleter_void: findType("_AsyncCompleter<~>"),
-      _Attr: findType("_Attr"),
       _BigIntImpl: findType("_BigIntImpl"),
       _BuiltMap_dynamic_dynamic: findType("_BuiltMap<@,@>"),
-      _ChildNodeListLazy: findType("_ChildNodeListLazy"),
       _EventRequest_dynamic: findType("_EventRequest<@>"),
-      _EventStream_CloseEvent: findType("_EventStream<CloseEvent>"),
-      _EventStream_Event: findType("_EventStream<Event>"),
-      _FrozenElementList_Element: findType("_FrozenElementList<Element>"),
-      _Future_HttpRequest: findType("_Future<HttpRequest>"),
+      _EventStream_CloseEvent: findType("_EventStream0<CloseEvent>"),
+      _EventStream_Event: findType("_EventStream0<Event>"),
+      _EventStream_JavaScriptObject: findType("_EventStream<JavaScriptObject>"),
+      _Future_JavaScriptObject: findType("_Future<JavaScriptObject>"),
       _Future_PoolResource: findType("_Future<PoolResource>"),
       _Future_bool: findType("_Future<bool>"),
       _Future_dynamic: findType("_Future<@>"),
       _Future_int: findType("_Future<int>"),
       _Future_void: findType("_Future<~>"),
-      _Html5NodeValidator: findType("_Html5NodeValidator"),
       _IdentityHashMap_dynamic_dynamic: findType("_IdentityHashMap<@,@>"),
+      _IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap<Object?,Object?>"),
       _MapEntry: findType("_MapEntry"),
       _StreamControllerAddStreamState_nullable_Object: findType("_StreamControllerAddStreamState<Object?>"),
       _SyncCompleter_PoolResource: findType("_SyncCompleter<PoolResource>"),
@@ -26870,7 +25389,6 @@
       double: findType("double"),
       dynamic: findType("@"),
       dynamic_Function: findType("@()"),
-      dynamic_Function_Event: findType("@(Event)"),
       dynamic_Function_Object: findType("@(Object)"),
       dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"),
       dynamic_Function_dynamic: findType("@(@)"),
@@ -26880,6 +25398,7 @@
       legacy_Object: findType("Object*"),
       nullable_Future_Null: findType("Future<Null>?"),
       nullable_Gamepad: findType("Gamepad?"),
+      nullable_JavaScriptObject: findType("JavaScriptObject?"),
       nullable_ListBuilder_DebugEvent: findType("ListBuilder<DebugEvent>?"),
       nullable_ListBuilder_ExtensionEvent: findType("ListBuilder<ExtensionEvent>?"),
       nullable_List_dynamic: findType("List<@>?"),
@@ -26894,17 +25413,14 @@
       nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"),
       nullable__LinkedHashSetCell: findType("_LinkedHashSetCell?"),
       nullable_dynamic_Function_Event: findType("@(Event)?"),
-      nullable_int_Function_Node_Node: findType("int(Node,Node)?"),
       nullable_void_Function: findType("~()?"),
       nullable_void_Function_BatchedDebugEventsBuilder: findType("~(BatchedDebugEventsBuilder)?"),
       nullable_void_Function_ConnectRequestBuilder: findType("~(ConnectRequestBuilder)?"),
       nullable_void_Function_DebugEventBuilder: findType("~(DebugEventBuilder)?"),
       nullable_void_Function_DebugInfoBuilder: findType("~(DebugInfoBuilder)?"),
       nullable_void_Function_DevToolsRequestBuilder: findType("~(DevToolsRequestBuilder)?"),
-      nullable_void_Function_Event: findType("~(Event)?"),
-      nullable_void_Function_KeyboardEvent: findType("~(KeyboardEvent)?"),
+      nullable_void_Function_JavaScriptObject: findType("~(JavaScriptObject)?"),
       nullable_void_Function_MessageEvent: findType("~(MessageEvent)?"),
-      nullable_void_Function_ProgressEvent: findType("~(ProgressEvent)?"),
       nullable_void_Function_RegisterEventBuilder: findType("~(RegisterEventBuilder)?"),
       num: findType("num"),
       void: findType("~"),
@@ -26922,12 +25438,6 @@
   })();
   (function constants() {
     var makeConstList = hunkHelpers.makeConstList;
-    B.AnchorElement_methods = A.AnchorElement.prototype;
-    B.BodyElement_methods = A.BodyElement.prototype;
-    B.DomImplementation_methods = A.DomImplementation.prototype;
-    B.EventSource_methods = A.EventSource.prototype;
-    B.HtmlDocument_methods = A.HtmlDocument.prototype;
-    B.HttpRequest_methods = A.HttpRequest.prototype;
     B.Interceptor_methods = J.Interceptor.prototype;
     B.JSArray_methods = J.JSArray.prototype;
     B.JSBool_methods = J.JSBool.prototype;
@@ -26936,14 +25446,10 @@
     B.JSString_methods = J.JSString.prototype;
     B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;
     B.JavaScriptObject_methods = J.JavaScriptObject.prototype;
-    B.Location_methods = A.Location.prototype;
     B.NativeUint8List_methods = A.NativeUint8List.prototype;
-    B.NodeList_methods = A.NodeList.prototype;
     B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
-    B.TableElement_methods = A.TableElement.prototype;
     B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
     B.WebSocket_methods = A.WebSocket.prototype;
-    B.Window_methods = A.Window.prototype;
     B.BuildStatus_failed = new A.BuildStatus("failed");
     B.BuildStatus_started = new A.BuildStatus("started");
     B.BuildStatus_succeeded = new A.BuildStatus("succeeded");
@@ -27093,24 +25599,24 @@
     B.Duration_5000000 = new A.Duration(5000000);
     B.Type_BuiltMap_qd4 = A.typeLiteral("BuiltMap<@,@>");
     B.Type_Object_xQ6 = A.typeLiteral("Object");
-    B.List_empty1 = A._setArrayType(makeConstList([]), type$.JSArray_FullType);
-    B.FullType_1MH = new A.FullType(B.Type_Object_xQ6, B.List_empty1, false);
+    B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_FullType);
+    B.FullType_1MH = new A.FullType(B.Type_Object_xQ6, B.List_empty0, false);
     B.List_4AN = A._setArrayType(makeConstList([B.FullType_1MH, B.FullType_1MH]), type$.JSArray_FullType);
     B.FullType_6Ps = new A.FullType(B.Type_BuiltMap_qd4, B.List_4AN, false);
     B.Type_BuiltList_iTR = A.typeLiteral("BuiltList<@>");
     B.Type_DebugEvent_sSr = A.typeLiteral("DebugEvent");
-    B.FullType_Dx1 = new A.FullType(B.Type_DebugEvent_sSr, B.List_empty1, false);
+    B.FullType_Dx1 = new A.FullType(B.Type_DebugEvent_sSr, B.List_empty0, false);
     B.List_luS = A._setArrayType(makeConstList([B.FullType_Dx1]), type$.JSArray_FullType);
     B.FullType_EGl = new A.FullType(B.Type_BuiltList_iTR, B.List_luS, false);
     B.Type_BuildStatus_ahk = A.typeLiteral("BuildStatus");
-    B.FullType_FuN = new A.FullType(B.Type_BuildStatus_ahk, B.List_empty1, false);
+    B.FullType_FuN = new A.FullType(B.Type_BuildStatus_ahk, B.List_empty0, false);
     B.Type_BuiltSet_fcN = A.typeLiteral("BuiltSet<@>");
     B.List_3wP = A._setArrayType(makeConstList([B.FullType_1MH]), type$.JSArray_FullType);
     B.FullType_KVM = new A.FullType(B.Type_BuiltSet_fcN, B.List_3wP, false);
     B.Type_bool_lhE = A.typeLiteral("bool");
-    B.FullType_MtR = new A.FullType(B.Type_bool_lhE, B.List_empty1, false);
+    B.FullType_MtR = new A.FullType(B.Type_bool_lhE, B.List_empty0, false);
     B.Type_ExtensionEvent_gsm = A.typeLiteral("ExtensionEvent");
-    B.FullType_Ktb = new A.FullType(B.Type_ExtensionEvent_gsm, B.List_empty1, false);
+    B.FullType_Ktb = new A.FullType(B.Type_ExtensionEvent_gsm, B.List_empty0, false);
     B.List_0 = A._setArrayType(makeConstList([B.FullType_Ktb]), type$.JSArray_FullType);
     B.FullType_NIe = new A.FullType(B.Type_BuiltList_iTR, B.List_0, false);
     B.FullType_WUY = new A.FullType(B.Type_BuiltList_iTR, B.List_3wP, false);
@@ -27119,10 +25625,10 @@
     B.Type_BuiltSetMultimap_9Fi = A.typeLiteral("BuiltSetMultimap<@,@>");
     B.FullType_gsm = new A.FullType(B.Type_BuiltSetMultimap_9Fi, B.List_4AN, false);
     B.Type_String_k8F = A.typeLiteral("String");
-    B.FullType_h8g = new A.FullType(B.Type_String_k8F, B.List_empty1, false);
+    B.FullType_h8g = new A.FullType(B.Type_String_k8F, B.List_empty0, false);
     B.Type_int_tHn = A.typeLiteral("int");
-    B.FullType_kjq = new A.FullType(B.Type_int_tHn, B.List_empty1, false);
-    B.FullType_null_List_empty_false = new A.FullType(null, B.List_empty1, false);
+    B.FullType_kjq = new A.FullType(B.Type_int_tHn, B.List_empty0, false);
+    B.FullType_null_List_empty_false = new A.FullType(null, B.List_empty0, false);
     B.JsonDecoder_null = new A.JsonDecoder(null);
     B.JsonEncoder_null = new A.JsonEncoder(null);
     B.Level_INFO_800 = new A.Level("INFO", 800);
@@ -27145,7 +25651,6 @@
     B.Type_RegisterEvent_0zQ = A.typeLiteral("RegisterEvent");
     B.Type__$RegisterEvent_SY6 = A.typeLiteral("_$RegisterEvent");
     B.List_ASY = A._setArrayType(makeConstList([B.Type_RegisterEvent_0zQ, B.Type__$RegisterEvent_SY6]), type$.JSArray_Type);
-    B.List_AuK = A._setArrayType(makeConstList(["bind", "if", "ref", "repeat", "syntax"]), type$.JSArray_String);
     B.Type_DebugInfo_gg4 = A.typeLiteral("DebugInfo");
     B.Type__$DebugInfo_Eoc = A.typeLiteral("_$DebugInfo");
     B.List_IMr = A._setArrayType(makeConstList([B.Type_DebugInfo_gg4, B.Type__$DebugInfo_Eoc]), type$.JSArray_Type);
@@ -27156,9 +25661,7 @@
     B.Type_BatchedDebugEvents_I6f = A.typeLiteral("BatchedDebugEvents");
     B.Type__$BatchedDebugEvents_aD9 = A.typeLiteral("_$BatchedDebugEvents");
     B.List_Jeh = A._setArrayType(makeConstList([B.Type_BatchedDebugEvents_I6f, B.Type__$BatchedDebugEvents_aD9]), type$.JSArray_Type);
-    B.List_Jwp = A._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_String);
     B.List_M1A = A._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_int);
-    B.List_ME0 = A._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_String);
     B.List_MMm = A._setArrayType(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_int);
     B.List_OL3 = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_int);
     B.List_Type_BuildStatus_ahk = A._setArrayType(makeConstList([B.Type_BuildStatus_ahk]), type$.JSArray_Type);
@@ -27174,7 +25677,6 @@
     B.Type__$ExtensionEvent_XOq = A.typeLiteral("_$ExtensionEvent");
     B.List_e7M = A._setArrayType(makeConstList([B.Type_ExtensionEvent_gsm, B.Type__$ExtensionEvent_XOq]), type$.JSArray_Type);
     B.List_ejq = A._setArrayType(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_int);
-    B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_String);
     B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_dynamic);
     B.List_er0 = A._setArrayType(makeConstList(["d", "D", "\u2202", "\xce"]), type$.JSArray_String);
     B.Type_BuildResult_dEV = A.typeLiteral("BuildResult");
@@ -27187,7 +25689,6 @@
     B.Type_BatchedEvents_gDG = A.typeLiteral("BatchedEvents");
     B.Type__$BatchedEvents_qxo = A.typeLiteral("_$BatchedEvents");
     B.List_oyn = A._setArrayType(makeConstList([B.Type_BatchedEvents_gDG, B.Type__$BatchedEvents_qxo]), type$.JSArray_Type);
-    B.List_uzK = A._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_String);
     B.Type_DevToolsRequest_A0n = A.typeLiteral("DevToolsRequest");
     B.Type__$DevToolsRequest_cDy = A.typeLiteral("_$DevToolsRequest");
     B.List_yT3 = A._setArrayType(makeConstList([B.Type_DevToolsRequest_A0n, B.Type__$DevToolsRequest_cDy]), type$.JSArray_Type);
@@ -27205,6 +25706,7 @@
     B.Type_Float64List_LB7 = A.typeLiteral("Float64List");
     B.Type_Int16List_uXf = A.typeLiteral("Int16List");
     B.Type_Int32List_O50 = A.typeLiteral("Int32List");
+    B.Type_Int32_Mhf = A.typeLiteral("Int32");
     B.Type_Int64_ww8 = A.typeLiteral("Int64");
     B.Type_Int8List_ekJ = A.typeLiteral("Int8List");
     B.Type_JSObject_8k0 = A.typeLiteral("JSObject");
@@ -27250,7 +25752,6 @@
     $.dispatchRecordsForInstanceTags = null;
     $.interceptorsForUncacheableTags = null;
     $.initNativeDispatchFlag = null;
-    $._reportingExtraNullSafetyError = false;
     $._nextCallback = null;
     $._lastCallback = null;
     $._lastPriorityCallback = null;
@@ -27265,11 +25766,6 @@
     $._BigIntImpl____lastQuoRemUsed = A._Cell$named("_lastQuoRemUsed");
     $._BigIntImpl____lastRemUsed = A._Cell$named("_lastRemUsed");
     $._BigIntImpl____lastRem_nsh = A._Cell$named("_lastRem_nsh");
-    $.Element__parseDocument = null;
-    $.Element__parseRange = null;
-    $.Element__defaultValidator = null;
-    $.Element__defaultSanitizer = null;
-    $._Html5NodeValidator__attributeValidators = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Function);
     $._indentingBuiltValueToStringHelperIndent = 0;
     $.LogRecord__nextNumber = 0;
     $.Logger__loggers = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger);
@@ -27340,12 +25836,12 @@
     _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false));
     _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_xQ6));
     _lazyFinal($, "_scannerTables", "$get$_scannerTables", () => A._createTables());
-    _lazyFinal($, "_Html5NodeValidator__allowedElements", "$get$_Html5NodeValidator__allowedElements", () => A.LinkedHashSet_LinkedHashSet$from(["A", "ABBR", "ACRONYM", "ADDRESS", "AREA", "ARTICLE", "ASIDE", "AUDIO", "B", "BDI", "BDO", "BIG", "BLOCKQUOTE", "BR", "BUTTON", "CANVAS", "CAPTION", "CENTER", "CITE", "CODE", "COL", "COLGROUP", "COMMAND", "DATA", "DATALIST", "DD", "DEL", "DETAILS", "DFN", "DIR", "DIV", "DL", "DT", "EM", "FIELDSET", "FIGCAPTION", "FIGURE", "FONT", "FOOTER", "FORM", "H1", "H2", "H3", "H4", "H5", "H6", "HEADER", "HGROUP", "HR", "I", "IFRAME", "IMG", "INPUT", "INS", "KBD", "LABEL", "LEGEND", "LI", "MAP", "MARK", "MENU", "METER", "NAV", "NOBR", "OL", "OPTGROUP", "OPTION", "OUTPUT", "P", "PRE", "PROGRESS", "Q", "S", "SAMP", "SECTION", "SELECT", "SMALL", "SOURCE", "SPAN", "STRIKE", "STRONG", "SUB", "SUMMARY", "SUP", "TABLE", "TBODY", "TD", "TEXTAREA", "TFOOT", "TH", "THEAD", "TIME", "TR", "TRACK", "TT", "U", "UL", "VAR", "VIDEO", "WBR"], type$.String));
     _lazyFinal($, "_context", "$get$_context", () => A._castToJsObject(A._wrapToDart(self)));
     _lazyFinal($, "_DART_OBJECT_PROPERTY_NAME", "$get$_DART_OBJECT_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartObject"));
     _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", () => function DartObject(o) {
       this.o = o;
     });
+    _lazyFinal($, "_jsBoxedDartObjectProperty", "$get$_jsBoxedDartObjectProperty", () => Symbol("jsBoxedDartObjectProperty"));
     _lazyFinal($, "isSoundMode", "$get$isSoundMode", () => !type$.List_int._is(A._setArrayType([], A.findType("JSArray<int?>"))));
     _lazy($, "newBuiltValueToStringHelper", "$get$newBuiltValueToStringHelper", () => new A.newBuiltValueToStringHelper_closure());
     _lazyFinal($, "_runtimeType", "$get$_runtimeType", () => A.getRuntimeTypeOfDartObject(A.RegExp_RegExp("", true, false)));
@@ -27411,7 +25907,6 @@
     });
     _lazyFinal($, "Uuid__stateExpando", "$get$Uuid__stateExpando", () => new A.Expando(new WeakMap(), A.findType("Expando<Map<String,@>>")));
     _lazyFinal($, "UuidUtil__random", "$get$UuidUtil__random", () => A.Random_Random(null));
-    _lazyFinal($, "_createScript", "$get$_createScript", () => new A._createScript_closure().call$0());
     _lazyFinal($, "_noncePattern", "$get$_noncePattern", () => A.RegExp_RegExp("^[\\w+/_-]+[=]{0,2}$", true, false));
   })();
   (function nativeSupport() {
@@ -27437,8 +25932,8 @@
       }
       init.dispatchPropertyName = init.getIsolateTag("dispatch_record");
     }();
-    hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, HTMLBaseElement: A.BaseElement, Blob: A.Blob, HTMLBodyElement: A.BodyElement, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CloseEvent: A.CloseEvent, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, CustomEvent: A.CustomEvent, DataTransferItemList: A.DataTransferItemList, XMLDocument: A.Document, Document: A.Document, DOMException: A.DomException, DOMImplementation: A.DomImplementation, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, MojoInterfaceRequestEvent: A.Event, USBConnectionEvent: A.Event, IDBVersionChangeEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, EventSource: A.EventSource, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, Worker: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, HTMLDocument: A.HtmlDocument, XMLHttpRequest: A.HttpRequest, XMLHttpRequestUpload: A.HttpRequestEventTarget, XMLHttpRequestEventTarget: A.HttpRequestEventTarget, ImageData: A.ImageData, KeyboardEvent: A.KeyboardEvent, Location: A.Location, MediaList: A.MediaList, MessageEvent: A.MessageEvent, MessagePort: A.MessagePort, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, DocumentFragment: A.Node, ShadowRoot: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, ProgressEvent: A.ProgressEvent, ResourceProgressEvent: A.ProgressEvent, RTCStatsReport: A.RtcStatsReport, HTMLScriptElement: A.ScriptElement, HTMLSelectElement: A.SelectElement, SharedArrayBuffer: A.SharedArrayBuffer, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, HTMLTableElement: A.TableElement, HTMLTableRowElement: A.TableRowElement, HTMLTableSectionElement: A.TableSectionElement, HTMLTemplateElement: A.TemplateElement, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, CompositionEvent: A.UIEvent, FocusEvent: A.UIEvent, MouseEvent: A.UIEvent, DragEvent: A.UIEvent, PointerEvent: A.UIEvent, TextEvent: A.UIEvent, TouchEvent: A.UIEvent, WheelEvent: A.UIEvent, UIEvent: A.UIEvent, URL: A.Url, VideoTrackList: A.VideoTrackList, WebSocket: A.WebSocket, Window: A.Window, DOMWindow: A.Window, DedicatedWorkerGlobalScope: A.WorkerGlobalScope, ServiceWorkerGlobalScope: A.WorkerGlobalScope, SharedWorkerGlobalScope: A.WorkerGlobalScope, WorkerGlobalScope: A.WorkerGlobalScope, Attr: A._Attr, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, IDBKeyRange: A.KeyRange, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGScriptElement: A.ScriptElement0, SVGStringList: A.StringList, SVGAElement: A.SvgElement, SVGAnimateElement: A.SvgElement, SVGAnimateMotionElement: A.SvgElement, SVGAnimateTransformElement: A.SvgElement, SVGAnimationElement: A.SvgElement, SVGCircleElement: A.SvgElement, SVGClipPathElement: A.SvgElement, SVGDefsElement: A.SvgElement, SVGDescElement: A.SvgElement, SVGDiscardElement: A.SvgElement, SVGEllipseElement: A.SvgElement, SVGFEBlendElement: A.SvgElement, SVGFEColorMatrixElement: A.SvgElement, SVGFEComponentTransferElement: A.SvgElement, SVGFECompositeElement: A.SvgElement, SVGFEConvolveMatrixElement: A.SvgElement, SVGFEDiffuseLightingElement: A.SvgElement, SVGFEDisplacementMapElement: A.SvgElement, SVGFEDistantLightElement: A.SvgElement, SVGFEFloodElement: A.SvgElement, SVGFEFuncAElement: A.SvgElement, SVGFEFuncBElement: A.SvgElement, SVGFEFuncGElement: A.SvgElement, SVGFEFuncRElement: A.SvgElement, SVGFEGaussianBlurElement: A.SvgElement, SVGFEImageElement: A.SvgElement, SVGFEMergeElement: A.SvgElement, SVGFEMergeNodeElement: A.SvgElement, SVGFEMorphologyElement: A.SvgElement, SVGFEOffsetElement: A.SvgElement, SVGFEPointLightElement: A.SvgElement, SVGFESpecularLightingElement: A.SvgElement, SVGFESpotLightElement: A.SvgElement, SVGFETileElement: A.SvgElement, SVGFETurbulenceElement: A.SvgElement, SVGFilterElement: A.SvgElement, SVGForeignObjectElement: A.SvgElement, SVGGElement: A.SvgElement, SVGGeometryElement: A.SvgElement, SVGGraphicsElement: A.SvgElement, SVGImageElement: A.SvgElement, SVGLineElement: A.SvgElement, SVGLinearGradientElement: A.SvgElement, SVGMarkerElement: A.SvgElement, SVGMaskElement: A.SvgElement, SVGMetadataElement: A.SvgElement, SVGPathElement: A.SvgElement, SVGPatternElement: A.SvgElement, SVGPolygonElement: A.SvgElement, SVGPolylineElement: A.SvgElement, SVGRadialGradientElement: A.SvgElement, SVGRectElement: A.SvgElement, SVGSetElement: A.SvgElement, SVGStopElement: A.SvgElement, SVGStyleElement: A.SvgElement, SVGSVGElement: A.SvgElement, SVGSwitchElement: A.SvgElement, SVGSymbolElement: A.SvgElement, SVGTSpanElement: A.SvgElement, SVGTextContentElement: A.SvgElement, SVGTextElement: A.SvgElement, SVGTextPathElement: A.SvgElement, SVGTextPositioningElement: A.SvgElement, SVGTitleElement: A.SvgElement, SVGUseElement: A.SvgElement, SVGViewElement: A.SvgElement, SVGGradientElement: A.SvgElement, SVGComponentTransferFunctionElement: A.SvgElement, SVGFEDropShadowElement: A.SvgElement, SVGMPathElement: A.SvgElement, SVGElement: A.SvgElement, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext});
-    hunkHelpers.setOrUpdateLeafTags({WebGL: true, 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, webkitFileSystemDirectoryEntry: true, FileSystemDirectoryEntry: true, DirectoryReader: true, WebKitDirectoryReader: true, webkitFileSystemDirectoryReader: true, FileSystemDirectoryReader: 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, webkitFileSystemEntry: true, FileSystemEntry: true, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: 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, 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, WebGL2RenderingContextBase: 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, MathMLElement: 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, webkitSpeechRecognition: 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, SharedArrayBuffer: 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});
+    hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, DOMImplementation: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SharedArrayBuffer: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLBaseElement: A.HtmlElement, HTMLBodyElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, Blob: A.Blob, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CloseEvent: A.CloseEvent, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, DataTransferItemList: A.DataTransferItemList, DOMException: A.DomException, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, SVGAElement: A.Element, SVGAnimateElement: A.Element, SVGAnimateMotionElement: A.Element, SVGAnimateTransformElement: A.Element, SVGAnimationElement: A.Element, SVGCircleElement: A.Element, SVGClipPathElement: A.Element, SVGDefsElement: A.Element, SVGDescElement: A.Element, SVGDiscardElement: A.Element, SVGEllipseElement: A.Element, SVGFEBlendElement: A.Element, SVGFEColorMatrixElement: A.Element, SVGFEComponentTransferElement: A.Element, SVGFECompositeElement: A.Element, SVGFEConvolveMatrixElement: A.Element, SVGFEDiffuseLightingElement: A.Element, SVGFEDisplacementMapElement: A.Element, SVGFEDistantLightElement: A.Element, SVGFEFloodElement: A.Element, SVGFEFuncAElement: A.Element, SVGFEFuncBElement: A.Element, SVGFEFuncGElement: A.Element, SVGFEFuncRElement: A.Element, SVGFEGaussianBlurElement: A.Element, SVGFEImageElement: A.Element, SVGFEMergeElement: A.Element, SVGFEMergeNodeElement: A.Element, SVGFEMorphologyElement: A.Element, SVGFEOffsetElement: A.Element, SVGFEPointLightElement: A.Element, SVGFESpecularLightingElement: A.Element, SVGFESpotLightElement: A.Element, SVGFETileElement: A.Element, SVGFETurbulenceElement: A.Element, SVGFilterElement: A.Element, SVGForeignObjectElement: A.Element, SVGGElement: A.Element, SVGGeometryElement: A.Element, SVGGraphicsElement: A.Element, SVGImageElement: A.Element, SVGLineElement: A.Element, SVGLinearGradientElement: A.Element, SVGMarkerElement: A.Element, SVGMaskElement: A.Element, SVGMetadataElement: A.Element, SVGPathElement: A.Element, SVGPatternElement: A.Element, SVGPolygonElement: A.Element, SVGPolylineElement: A.Element, SVGRadialGradientElement: A.Element, SVGRectElement: A.Element, SVGScriptElement: A.Element, SVGSetElement: A.Element, SVGStopElement: A.Element, SVGStyleElement: A.Element, SVGElement: A.Element, SVGSVGElement: A.Element, SVGSwitchElement: A.Element, SVGSymbolElement: A.Element, SVGTSpanElement: A.Element, SVGTextContentElement: A.Element, SVGTextElement: A.Element, SVGTextPathElement: A.Element, SVGTextPositioningElement: A.Element, SVGTitleElement: A.Element, SVGUseElement: A.Element, SVGViewElement: A.Element, SVGGradientElement: A.Element, SVGComponentTransferFunctionElement: A.Element, SVGFEDropShadowElement: A.Element, SVGMPathElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, CompositionEvent: A.Event, CustomEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FocusEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, KeyboardEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MouseEvent: A.Event, DragEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PointerEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, ProgressEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TextEvent: A.Event, TouchEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, UIEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, WheelEvent: A.Event, MojoInterfaceRequestEvent: A.Event, ResourceProgressEvent: A.Event, USBConnectionEvent: A.Event, IDBVersionChangeEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, EventSource: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, XMLHttpRequest: A.EventTarget, XMLHttpRequestEventTarget: A.EventTarget, XMLHttpRequestUpload: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MessagePort: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, Worker: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, ImageData: A.ImageData, Location: A.Location, MediaList: A.MediaList, MessageEvent: A.MessageEvent, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, Document: A.Node, DocumentFragment: A.Node, HTMLDocument: A.Node, ShadowRoot: A.Node, XMLDocument: A.Node, Attr: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, RTCStatsReport: A.RtcStatsReport, HTMLSelectElement: A.SelectElement, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, URL: A.Url, VideoTrackList: A.VideoTrackList, WebSocket: A.WebSocket, Window: A.Window, DOMWindow: A.Window, DedicatedWorkerGlobalScope: A.WorkerGlobalScope, ServiceWorkerGlobalScope: A.WorkerGlobalScope, SharedWorkerGlobalScope: A.WorkerGlobalScope, WorkerGlobalScope: A.WorkerGlobalScope, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, IDBKeyRange: A.KeyRange, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext});
+    hunkHelpers.setOrUpdateLeafTags({WebGL: true, 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, webkitFileSystemDirectoryEntry: true, FileSystemDirectoryEntry: true, DirectoryReader: true, WebKitDirectoryReader: true, webkitFileSystemDirectoryReader: true, FileSystemDirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMError: true, DOMImplementation: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, Entry: true, webkitFileSystemEntry: true, FileSystemEntry: true, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: 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, WebGL2RenderingContextBase: 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, HTMLBaseElement: true, HTMLBodyElement: 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, HTMLScriptElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: 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, Blob: false, 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, DataTransferItemList: true, DOMException: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, MathMLElement: 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, SVGScriptElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGElement: 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, 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, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, ProgressEvent: 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, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, ResourceProgressEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, BroadcastChannel: true, CanvasCaptureMediaStreamTrack: true, EventSource: true, FileReader: true, FontFaceSet: true, Gyroscope: true, XMLHttpRequest: true, XMLHttpRequestEventTarget: true, XMLHttpRequestUpload: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaKeySession: true, MediaQueryList: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MediaStreamTrack: true, MessagePort: 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, webkitSpeechRecognition: 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, ImageData: true, Location: true, MediaList: true, MessageEvent: true, MIDIInputMap: true, MIDIOutputMap: true, MimeType: true, MimeTypeArray: true, Document: true, DocumentFragment: true, HTMLDocument: true, ShadowRoot: true, XMLDocument: true, Attr: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, Plugin: true, PluginArray: true, RTCStatsReport: true, HTMLSelectElement: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionResult: true, Storage: true, CSSStyleSheet: true, StyleSheet: true, TextTrack: true, TextTrackCue: true, VTTCue: true, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchList: true, TrackDefaultList: true, URL: true, VideoTrackList: true, WebSocket: true, Window: true, DOMWindow: true, DedicatedWorkerGlobalScope: true, ServiceWorkerGlobalScope: true, SharedWorkerGlobalScope: true, WorkerGlobalScope: 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, SVGStringList: true, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true});
     A.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
     A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
     A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
@@ -27508,9 +26003,6 @@
   Function.prototype.call$2$0 = function() {
     return this();
   };
-  Function.prototype.call$1$0 = function() {
-    return this();
-  };
   convertAllToFastObject(holders);
   convertToFastObject($);
   (function(callback) {
@@ -27524,18 +26016,21 @@
     }
     var scripts = document.scripts;
     function onLoad(event) {
-      for (var i = 0; i < scripts.length; ++i)
+      for (var i = 0; i < scripts.length; ++i) {
         scripts[i].removeEventListener("load", onLoad, false);
+      }
       callback(event.target);
     }
-    for (var i = 0; i < scripts.length; ++i)
+    for (var i = 0; i < scripts.length; ++i) {
       scripts[i].addEventListener("load", onLoad, false);
+    }
   })(function(currentScript) {
     init.currentScript = currentScript;
     var callMain = A.main;
-    if (typeof dartMainRunner === "function")
+    if (typeof dartMainRunner === "function") {
       dartMainRunner(callMain, []);
-    else
+    } else {
       callMain([]);
+    }
   });
 })();
diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml
index 094bb8138..d3fe2448d 100644
--- a/dwds/pubspec.yaml
+++ b/dwds/pubspec.yaml
@@ -36,6 +36,7 @@ dependencies:
   vm_service: ^13.0.0
   vm_service_interface: 1.0.0
   web_socket_channel: ^2.2.0
+  web: ">=0.3.0 <0.5.0" 
   webkit_inspection_protocol: ^1.0.1
 
 dev_dependencies:
diff --git a/dwds/web/client.dart b/dwds/web/client.dart
index f3852bc93..a7a01d4c7 100644
--- a/dwds/web/client.dart
+++ b/dwds/web/client.dart
@@ -7,8 +7,8 @@ library hot_reload_client;
 
 import 'dart:async';
 import 'dart:convert';
-import 'dart:html';
 import 'dart:js';
+import 'dart:js_interop';
 
 import 'package:built_collection/built_collection.dart';
 import 'package:dwds/data/build_result.dart';
@@ -26,6 +26,7 @@ import 'package:dwds/src/sockets.dart';
 import 'package:js/js.dart';
 import 'package:sse/client/sse_client.dart';
 import 'package:uuid/uuid.dart';
+import 'package:web/helpers.dart';
 import 'package:web_socket_channel/web_socket_channel.dart';
 
 import 'promise.dart';
@@ -156,9 +157,12 @@ Future<void>? main() {
         } else if (event is RunRequest) {
           runMain();
         } else if (event is ErrorResponse) {
-          window.console
-              .error('Error from backend:\n\nError: ${event.error}\n\n'
-                  'Stack Trace:\n${event.stackTrace}');
+          window.reportError(
+            'Error from backend:\n\n'
+                    'Error: ${event.error}\n\n'
+                    'Stack Trace:\n${event.stackTrace}'
+                .toJS,
+          );
         }
       },
       onError: (error) {
@@ -276,35 +280,46 @@ void _launchCommunicationWithDebugExtension() {
       ),
     ),
   );
-  dispatchEvent(CustomEvent('dart-app-ready', detail: debugInfoJson));
+  _dispatchEvent('dart-app-ready', debugInfoJson);
+}
+
+void _dispatchEvent(String message, String detail) {
+  window.dispatchEvent(
+    CustomEvent(
+      'dart-auth-response',
+      CustomEventInit(detail: detail.toJS),
+    ),
+  );
 }
 
 void _listenForDebugExtensionAuthRequest() {
   window.addEventListener(
     'message',
-    allowInterop((event) async {
-      final messageEvent = event as MessageEvent;
-      if (messageEvent.data is! String) return;
-      if (messageEvent.data as String != 'dart-auth-request') return;
-
-      // Notify the Dart Debug Extension of authentication status:
-      if (_authUrl != null) {
-        final isAuthenticated = await _authenticateUser(_authUrl!);
-        dispatchEvent(
-          CustomEvent('dart-auth-response', detail: '$isAuthenticated'),
-        );
-      }
-    }),
+    _handleAuthRequest.toJS,
   );
 }
 
+void _handleAuthRequest(Event event) {
+  final messageEvent = event as MessageEvent;
+  if (messageEvent.data is! String) return;
+  if (messageEvent.data as String != 'dart-auth-request') return;
+
+  // Notify the Dart Debug Extension of authentication status:
+  if (_authUrl != null) {
+    _authenticateUser(_authUrl!).then(
+      (isAuthenticated) =>
+          _dispatchEvent('dart-auth-response', '$isAuthenticated'),
+    );
+  }
+}
+
 Future<bool> _authenticateUser(String authUrl) async {
   final response = await HttpRequest.request(
     authUrl,
     method: 'GET',
     withCredentials: true,
   );
-  final responseText = response.responseText ?? '';
+  final responseText = response.responseText;
   return responseText.contains('Dart Debug Authentication Success!');
 }
 
diff --git a/dwds/web/reloader/legacy_restarter.dart b/dwds/web/reloader/legacy_restarter.dart
index 9bdbd0e22..7ea98826e 100644
--- a/dwds/web/reloader/legacy_restarter.dart
+++ b/dwds/web/reloader/legacy_restarter.dart
@@ -3,8 +3,10 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'dart:async';
-import 'dart:html';
 import 'dart:js';
+import 'dart:js_interop';
+
+import 'package:web/helpers.dart';
 
 import 'restarter.dart';
 
@@ -21,7 +23,7 @@ class LegacyRestarter implements Restarter {
     }
     final reloadCompleter = Completer<bool>();
     final sub = window.onMessage.listen((event) {
-      final message = event.data;
+      final message = event.data?.dartify();
       if (message is Map &&
           message['type'] == 'DDC_STATE_CHANGE' &&
           message['state'] == 'restart_end') {
diff --git a/dwds/web/reloader/manager.dart b/dwds/web/reloader/manager.dart
index 225841e57..048c257de 100644
--- a/dwds/web/reloader/manager.dart
+++ b/dwds/web/reloader/manager.dart
@@ -3,11 +3,11 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'dart:convert';
-import 'dart:html';
 
 import 'package:dwds/data/isolate_events.dart';
 import 'package:dwds/data/serializers.dart';
 import 'package:dwds/src/sockets.dart';
+import 'package:web/helpers.dart';
 
 import 'restarter.dart';
 
diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart
index cddbd72fd..10cba6105 100644
--- a/dwds/web/reloader/require_restarter.dart
+++ b/dwds/web/reloader/require_restarter.dart
@@ -7,15 +7,17 @@ library require_reloading_manager;
 
 import 'dart:async';
 import 'dart:collection';
-import 'dart:html';
+import 'dart:js_interop';
 import 'dart:js_util';
 
 import 'package:graphs/graphs.dart' as graphs;
 import 'package:js/js.dart';
 import 'package:js/js_util.dart';
+import 'package:web/helpers.dart';
 
 import '../promise.dart';
 import '../run_main.dart';
+import '../web_utils.dart';
 import 'restarter.dart';
 
 /// The last known digests of all the modules in the application.
@@ -36,16 +38,6 @@ external set dartRunMain(Function() func);
 @JS(r'$dartRunMain')
 external Function() get dartRunMain;
 
-List<K> keys<K, V>(JsMap<K, V> map) {
-  return List.from(_jsArrayFrom(map.keys()));
-}
-
-@JS('Array.from')
-external List _jsArrayFrom(Object any);
-
-@JS('Object.values')
-external List _jsObjectValues(Object any);
-
 @anonymous
 @JS()
 class RequireLoader {
@@ -71,24 +63,6 @@ class HotReloadFailedException implements Exception {
   String toString() => "HotReloadFailedException: '$_s'";
 }
 
-@JS('Error')
-abstract class JsError {
-  @JS()
-  external String get message;
-
-  @JS()
-  external String get stack;
-}
-
-@JS('Map')
-abstract class JsMap<K, V> {
-  @JS()
-  external V? get(K key);
-
-  @JS()
-  external Object keys();
-}
-
 /// Handles hot restart reloading for use with the require module system.
 class RequireRestarter implements Restarter {
   final _moduleOrdering = HashMap<String, int>();
@@ -141,7 +115,7 @@ class RequireRestarter implements Restarter {
     return result;
   }
 
-  List<String> _allModules() => keys(requireLoader.moduleParentsGraph);
+  Iterable<String> _allModules() => requireLoader.moduleParentsGraph.dartKeys;
 
   Future<Map<String, String>> _getDigests() async {
     final request = await HttpRequest.request(
@@ -149,7 +123,9 @@ class RequireRestarter implements Restarter {
       responseType: 'json',
       method: 'GET',
     );
-    return (request.response as Map).cast<String, String>();
+
+    final response = request.response.dartify();
+    return (response as Map).cast<String, String>();
   }
 
   Future<void> _initialize() async {
@@ -157,7 +133,7 @@ class RequireRestarter implements Restarter {
   }
 
   List<String> _moduleParents(String module) =>
-      requireLoader.moduleParentsGraph.get(module)?.cast() ?? [];
+      requireLoader.moduleParentsGraph.get(module) ?? [];
 
   int _moduleTopologicalCompare(String module1, String module2) {
     var topological = 0;
@@ -207,13 +183,17 @@ class RequireRestarter implements Restarter {
         if (parentIds.isEmpty) {
           // The bootstrap module is not reloaded but we need to update the
           // $dartRunMain reference to the newly loaded child module.
-          final childModule = callMethod(
+          final childModule = callMethod<JSObject>(
             getProperty(require('dart_sdk'), 'dart'),
             'getModuleLibraries',
             [previousModuleId],
           );
           dartRunMain = allowInterop(() {
-            callMethod(_jsObjectValues(childModule).first, 'main', []);
+            callMethod(
+              childModule.values.first!,
+              'main',
+              [],
+            );
           });
         } else {
           ++reloadedModules;
@@ -255,6 +235,7 @@ class RequireRestarter implements Restarter {
 
   void _updateGraph() {
     final allModules = _allModules();
+    print('Modules: $allModules');
     final stronglyConnectedComponents =
         graphs.stronglyConnectedComponents(allModules, _moduleParents);
     _moduleOrdering.clear();
diff --git a/dwds/web/run_main.dart b/dwds/web/run_main.dart
index 23f490ebf..088b91749 100644
--- a/dwds/web/run_main.dart
+++ b/dwds/web/run_main.dart
@@ -2,40 +2,56 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:html';
+import 'dart:js_interop';
+import 'package:web/helpers.dart';
 
-/// Creates a script that will run properly when strict CSP is enforced.
-///
-/// More specifically, the script has the correct `nonce` value set.
-final ScriptElement Function() _createScript = (() {
-  final nonce = _findNonce();
-  if (nonce == null) return ScriptElement.new;
-
-  return () => ScriptElement()..setAttribute('nonce', nonce);
-})();
+import 'web_utils.dart';
 
 // According to the CSP3 spec a nonce must be a valid base64 string.
 final _noncePattern = RegExp('^[\\w+/_-]+[=]{0,2}\$');
 
 /// Returns CSP nonce, if set for any script tag.
-String? _findNonce() {
+String? findNonce() {
   final elements = window.document.querySelectorAll('script');
-  for (final element in elements) {
-    final nonceValue =
-        (element as HtmlElement).nonce ?? element.attributes['nonce'];
-    if (nonceValue != null && _noncePattern.hasMatch(nonceValue)) {
-      return nonceValue;
-    }
-  }
+  elements.forEach(
+    (Node element) {
+      final nonceValue = (element as HtmlElement).nonce;
+      if (_noncePattern.hasMatch(nonceValue)) {
+        return nonceValue;
+      }
+    }.toJS,
+  );
   return null;
 }
 
+/// Creates a script that will run properly when strict CSP is enforced.
+///
+/// More specifically, the script has the correct `nonce` value set.
+HTMLScriptElement _createScript() {
+  //final nonce = findNonce();
+  String? nonce;
+  final elements = window.document.querySelectorAll('script');
+  elements.forEach(
+    (Node element) {
+      final nonceValue = (element as HtmlElement).nonce;
+      if (_noncePattern.hasMatch(nonceValue)) {
+        return nonce = nonceValue;
+      }
+    }.toJS,
+  );
+
+  return nonce == null ? HTMLScriptElement() : HTMLScriptElement()
+    ..setAttribute('nonce', nonce!);
+}
+
 /// Runs `window.$dartRunMain()` by injecting a script tag.
 ///
 /// We do this so that we don't see user exceptions bubble up in our own error
 /// handling zone.
 void runMain() {
-  final scriptElement = _createScript()..innerHtml = r'window.$dartRunMain();';
-  document.body!.append(scriptElement);
-  Future.microtask(scriptElement.remove);
+  final scriptElement = _createScript()..htmlFor = r'window.$dartRunMain();';
+  (document.body as HTMLBodyElement).append(scriptElement.toJSBox);
+  // External tear-offs are not allowed.
+  // ignore: unnecessary_lambdas
+  Future.microtask(() => scriptElement.remove());
 }
diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart
new file mode 100644
index 000000000..d5d14664c
--- /dev/null
+++ b/dwds/web/web_utils.dart
@@ -0,0 +1,54 @@
+// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+@JS()
+library require_reloading_manager;
+
+import 'dart:js_interop';
+
+import 'package:js/js.dart';
+import 'package:web/helpers.dart';
+
+@JS('Array.from')
+external JSArray _jsArrayFrom(Object any);
+
+@JS('Object.values')
+external JSArray _jsObjectValues(Object any);
+
+@JS('Error')
+abstract class JsError {
+  @JS()
+  external String get message;
+
+  @JS()
+  external String get stack;
+}
+
+@JS('Map')
+abstract class JsMap<K, V> {
+  @JS()
+  external V? get(K key);
+
+  @JS()
+  external Object keys();
+
+  @JS()
+  external Object values();
+}
+
+extension ObjectValues on JSObject {
+  Iterable<Object?> get values => _jsObjectValues(this).toDartIterable();
+}
+
+extension JSArrayToIterable on JSArray {
+  Iterable<T> toDartIterable<T>() => toDart.map((e) => e.dartify() as T);
+}
+
+extension JSMapToMap<K, V> on JsMap<K, V> {
+  Iterable<K> get dartKeys => _jsArrayFrom(keys()).toDartIterable<K>();
+}
+
+extension NodeListExtension on NodeList {
+  external void forEach(JSFunction callback);
+}
diff --git a/fixtures/_webdevSoundSmoke/web/main.dart b/fixtures/_webdevSoundSmoke/web/main.dart
index 907bfdbba..46aea1208 100644
--- a/fixtures/_webdevSoundSmoke/web/main.dart
+++ b/fixtures/_webdevSoundSmoke/web/main.dart
@@ -11,7 +11,7 @@ void main() {
   print('Initial Print');
 
   registerExtension('ext.print', (_, __) async {
-    print('Hello World');
+    print('Hello World1');
     return ServiceExtensionResponse.result(json.encode({'success': true}));
   });
   document.body?.append(SpanElement()..text = 'Hello World!!');

From 3baa547e72edc3bd10184e0e2dd9927a20d0c1d3 Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Wed, 13 Dec 2023 11:29:49 -0800
Subject: [PATCH 03/16] Match the bug

---
 dwds/lib/src/injected/client.js | 45 +++++++++++++++------------------
 dwds/web/run_main.dart          | 14 ++--------
 2 files changed, 23 insertions(+), 36 deletions(-)

diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 0fc32f39d..4488b4ee6 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -9474,33 +9474,30 @@
       this.completer = t0;
       this.stackTrace = t1;
     },
-    _createScript() {
-      var t2, t3, t1 = {};
-      t1.nonce = null;
-      t2 = self;
-      t3 = type$.JavaScriptObject;
-      t3._as(t3._as(t3._as(t2.window).document).querySelectorAll("script")).forEach(A.allowInterop(new A._createScript_closure(t1), type$.Function));
-      t2 = t1.nonce == null ? t3._as(new t2.HTMLScriptElement()) : t3._as(new t2.HTMLScriptElement());
-      t1 = t1.nonce;
-      t1.toString;
-      t2.setAttribute("nonce", t1);
-      return t2;
+    _findNonce() {
+      var t1 = type$.JavaScriptObject;
+      t1._as(t1._as(t1._as(self.window).document).querySelectorAll("script")).forEach(A.allowInterop(new A._findNonce_closure(), type$.Function));
+      return null;
     },
     runMain() {
-      var t1, t2, box,
-        scriptElement = A._createScript();
-      scriptElement.htmlFor = "window.$dartRunMain();";
-      t1 = type$.JavaScriptObject;
-      t2 = type$.nullable_JavaScriptObject._as(t1._as(self.document).body);
-      t1 = t2 == null ? t1._as(t2) : t2;
+      var t3, box,
+        nonce = A._findNonce(),
+        t1 = self,
+        t2 = type$.JavaScriptObject._as(new t1.HTMLScriptElement());
+      nonce.toString;
+      t2.setAttribute("nonce", nonce);
+      t2.htmlFor = "window.$dartRunMain();";
+      t3 = type$.JavaScriptObject;
+      t1 = type$.nullable_JavaScriptObject._as(t3._as(t1.document).body);
+      if (t1 == null)
+        t1 = t3._as(t1);
       A.throwExpression("Attempting to box non-Dart object.");
       box = {};
-      box[$.$get$_jsBoxedDartObjectProperty()] = scriptElement;
+      box[$.$get$_jsBoxedDartObjectProperty()] = t2;
       t1.append(box);
-      A.Future_Future$microtask(new A.runMain_closure(scriptElement), type$.void);
+      A.Future_Future$microtask(new A.runMain_closure(t2), type$.void);
     },
-    _createScript_closure: function _createScript_closure(t0) {
-      this._box_0 = t0;
+    _findNonce_closure: function _findNonce_closure() {
     },
     runMain_closure: function runMain_closure(t0) {
       this.scriptElement = t0;
@@ -24857,12 +24854,12 @@
     },
     $signature: 76
   };
-  A._createScript_closure.prototype = {
+  A._findNonce_closure.prototype = {
     call$1(element) {
       var nonceValue = A._asString(type$.JavaScriptObject._as(element).nonce),
         t1 = $.$get$_noncePattern();
       if (t1._nativeRegExp.test(nonceValue))
-        return this._box_0.nonce = nonceValue;
+        return nonceValue;
     },
     $signature: 77
   };
@@ -25000,7 +24997,7 @@
     _inherit(A.CastIterable, A._CastIterableBase);
     _inherit(A._EfficientLengthCastIterable, A.CastIterable);
     _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]);
-    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A._createScript_closure, A.JSArrayToIterable_toDartIterable_closure]);
+    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A._findNonce_closure, A.JSArrayToIterable_toDartIterable_closure]);
     _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]);
     _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]);
     _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.runMain_closure]);
diff --git a/dwds/web/run_main.dart b/dwds/web/run_main.dart
index 088b91749..3ab4d9ba1 100644
--- a/dwds/web/run_main.dart
+++ b/dwds/web/run_main.dart
@@ -11,7 +11,7 @@ import 'web_utils.dart';
 final _noncePattern = RegExp('^[\\w+/_-]+[=]{0,2}\$');
 
 /// Returns CSP nonce, if set for any script tag.
-String? findNonce() {
+String? _findNonce() {
   final elements = window.document.querySelectorAll('script');
   elements.forEach(
     (Node element) {
@@ -28,17 +28,7 @@ String? findNonce() {
 ///
 /// More specifically, the script has the correct `nonce` value set.
 HTMLScriptElement _createScript() {
-  //final nonce = findNonce();
-  String? nonce;
-  final elements = window.document.querySelectorAll('script');
-  elements.forEach(
-    (Node element) {
-      final nonceValue = (element as HtmlElement).nonce;
-      if (_noncePattern.hasMatch(nonceValue)) {
-        return nonce = nonceValue;
-      }
-    }.toJS,
-  );
+  final nonce = _findNonce();
 
   return nonce == null ? HTMLScriptElement() : HTMLScriptElement()
     ..setAttribute('nonce', nonce!);

From 8fde0416eedf65e35ffc066cf8d7e90e6d20ff67 Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Thu, 14 Dec 2023 08:58:25 -0800
Subject: [PATCH 04/16] Made it work

---
 dwds/lib/src/injected/client.js          | 679 ++++++++---------------
 dwds/web/reloader/require_restarter.dart |   4 +-
 dwds/web/run_main.dart                   |  32 +-
 dwds/web/web_utils.dart                  |  20 +-
 fixtures/_webdevSoundSmoke/web/main.dart |   2 +-
 5 files changed, 269 insertions(+), 468 deletions(-)

diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 4488b4ee6..4fbfd1afc 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -672,249 +672,6 @@
     IterableElementError_tooFew() {
       return new A.StateError("Too few elements");
     },
-    Sort__doSort(a, left, right, compare, $E) {
-      if (right - left <= 32)
-        A.Sort__insertionSort(a, left, right, compare, $E);
-      else
-        A.Sort__dualPivotQuicksort(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);
-        j = i;
-        while (true) {
-          if (j > left) {
-            t2 = compare.call$2(t1.$index(a, j - 1), el);
-            if (typeof t2 !== "number")
-              return t2.$gt();
-            t2 = t2 > 0;
-          } else
-            t2 = false;
-          if (!t2)
-            break;
-          j0 = j - 1;
-          t1.$indexSet(a, j, t1.$index(a, j0));
-          j = j0;
-        }
-        t1.$indexSet(a, j, el);
-      }
-    },
-    Sort__dualPivotQuicksort(a, left, right, compare, $E) {
-      var t0, less, great, k, ak, comp, great0, less0, pivots_are_equal,
-        sixth = B.JSInt_methods._tdivFast$1(right - left + 1, 6),
-        index1 = left + sixth,
-        index5 = right - sixth,
-        index3 = B.JSInt_methods._tdivFast$1(left + right, 2),
-        index2 = index3 - sixth,
-        index4 = index3 + sixth,
-        t1 = J.getInterceptor$asx(a),
-        el1 = t1.$index(a, index1),
-        el2 = t1.$index(a, index2),
-        el3 = t1.$index(a, index3),
-        el4 = t1.$index(a, index4),
-        el5 = t1.$index(a, index5),
-        t2 = compare.call$2(el1, el2);
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0) {
-        t0 = el2;
-        el2 = el1;
-        el1 = t0;
-      }
-      t2 = compare.call$2(el4, el5);
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0) {
-        t0 = el5;
-        el5 = el4;
-        el4 = t0;
-      }
-      t2 = compare.call$2(el1, el3);
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0) {
-        t0 = el3;
-        el3 = el1;
-        el1 = t0;
-      }
-      t2 = compare.call$2(el2, el3);
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0) {
-        t0 = el3;
-        el3 = el2;
-        el2 = t0;
-      }
-      t2 = compare.call$2(el1, el4);
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0) {
-        t0 = el4;
-        el4 = el1;
-        el1 = t0;
-      }
-      t2 = compare.call$2(el3, el4);
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0) {
-        t0 = el4;
-        el4 = el3;
-        el3 = t0;
-      }
-      t2 = compare.call$2(el2, el5);
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0) {
-        t0 = el5;
-        el5 = el2;
-        el2 = t0;
-      }
-      t2 = compare.call$2(el2, el3);
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0) {
-        t0 = el3;
-        el3 = el2;
-        el2 = t0;
-      }
-      t2 = compare.call$2(el4, el5);
-      if (typeof t2 !== "number")
-        return t2.$gt();
-      if (t2 > 0) {
-        t0 = el5;
-        el5 = el4;
-        el4 = t0;
-      }
-      t1.$indexSet(a, index1, el1);
-      t1.$indexSet(a, index3, el3);
-      t1.$indexSet(a, index5, el5);
-      t1.$indexSet(a, index2, t1.$index(a, left));
-      t1.$indexSet(a, index4, t1.$index(a, right));
-      less = left + 1;
-      great = right - 1;
-      if (J.$eq$(compare.call$2(el2, el4), 0)) {
-        for (k = less; k <= great; ++k) {
-          ak = t1.$index(a, k);
-          comp = compare.call$2(ak, el2);
-          if (comp === 0)
-            continue;
-          if (comp < 0) {
-            if (k !== less) {
-              t1.$indexSet(a, k, t1.$index(a, less));
-              t1.$indexSet(a, less, ak);
-            }
-            ++less;
-          } else
-            for (; true;) {
-              comp = compare.call$2(t1.$index(a, great), el2);
-              if (comp > 0) {
-                --great;
-                continue;
-              } else {
-                great0 = great - 1;
-                if (comp < 0) {
-                  t1.$indexSet(a, k, t1.$index(a, less));
-                  less0 = less + 1;
-                  t1.$indexSet(a, less, t1.$index(a, great));
-                  t1.$indexSet(a, great, ak);
-                  great = great0;
-                  less = less0;
-                  break;
-                } else {
-                  t1.$indexSet(a, k, t1.$index(a, great));
-                  t1.$indexSet(a, great, ak);
-                  great = great0;
-                  break;
-                }
-              }
-            }
-        }
-        pivots_are_equal = true;
-      } else {
-        for (k = less; k <= great; ++k) {
-          ak = t1.$index(a, k);
-          if (compare.call$2(ak, el2) < 0) {
-            if (k !== less) {
-              t1.$indexSet(a, k, t1.$index(a, less));
-              t1.$indexSet(a, less, ak);
-            }
-            ++less;
-          } else if (compare.call$2(ak, el4) > 0)
-            for (; true;)
-              if (compare.call$2(t1.$index(a, great), el4) > 0) {
-                --great;
-                if (great < k)
-                  break;
-                continue;
-              } else {
-                great0 = great - 1;
-                if (compare.call$2(t1.$index(a, great), el2) < 0) {
-                  t1.$indexSet(a, k, t1.$index(a, less));
-                  less0 = less + 1;
-                  t1.$indexSet(a, less, t1.$index(a, great));
-                  t1.$indexSet(a, great, ak);
-                  less = less0;
-                } else {
-                  t1.$indexSet(a, k, t1.$index(a, great));
-                  t1.$indexSet(a, great, ak);
-                }
-                great = great0;
-                break;
-              }
-        }
-        pivots_are_equal = false;
-      }
-      t2 = less - 1;
-      t1.$indexSet(a, left, t1.$index(a, t2));
-      t1.$indexSet(a, t2, el2);
-      t2 = great + 1;
-      t1.$indexSet(a, right, t1.$index(a, t2));
-      t1.$indexSet(a, t2, el4);
-      A.Sort__doSort(a, left, less - 2, compare, $E);
-      A.Sort__doSort(a, great + 2, right, compare, $E);
-      if (pivots_are_equal)
-        return;
-      if (less < index1 && great > index5) {
-        for (; J.$eq$(compare.call$2(t1.$index(a, less), el2), 0);)
-          ++less;
-        for (; J.$eq$(compare.call$2(t1.$index(a, great), el4), 0);)
-          --great;
-        for (k = less; k <= great; ++k) {
-          ak = t1.$index(a, k);
-          if (compare.call$2(ak, el2) === 0) {
-            if (k !== less) {
-              t1.$indexSet(a, k, t1.$index(a, less));
-              t1.$indexSet(a, less, ak);
-            }
-            ++less;
-          } else if (compare.call$2(ak, el4) === 0)
-            for (; true;)
-              if (compare.call$2(t1.$index(a, great), el4) === 0) {
-                --great;
-                if (great < k)
-                  break;
-                continue;
-              } else {
-                great0 = great - 1;
-                if (compare.call$2(t1.$index(a, great), el2) < 0) {
-                  t1.$indexSet(a, k, t1.$index(a, less));
-                  less0 = less + 1;
-                  t1.$indexSet(a, less, t1.$index(a, great));
-                  t1.$indexSet(a, great, ak);
-                  less = less0;
-                } else {
-                  t1.$indexSet(a, k, t1.$index(a, great));
-                  t1.$indexSet(a, great, ak);
-                }
-                great = great0;
-                break;
-              }
-        }
-        A.Sort__doSort(a, less, great, compare, $E);
-      } else
-        A.Sort__doSort(a, less, great, compare, $E);
-    },
     _CastIterableBase: function _CastIterableBase() {
     },
     CastIterator: function CastIterator(t0, t1) {
@@ -4941,7 +4698,7 @@
     },
     _HashSetIterator: function _HashSetIterator(t0, t1, t2) {
       var _ = this;
-      _._collection$_set = t0;
+      _._set = t0;
       _._collection$_elements = t1;
       _._offset = 0;
       _._collection$_current = null;
@@ -4960,7 +4717,7 @@
     },
     _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) {
       var _ = this;
-      _._collection$_set = t0;
+      _._set = t0;
       _._collection$_modifications = t1;
       _._collection$_current = _._collection$_cell = null;
       _.$ti = t2;
@@ -7967,6 +7724,14 @@
       else
         return $F._as(A._convertDartFunctionFast(f));
     },
+    _noJsifyRequired(o) {
+      return o == null || A._isBool(o) || typeof o == "number" || typeof o == "string" || type$.Int8List._is(o) || type$.Uint8List._is(o) || type$.Uint8ClampedList._is(o) || type$.Int16List._is(o) || type$.Uint16List._is(o) || type$.Int32List._is(o) || type$.Uint32List._is(o) || type$.Float32List._is(o) || type$.Float64List._is(o) || type$.ByteBuffer._is(o) || type$.ByteData._is(o);
+    },
+    jsify(object) {
+      if (A._noJsifyRequired(object))
+        return object;
+      return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object);
+    },
     promiseToFuture(jsPromise, $T) {
       var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")),
         completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"));
@@ -7981,6 +7746,9 @@
         return o;
       return new A.dartify_convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(o);
     },
+    jsify__convert: function jsify__convert(t0) {
+      this._convertedObjects = t0;
+    },
     promiseToFuture_closure: function promiseToFuture_closure(t0, t1) {
       this.completer = t0;
       this.T = t1;
@@ -8237,7 +8005,7 @@
     _BuiltSet: function _BuiltSet(t0, t1, t2) {
       var _ = this;
       _._setFactory = t0;
-      _._set = t1;
+      _._set$_set = t1;
       _._set$_hashCode = null;
       _.$ti = t2;
     },
@@ -9475,41 +9243,55 @@
       this.stackTrace = t1;
     },
     _findNonce() {
-      var t1 = type$.JavaScriptObject;
-      t1._as(t1._as(t1._as(self.window).document).querySelectorAll("script")).forEach(A.allowInterop(new A._findNonce_closure(), type$.Function));
+      var t2, i, element, t3, nonceValue,
+        t1 = type$.JavaScriptObject,
+        elements = t1._as(t1._as(t1._as(self.window).document).querySelectorAll("script"));
+      for (t2 = type$.nullable_JavaScriptObject, i = 0; i < A._asInt(elements.length); ++i) {
+        element = t2._as(elements.item(i));
+        t3 = element == null ? t1._as(element) : element;
+        nonceValue = A._asString(t3.nonce);
+        t3 = $.$get$_noncePattern();
+        if (t3._nativeRegExp.test(nonceValue))
+          return nonceValue;
+      }
       return null;
     },
     runMain() {
-      var t3, box,
-        nonce = A._findNonce(),
-        t1 = self,
-        t2 = type$.JavaScriptObject._as(new t1.HTMLScriptElement());
-      nonce.toString;
-      t2.setAttribute("nonce", nonce);
-      t2.htmlFor = "window.$dartRunMain();";
-      t3 = type$.JavaScriptObject;
-      t1 = type$.nullable_JavaScriptObject._as(t3._as(t1.document).body);
-      if (t1 == null)
-        t1 = t3._as(t1);
-      A.throwExpression("Attempting to box non-Dart object.");
-      box = {};
-      box[$.$get$_jsBoxedDartObjectProperty()] = t2;
-      t1.append(box);
-      A.Future_Future$microtask(new A.runMain_closure(t2), type$.void);
-    },
-    _findNonce_closure: function _findNonce_closure() {
+      var t1 = self,
+        t2 = type$.JavaScriptObject,
+        scriptElement = t2._as(t2._as(t1.document).createElement("script")),
+        nonce = A._findNonce();
+      if (nonce != null)
+        scriptElement.setAttribute("nonce", nonce);
+      scriptElement.innerHTML = "window.$dartRunMain();";
+      t1 = type$.nullable_JavaScriptObject._as(t2._as(t1.document).body);
+      t1.toString;
+      t2 = A.jsify(scriptElement);
+      t2.toString;
+      t1.append(t2);
+      A.Future_Future$microtask(new A.runMain_closure(scriptElement), type$.void);
     },
     runMain_closure: function runMain_closure(t0) {
       this.scriptElement = t0;
     },
-    JSArrayToIterable_toDartIterable(_this, $T) {
-      return J.map$1$1$ax(_this, new A.JSArrayToIterable_toDartIterable_closure($T), $T);
+    JSArrayExtension_toDartIterable(_this, $T) {
+      return J.map$1$1$ax(_this, new A.JSArrayExtension_toDartIterable_closure($T), $T);
+    },
+    ModuleDependencyGraph_parents(_this, key) {
+      var t1 = J.$get$1$x(_this, key);
+      if (t1 == null)
+        t1 = null;
+      else {
+        t1 = A.JSArrayExtension_toDartIterable(t1, type$.String);
+        t1 = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E"));
+      }
+      return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1;
     },
     JsError: function JsError() {
     },
     JsMap: function JsMap() {
     },
-    JSArrayToIterable_toDartIterable_closure: function JSArrayToIterable_toDartIterable_closure(t0) {
+    JSArrayExtension_toDartIterable_closure: function JSArrayExtension_toDartIterable_closure(t0) {
       this.T = t0;
     },
     isBrowserObject(o) {
@@ -10353,7 +10135,7 @@
     call$0() {
       return A.Future_Future$value(null, type$.Null);
     },
-    $signature: 29
+    $signature: 25
   };
   A.SentinelValue.prototype = {};
   A.EfficientLengthIterable.prototype = {};
@@ -10575,10 +10357,6 @@
     $indexSet(_, index, value) {
       A._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value);
       throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
-    },
-    sort$1(_, compare) {
-      A._instanceType(this)._eval$1("int(UnmodifiableListMixin.E,UnmodifiableListMixin.E)?")._as(compare);
-      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
     }
   };
   A.UnmodifiableListBase.prototype = {};
@@ -10773,7 +10551,7 @@
       B.JSArray_methods.add$1(this.$arguments, argument);
       ++t1.argumentCount;
     },
-    $signature: 7
+    $signature: 6
   };
   A.TypeErrorDecoder.prototype = {
     matchTypeError$1(message) {
@@ -11194,13 +10972,13 @@
     call$2(o, tag) {
       return this.getUnknownTag(o, tag);
     },
-    $signature: 79
+    $signature: 40
   };
   A.initHooks_closure1.prototype = {
     call$1(tag) {
       return this.prototypeForTag(A._asString(tag));
     },
-    $signature: 66
+    $signature: 78
   };
   A.JSSyntaxRegExp.prototype = {
     toString$0(_) {
@@ -11397,7 +11175,8 @@
     get$runtimeType(receiver) {
       return B.Type_ByteData_zNC;
     },
-    $isTrustedGetRuntimeType: 1
+    $isTrustedGetRuntimeType: 1,
+    $isByteData: 1
   };
   A.NativeTypedArray.prototype = {
     get$length(receiver) {
@@ -11439,7 +11218,8 @@
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    $isTrustedGetRuntimeType: 1
+    $isTrustedGetRuntimeType: 1,
+    $isFloat32List: 1
   };
   A.NativeFloat64List.prototype = {
     get$runtimeType(receiver) {
@@ -11451,7 +11231,8 @@
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    $isTrustedGetRuntimeType: 1
+    $isTrustedGetRuntimeType: 1,
+    $isFloat64List: 1
   };
   A.NativeInt16List.prototype = {
     get$runtimeType(receiver) {
@@ -11467,7 +11248,8 @@
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    $isTrustedGetRuntimeType: 1
+    $isTrustedGetRuntimeType: 1,
+    $isInt16List: 1
   };
   A.NativeInt32List.prototype = {
     get$runtimeType(receiver) {
@@ -11483,7 +11265,8 @@
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    $isTrustedGetRuntimeType: 1
+    $isTrustedGetRuntimeType: 1,
+    $isInt32List: 1
   };
   A.NativeInt8List.prototype = {
     get$runtimeType(receiver) {
@@ -11499,7 +11282,8 @@
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    $isTrustedGetRuntimeType: 1
+    $isTrustedGetRuntimeType: 1,
+    $isInt8List: 1
   };
   A.NativeUint16List.prototype = {
     get$runtimeType(receiver) {
@@ -11532,7 +11316,8 @@
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    $isTrustedGetRuntimeType: 1
+    $isTrustedGetRuntimeType: 1,
+    $isUint32List: 1
   };
   A.NativeUint8ClampedList.prototype = {
     get$runtimeType(receiver) {
@@ -11551,7 +11336,8 @@
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
-    $isTrustedGetRuntimeType: 1
+    $isTrustedGetRuntimeType: 1,
+    $isUint8ClampedList: 1
   };
   A.NativeUint8List.prototype = {
     get$runtimeType(receiver) {
@@ -11606,7 +11392,7 @@
       t1.storedCallback = null;
       f.call$0();
     },
-    $signature: 8
+    $signature: 7
   };
   A._AsyncRun__initializeScheduleImmediate_closure.prototype = {
     call$1(callback) {
@@ -11616,7 +11402,7 @@
       t2 = this.span;
       t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
     },
-    $signature: 55
+    $signature: 38
   };
   A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
     call$0() {
@@ -11723,13 +11509,13 @@
     call$2(error, stackTrace) {
       this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
     },
-    $signature: 58
+    $signature: 46
   };
   A._wrapJsFunctionForAsync_closure.prototype = {
     call$2(errorCode, result) {
       this.$protected(A._asInt(errorCode), result);
     },
-    $signature: 57
+    $signature: 47
   };
   A.AsyncError.prototype = {
     toString$0(_) {
@@ -12071,13 +11857,13 @@
         t1._completeError$2(error, stackTrace);
       }
     },
-    $signature: 8
+    $signature: 7
   };
   A._Future__chainForeignFuture_closure0.prototype = {
     call$2(error, stackTrace) {
       this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace));
     },
-    $signature: 6
+    $signature: 8
   };
   A._Future__chainForeignFuture_closure1.prototype = {
     call$0() {
@@ -12142,7 +11928,7 @@
     call$1(_) {
       return this.originalSource;
     },
-    $signature: 48
+    $signature: 32
   };
   A._Future__propagateToListeners_handleValueCallback.prototype = {
     call$0() {
@@ -12226,7 +12012,7 @@
         this._future._completeError$2(e, s);
       }
     },
-    $signature: 6
+    $signature: 8
   };
   A._AsyncCallbackEntry.prototype = {};
   A.Stream.prototype = {
@@ -12772,7 +12558,7 @@
       else
         t1._completeError$2(error, stackTrace);
     },
-    $signature: 6
+    $signature: 8
   };
   A._BufferingStreamSubscription_asFuture__closure.prototype = {
     call$0() {
@@ -13488,7 +13274,7 @@
           t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s));
       }
     },
-    $signature: 47
+    $signature: 58
   };
   A._HashMap.prototype = {
     get$length(_) {
@@ -13551,9 +13337,9 @@
         nums = _this._collection$_nums;
         _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value);
       } else
-        _this._collection$_set$2(key, value);
+        _this._set$2(key, value);
     },
-    _collection$_set$2(key, value) {
+    _set$2(key, value) {
       var rest, hash, bucket, index, _this = this,
         t1 = A._instanceType(_this);
       t1._precomputed1._as(key);
@@ -13710,7 +13496,7 @@
     call$1(v) {
       return this.K._is(v);
     },
-    $signature: 21
+    $signature: 18
   };
   A._HashMapKeyIterable.prototype = {
     get$length(_) {
@@ -13918,7 +13704,7 @@
       var _this = this,
         elements = _this._collection$_elements,
         offset = _this._offset,
-        t1 = _this._collection$_set;
+        t1 = _this._set;
       if (elements !== t1._collection$_elements)
         throw A.wrapException(A.ConcurrentModificationError$(t1));
       else if (offset >= elements.length) {
@@ -14039,7 +13825,7 @@
     moveNext$0() {
       var _this = this,
         cell = _this._collection$_cell,
-        t1 = _this._collection$_set;
+        t1 = _this._set;
       if (_this._collection$_modifications !== t1._collection$_modifications)
         throw A.wrapException(A.ConcurrentModificationError$(t1));
       else if (cell == null) {
@@ -14068,7 +13854,7 @@
     call$2(k, v) {
       this.result.$indexSet(0, this.K._as(k), this.V._as(v));
     },
-    $signature: 22
+    $signature: 19
   };
   A.ListBase.prototype = {
     get$iterator(receiver) {
@@ -14112,11 +13898,6 @@
     take$1(receiver, count) {
       return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListBase.E"));
     },
-    sort$1(receiver, compare) {
-      var t1 = A.instanceType(receiver);
-      t1._eval$1("int(ListBase.E,ListBase.E)?")._as(compare);
-      A.Sort__doSort(receiver, 0, this.get$length(receiver) - 1, compare, t1._eval$1("ListBase.E"));
-    },
     sublist$2(receiver, start, end) {
       var t1,
         listLength = this.get$length(receiver);
@@ -14201,7 +13982,7 @@
       t1._contents = t2 + ": ";
       t1._contents += A.S(v);
     },
-    $signature: 23
+    $signature: 20
   };
   A._UnmodifiableMapMixin.prototype = {
     $indexSet(_, key, value) {
@@ -14362,7 +14143,7 @@
     },
     containsAll$1(other) {
       var t1, t2, o;
-      for (t1 = other._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
+      for (t1 = other._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
         o = t1._collection$_current;
         if (!this.contains$1(0, o == null ? t2._as(o) : o))
           return false;
@@ -14647,9 +14428,10 @@
       return this._remove$1(0, this.$ti._precomputed1._as(object)) != null;
     },
     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));
+      var t1, _i;
+      this.$ti._eval$1("Iterable<1>")._as(elements);
+      for (t1 = elements.length, _i = 0; _i < elements.length; elements.length === t1 || (0, A.throwConcurrentModificationError)(elements), ++_i)
+        this._collection$_add$1(0, elements[_i]);
     },
     toString$0(_) {
       return A.Iterable_iterableToFullString(this, "{", "}");
@@ -14664,7 +14446,7 @@
     call$1(v) {
       return this.E._is(v);
     },
-    $signature: 21
+    $signature: 18
   };
   A._SplayTreeSet__SplayTree_Iterable.prototype = {};
   A._SplayTreeSet__SplayTree_Iterable_SetMixin.prototype = {};
@@ -15206,7 +14988,7 @@
       B.JSArray_methods.$indexSet(t1, t2.i++, key);
       B.JSArray_methods.$indexSet(t1, t2.i++, value);
     },
-    $signature: 23
+    $signature: 20
   };
   A._JsonStringStringifier.prototype = {
     get$_partialResult() {
@@ -15694,7 +15476,7 @@
       hash = hash + ((hash & 524287) << 10) & 536870911;
       return hash ^ hash >>> 6;
     },
-    $signature: 24
+    $signature: 21
   };
   A._BigIntImpl_hashCode_finish.prototype = {
     call$1(hash) {
@@ -15702,13 +15484,13 @@
       hash ^= hash >>> 11;
       return hash + ((hash & 16383) << 15) & 536870911;
     },
-    $signature: 25
+    $signature: 22
   };
   A._symbolMapToStringMap_closure.prototype = {
     call$2(key, value) {
       this.result.$indexSet(0, type$.Symbol._as(key)._name, value);
     },
-    $signature: 26
+    $signature: 23
   };
   A.NoSuchMethodError_toString_closure.prototype = {
     call$2(key, value) {
@@ -15723,7 +15505,7 @@
       t1._contents += A.Error_safeToString(value);
       t2.comma = ", ";
     },
-    $signature: 26
+    $signature: 23
   };
   A.DateTime.prototype = {
     $eq(_, other) {
@@ -16113,13 +15895,13 @@
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
     },
-    $signature: 46
+    $signature: 66
   };
   A.Uri_parseIPv6Address_error.prototype = {
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
     },
-    $signature: 38
+    $signature: 52
   };
   A.Uri_parseIPv6Address_parseHex.prototype = {
     call$2(start, end) {
@@ -16131,7 +15913,7 @@
         this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start);
       return value;
     },
-    $signature: 24
+    $signature: 21
   };
   A._Uri.prototype = {
     get$_text() {
@@ -16317,7 +16099,7 @@
     call$1(s) {
       return A._Uri__uriEncode(B.List_XRg0, A._asString(s), B.C_Utf8Codec, false);
     },
-    $signature: 32
+    $signature: 48
   };
   A.UriData.prototype = {
     get$uri() {
@@ -16358,7 +16140,7 @@
       B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition);
       return t1;
     },
-    $signature: 31
+    $signature: 57
   };
   A._createTables_setChars.prototype = {
     call$3(target, chars, transition) {
@@ -16370,7 +16152,7 @@
         target[t2] = transition;
       }
     },
-    $signature: 30
+    $signature: 14
   };
   A._createTables_setRange.prototype = {
     call$3(target, range, transition) {
@@ -16389,7 +16171,7 @@
         target[t1] = transition;
       }
     },
-    $signature: 30
+    $signature: 14
   };
   A._SimpleUri.prototype = {
     get$hasAuthority() {
@@ -16924,7 +16706,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 7
+    $signature: 6
   };
   A.MidiOutputMap.prototype = {
     containsKey$1(receiver, key) {
@@ -16973,7 +16755,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 7
+    $signature: 6
   };
   A.MimeType.prototype = {$isMimeType: 1};
   A.MimeTypeArray.prototype = {
@@ -17153,7 +16935,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 7
+    $signature: 6
   };
   A.SelectElement.prototype = {
     get$length(receiver) {
@@ -17287,7 +17069,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 27
+    $signature: 26
   };
   A.StyleSheet.prototype = {$isStyleSheet: 1};
   A.TextTrack.prototype = {$isTextTrack: 1};
@@ -17781,21 +17563,17 @@
     call$1(e) {
       return this.onData.call$1(type$.Event._as(e));
     },
-    $signature: 28
+    $signature: 27
   };
   A._EventStreamSubscription_onData_closure0.prototype = {
     call$1(e) {
       return this.handleData.call$1(type$.Event._as(e));
     },
-    $signature: 28
+    $signature: 27
   };
   A.ImmutableListMixin.prototype = {
     get$iterator(receiver) {
       return new A.FixedSizeListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
-    },
-    sort$1(receiver, compare) {
-      A.instanceType(receiver)._eval$1("int(ImmutableListMixin.E,ImmutableListMixin.E)?")._as(compare);
-      throw A.wrapException(A.UnsupportedError$("Cannot sort immutable List."));
     }
   };
   A.FixedSizeListIterator.prototype = {
@@ -18087,10 +17865,6 @@
         return len;
       throw A.wrapException(A.StateError$("Bad JsArray length"));
     },
-    sort$1(_, compare) {
-      this.$ti._eval$1("int(1,1)?")._as(compare);
-      this.callMethod$2("sort", [compare]);
-    },
     $isEfficientLengthIterable: 1,
     $isIterable: 1,
     $isList: 1
@@ -18100,6 +17874,32 @@
       return this.super$JsObject$$indexSet(0, property, value);
     }
   };
+  A.jsify__convert.prototype = {
+    call$1(o) {
+      var t1, convertedMap, t2, key, convertedList;
+      if (A._noJsifyRequired(o))
+        return o;
+      t1 = this._convertedObjects;
+      if (t1.containsKey$1(0, o))
+        return t1.$index(0, o);
+      if (type$.Map_of_nullable_Object_and_nullable_Object._is(o)) {
+        convertedMap = {};
+        t1.$indexSet(0, o, convertedMap);
+        for (t1 = J.getInterceptor$x(o), t2 = J.get$iterator$ax(t1.get$keys(o)); t2.moveNext$0();) {
+          key = t2.get$current(t2);
+          convertedMap[key] = this.call$1(t1.$index(o, key));
+        }
+        return convertedMap;
+      } else if (type$.Iterable_nullable_Object._is(o)) {
+        convertedList = [];
+        t1.$indexSet(0, o, convertedList);
+        B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic));
+        return convertedList;
+      } else
+        return o;
+    },
+    $signature: 9
+  };
   A.promiseToFuture_closure.prototype = {
     call$1(r) {
       return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r));
@@ -18159,7 +17959,7 @@
       }
       return o;
     },
-    $signature: 13
+    $signature: 9
   };
   A.NullRejectionException.prototype = {
     toString$0(_) {
@@ -18461,7 +18261,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 7
+    $signature: 6
   };
   A.AudioTrackList.prototype = {
     get$length(receiver) {
@@ -18585,7 +18385,7 @@
       type$.StackTrace._as(stackTrace);
       this.$this._addResult$1(new A.ErrorResult(error, stackTrace));
     },
-    $signature: 6
+    $signature: 8
   };
   A.StreamQueue__ensureListening_closure0.prototype = {
     call$0() {
@@ -19214,14 +19014,14 @@
       var t1 = this.$this.$ti;
       this.replacement.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value));
     },
-    $signature: 22
+    $signature: 19
   };
   A.BuiltSet.prototype = {
     get$hashCode(_) {
       var t2, t3, _this = this,
         t1 = _this._set$_hashCode;
       if (t1 == null) {
-        t1 = _this._set;
+        t1 = _this._set$_set;
         t2 = A._instanceType(t1);
         t3 = t2._eval$1("EfficientLengthMappedIterable<1,int>");
         t3 = A.List_List$of(new A.EfficientLengthMappedIterable(t1, t2._eval$1("int(1)")._as(new A.BuiltSet_hashCode_closure(_this)), t3), false, t3._eval$1("Iterable.E"));
@@ -19239,25 +19039,25 @@
         return true;
       if (!(other instanceof A._BuiltSet))
         return false;
-      t1 = this._set;
-      if (other._set._collection$_length !== t1._collection$_length)
+      t1 = this._set$_set;
+      if (other._set$_set._collection$_length !== t1._collection$_length)
         return false;
       if (other.get$hashCode(0) !== this.get$hashCode(0))
         return false;
       return t1.containsAll$1(other);
     },
     toString$0(_) {
-      return A.Iterable_iterableToFullString(this._set, "{", "}");
+      return A.Iterable_iterableToFullString(this._set$_set, "{", "}");
     },
     get$length(_) {
-      return this._set._collection$_length;
+      return this._set$_set._collection$_length;
     },
     get$iterator(_) {
-      var t1 = this._set;
+      var t1 = this._set$_set;
       return A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1);
     },
     map$1$1(_, f, $T) {
-      var t1 = this._set,
+      var t1 = this._set$_set,
         t2 = A._instanceType(t1);
       return new A.EfficientLengthMappedIterable(t1, t2._bind$1($T)._eval$1("1(2)")._as(this.$ti._bind$1($T)._eval$1("1(2)")._as(f)), t2._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
     },
@@ -19265,13 +19065,13 @@
       return this.map$1$1($receiver, f, type$.dynamic);
     },
     contains$1(_, element) {
-      return this._set.contains$1(0, element);
+      return this._set$_set.contains$1(0, element);
     },
     get$isEmpty(_) {
-      return this._set._collection$_length === 0;
+      return this._set$_set._collection$_length === 0;
     },
     elementAt$1(_, index) {
-      return this._set.elementAt$1(0, index);
+      return this._set$_set.elementAt$1(0, index);
     },
     $isIterable: 1
   };
@@ -19288,7 +19088,7 @@
       var t1, t2, element;
       if (!(!$.$get$isSoundMode() && !this.$ti._precomputed1._is(null)))
         return;
-      for (t1 = this._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
+      for (t1 = this._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
         element = t1._collection$_current;
         if ((element == null ? t2._as(element) : element) == null)
           throw A.wrapException(A.ArgumentError$("iterable contained invalid element: null", null));
@@ -19468,7 +19268,7 @@
             t2.set$_setOwner(new A._BuiltSet(t3, t4, A._instanceType(t2)._eval$1("_BuiltSet<1>")));
           }
           builtSet = t2._setOwner;
-          t2 = builtSet._set._collection$_length;
+          t2 = builtSet._set$_set._collection$_length;
           t3 = _this.__SetMultimapBuilder__builtMap_A;
           if (t2 === 0) {
             t3 === $ && A.throwLateFieldNI(_s9_);
@@ -19507,7 +19307,7 @@
         else {
           t1 = builtValues.$ti;
           t1._eval$1("_BuiltSet<1>")._as(builtValues);
-          result = new A.SetBuilder(builtValues._setFactory, builtValues._set, builtValues, t1._eval$1("SetBuilder<1>"));
+          result = new A.SetBuilder(builtValues._setFactory, builtValues._set$_set, builtValues, t1._eval$1("SetBuilder<1>"));
         }
         _this.__SetMultimapBuilder__builderMap_A.$indexSet(0, key, result);
       }
@@ -19602,7 +19402,7 @@
       $._indentingBuiltValueToStringHelperIndent = $._indentingBuiltValueToStringHelperIndent + 2;
       return new A.IndentingBuiltValueToStringHelper(t1);
     },
-    $signature: 40
+    $signature: 31
   };
   A.IndentingBuiltValueToStringHelper.prototype = {
     add$2(_, field, value) {
@@ -20182,7 +19982,7 @@
     call$1(value) {
       return this.serializers.deserialize$2$specifiedType(value, this.valueType);
     },
-    $signature: 13
+    $signature: 9
   };
   A.BuiltListSerializer.prototype = {
     serialize$3$specifiedType(serializers, builtList, specifiedType) {
@@ -20365,7 +20165,7 @@
         result.push(serializers.serialize$2$specifiedType(key, keyType));
         result0 = t2.$index(0, key);
         t4 = result0 == null ? t3 : result0;
-        t5 = t4._set;
+        t5 = t4._set$_set;
         t6 = A._instanceType(t5);
         t7 = t6._eval$1("EfficientLengthMappedIterable<1,Object?>");
         result.push(A.List_List$of(new A.EfficientLengthMappedIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltSetMultimapSerializer_serialize_closure(serializers, valueType))), t7), true, t7._eval$1("Iterable.E")));
@@ -20470,7 +20270,7 @@
           return A.ioore(t1, 0);
         elementType = t1[0];
       }
-      t1 = builtSet._set;
+      t1 = builtSet._set$_set;
       t2 = A._instanceType(t1);
       return new A.EfficientLengthMappedIterable(t1, t2._eval$1("Object?(1)")._as(builtSet.$ti._eval$1("Object?(1)")._as(new A.BuiltSetSerializer_serialize_closure(serializers, elementType))), t2._eval$1("EfficientLengthMappedIterable<1,Object?>"));
     },
@@ -22984,13 +22784,13 @@
     call$0() {
       return true;
     },
-    $signature: 18
+    $signature: 24
   };
   A.BatchedStreamController__hasEventDuring_closure.prototype = {
     call$0() {
       return false;
     },
-    $signature: 18
+    $signature: 24
   };
   A.SocketClient.prototype = {};
   A.SseSocketClient.prototype = {
@@ -23039,7 +22839,7 @@
       type$.StackTrace._as(stackTrace);
       return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace);
     },
-    $signature: 20
+    $signature: 17
   };
   A.Int32.prototype = {
     _toInt$1(val) {
@@ -23375,7 +23175,7 @@
       var t1 = this.$this;
       J.complete$1$z(t1._onReleaseCompleters.removeFirst$0(), new A.PoolResource(t1));
     },
-    $signature: 8
+    $signature: 7
   };
   A.Pool__runOnRelease_closure0.prototype = {
     call$2(error, stackTrace) {
@@ -23383,7 +23183,7 @@
       type$.StackTrace._as(stackTrace);
       this.$this._onReleaseCompleters.removeFirst$0().completeError$2(error, stackTrace);
     },
-    $signature: 6
+    $signature: 8
   };
   A.PoolResource.prototype = {};
   A.SseClient.prototype = {
@@ -23571,25 +23371,25 @@
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 29
+    $signature: 25
   };
   A.generateUuidV4_generateBits.prototype = {
     call$1(bitCount) {
       return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount));
     },
-    $signature: 25
+    $signature: 22
   };
   A.generateUuidV4_printDigits.prototype = {
     call$2(value, count) {
       return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0");
     },
-    $signature: 16
+    $signature: 29
   };
   A.generateUuidV4_bitsDigits.prototype = {
     call$2(bitCount, digitCount) {
       return this.printDigits.call$2(this.generateBits.call$1(bitCount), digitCount);
     },
-    $signature: 16
+    $signature: 29
   };
   A.GuaranteeChannel.prototype = {
     GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) {
@@ -23702,7 +23502,7 @@
   A._GuaranteeSink__addError_closure.prototype = {
     call$1(_) {
     },
-    $signature: 8
+    $signature: 7
   };
   A.StreamChannelController.prototype = {
     set$__StreamChannelController__local_F(__StreamChannelController__local_F) {
@@ -23998,7 +23798,7 @@
       t2.complete$0(0);
       t1._listen$0();
     },
-    $signature: 15
+    $signature: 30
   };
   A.HtmlWebSocketChannel_closure0.prototype = {
     call$1(_) {
@@ -24018,7 +23818,7 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.close$0(0);
     },
-    $signature: 15
+    $signature: 30
   };
   A.HtmlWebSocketChannel_closure1.prototype = {
     call$1($event) {
@@ -24048,7 +23848,7 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.close$0(0);
     },
-    $signature: 60
+    $signature: 91
   };
   A.HtmlWebSocketChannel__listen_closure.prototype = {
     call$0() {
@@ -24141,7 +23941,7 @@
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 92
+    $signature: 61
   };
   A.main__closure.prototype = {
     call$1(runId) {
@@ -24170,7 +23970,7 @@
       b.get$_debug_event$_$this().set$_events(t1);
       return t1;
     },
-    $signature: 64
+    $signature: 90
   };
   A.main__closure1.prototype = {
     call$2(kind, eventData) {
@@ -24184,7 +23984,7 @@
         A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent);
       }
     },
-    $signature: 27
+    $signature: 26
   };
   A.main___closure1.prototype = {
     call$1(b) {
@@ -24206,7 +24006,7 @@
       type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3);
       A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic);
     },
-    $signature: 14
+    $signature: 15
   };
   A.main___closure0.prototype = {
     call$1(b) {
@@ -24324,7 +24124,7 @@
   A.main__closure5.prototype = {
     call$1(error) {
     },
-    $signature: 8
+    $signature: 7
   };
   A.main__closure6.prototype = {
     call$1(e) {
@@ -24353,7 +24153,7 @@
       type$.StackTrace._as(stackTrace);
       A.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" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n");
     },
-    $signature: 9
+    $signature: 11
   };
   A._launchCommunicationWithDebugExtension_closure.prototype = {
     call$1(b) {
@@ -24664,6 +24464,12 @@
       var t1;
       A._asString(module);
       t1 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module);
+      if (t1 == null)
+        t1 = null;
+      else {
+        t1 = A.JSArrayExtension_toDartIterable(t1, type$.String);
+        t1 = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E"));
+      }
       return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1;
     },
     _moduleTopologicalCompare$2(module1, module2) {
@@ -24689,7 +24495,7 @@
     _reload$body$RequireRestarter(modules) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
-        $async$returnValue, $async$handler = 2, $async$currentError, $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$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, exception, t1, $async$exception;
       var $async$_reload$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1) {
           $async$currentError = $async$result;
@@ -24721,40 +24527,39 @@
               t1 === $ && A.throwLateFieldNI("_dirtyModules");
               t1.addAll$1(0, modules);
               previousModuleId = null;
-              t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.JSArray_String, t3 = type$.Object, t4 = type$.JSObject, t5 = type$.dynamic_Function;
+              t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.Object, t3 = type$.JSObject, t4 = type$.dynamic_Function;
             case 10:
               // for condition
-              if (!(t6 = $async$self.__RequireRestarter__dirtyModules_A, t6._root != null)) {
+              if (!(t5 = $async$self.__RequireRestarter__dirtyModules_A, t5._root != null)) {
                 // goto after for
                 $async$goto = 11;
                 break;
               }
-              if (t6._count === 0)
+              if (t5._count === 0)
                 A.throwExpression(A.IterableElementError_noElement());
-              moduleId = t6.get$_collection$_first().key;
+              moduleId = t5.get$_collection$_first().key;
               $async$self.__RequireRestarter__dirtyModules_A.remove$1(0, moduleId);
-              t6 = A._asString(moduleId);
-              t6 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t6);
-              parentIds = t6 == null ? A._setArrayType([], t2) : t6;
-              $async$goto = J.get$isEmpty$asx(parentIds) ? 12 : 14;
+              t5 = A._asString(moduleId);
+              parentIds = A.ModuleDependencyGraph_parents(J.get$moduleParentsGraph$x(self.$requireLoader), t5);
+              $async$goto = J.get$length$asx(parentIds) === 0 ? 12 : 14;
               break;
             case 12:
               // then
-              childModule = t4._as(t3._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId));
-              self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t5);
+              childModule = t3._as(t2._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId));
+              self.$dartRunMain = A.allowInterop(new A.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 A._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1);
             case 15:
@@ -24822,7 +24627,7 @@
     _updateGraph$0() {
       var stronglyConnectedComponents, i, t2, t3, _i,
         t1 = type$.String,
-        allModules = A.JSArrayToIterable_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1);
+        allModules = A.JSArrayExtension_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1);
       A.print("Modules: " + allModules.toString$0(0));
       stronglyConnectedComponents = A.stronglyConnectedComponents(allModules, this.get$_moduleParents(), t1);
       t1 = this._moduleOrdering;
@@ -24844,7 +24649,7 @@
   };
   A.RequireRestarter__reload_closure.prototype = {
     call$0() {
-      A.JSArrayToIterable_toDartIterable(self.Object.values(this.childModule), type$.nullable_Object).get$first(0).main();
+      A.JSArrayExtension_toDartIterable(self.Object.values(this.childModule), type$.nullable_Object).get$first(0).main();
     },
     $signature: 4
   };
@@ -24854,15 +24659,6 @@
     },
     $signature: 76
   };
-  A._findNonce_closure.prototype = {
-    call$1(element) {
-      var nonceValue = A._asString(type$.JavaScriptObject._as(element).nonce),
-        t1 = $.$get$_noncePattern();
-      if (t1._nativeRegExp.test(nonceValue))
-        return nonceValue;
-    },
-    $signature: 77
-  };
   A.runMain_closure.prototype = {
     call$0() {
       return this.scriptElement.remove();
@@ -24871,7 +24667,7 @@
   };
   A.JsError.prototype = {};
   A.JsMap.prototype = {};
-  A.JSArrayToIterable_toDartIterable_closure.prototype = {
+  A.JSArrayExtension_toDartIterable_closure.prototype = {
     call$1(e) {
       return this.T._as(A.dartify(e));
     },
@@ -24890,7 +24686,7 @@
     _ = A._HashMap.prototype;
     _.super$_HashMap$_containsKey = _._containsKey$1;
     _.super$_HashMap$_get = _._get$1;
-    _.super$_HashMap$_set = _._collection$_set$2;
+    _.super$_HashMap$_set = _._set$2;
     _ = A.Object.prototype;
     _.super$Object$toString = _.toString$0;
     _ = A.JsObject.prototype;
@@ -24909,69 +24705,69 @@
       _instance_1_i = hunkHelpers._instance_1i,
       _instance_0_u = hunkHelpers._instance_0u,
       _instance_1_u = hunkHelpers._instance_1u;
-    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 78);
+    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 77);
     _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 10);
     _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 10);
     _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 10);
     _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
     _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 5);
-    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 9);
+    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11);
     _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
-    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 80, 0);
+    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 79, 0);
     _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
       return A._rootRun($self, $parent, zone, f, type$.dynamic);
-    }], 81, 1);
+    }], 80, 1);
     _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
       return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic);
-    }], 82, 1);
+    }], 81, 1);
     _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
       return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 83, 1);
+    }], 82, 1);
     _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
       return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic);
-    }], 84, 0);
+    }], 83, 0);
     _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
       return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic);
-    }], 85, 0);
+    }], 84, 0);
     _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
       return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 86, 0);
-    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 87, 0);
-    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 88, 0);
-    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 89, 0);
-    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 90, 0);
-    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 91, 0);
-    _static_1(A, "async___printToZone$closure", "_printToZone", 14);
-    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 61, 0);
-    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 17, 0, 0);
+    }], 85, 0);
+    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 86, 0);
+    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 87, 0);
+    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 88, 0);
+    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 89, 0);
+    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 64, 0);
+    _static_1(A, "async___printToZone$closure", "_printToZone", 15);
+    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 60, 0);
+    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 28, 0, 0);
     _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() {
       return [null];
-    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 52, 0, 0);
-    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 9);
+    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 55, 0, 0);
+    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 11);
     var _;
-    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 19);
+    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 16);
     _instance(_, "get$addError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 17, 0, 0);
+    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 28, 0, 0);
     _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
-    _instance_1_u(_, "get$_handleData", "_handleData$1", 19);
-    _instance_2_u(_, "get$_handleError", "_handleError$2", 20);
+    _instance_1_u(_, "get$_handleData", "_handleData$1", 16);
+    _instance_2_u(_, "get$_handleError", "_handleError$2", 17);
     _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
     _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 12);
-    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 11);
+    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 13);
     _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 2);
-    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 11);
+    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 13);
     _static_2(A, "core__identical$closure", "identical", 12);
     _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 5);
-    _static_1(A, "js___convertToJS$closure", "_convertToJS", 13);
+    _static_1(A, "js___convertToJS$closure", "_convertToJS", 9);
     _static_1(A, "js___convertToDart$closure", "_convertToDart", 3);
     _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 12);
-    _instance_1_i(_, "get$hash", "hash$1", 11);
+    _instance_1_i(_, "get$hash", "hash$1", 13);
     _instance_1_u(_, "get$isValidKey", "isValidKey$1", 49);
     _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 1);
     _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 1);
@@ -24997,7 +24793,7 @@
     _inherit(A.CastIterable, A._CastIterableBase);
     _inherit(A._EfficientLengthCastIterable, A.CastIterable);
     _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]);
-    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A._findNonce_closure, A.JSArrayToIterable_toDartIterable_closure]);
+    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A.JSArrayExtension_toDartIterable_closure]);
     _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]);
     _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]);
     _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.runMain_closure]);
@@ -25199,12 +24995,12 @@
     typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
     mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"},
     mangledNames: {},
-    types: ["~()", "~(JavaScriptObject)", "@(@)", "Object?(@)", "Null()", "~(@)", "Null(Object,StackTrace)", "~(String,@)", "Null(@)", "~(Object,StackTrace)", "~(~())", "int(Object?)", "bool(Object?,Object?)", "Object?(Object?)", "~(String)", "Null(Event)", "String(int,int)", "~(Object[StackTrace?])", "bool()", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "~(String,String)", "~(Event)", "Future<Null>()", "~(Uint8List,String,int)", "Uint8List(@,@)", "String(String)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "~(String,int?)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "SetMultimapBuilder<Object,Object>()", "~(String,int)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "_Future<@>(@)", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "~([Object?])", "String(@)", "Logger()", "Null(~())", "~(String?)", "~(int,@)", "Null(@,StackTrace)", "~(MessageEvent)", "Null(CloseEvent)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "Promise<1&>(String)", "~(List<DebugEvent>)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "@(String)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List<String>(String)", "int(String,String)", "~(JsError)", "String?(JavaScriptObject)", "int(@,@)", "@(@,String)", "~(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)", "Future<~>()"],
+    types: ["~()", "~(JavaScriptObject)", "@(@)", "Object?(@)", "Null()", "~(@)", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "Object?(Object?)", "~(~())", "~(Object,StackTrace)", "bool(Object?,Object?)", "int(Object?)", "~(Uint8List,String,int)", "~(String)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "bool()", "Future<Null>()", "~(String,String)", "~(Event)", "~(Object[StackTrace?])", "String(int,int)", "Null(Event)", "IndentingBuiltValueToStringHelper(String)", "_Future<@>(@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "Null(~())", "int(int,@)", "@(@,String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "SetMultimapBuilder<Object,Object>()", "Null(@,StackTrace)", "~(int,@)", "String(String)", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "~(String,int?)", "String(@)", "Logger()", "~([Object?])", "~(String?)", "Uint8List(@,@)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "~(MessageEvent)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "Future<~>()", "Promise<1&>(String)", "~(List<DebugEvent>)", "~(Zone,ZoneDelegate,Zone,String)", "DebugEventBuilder(DebugEventBuilder)", "~(String,int)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List<String>(String)", "int(String,String)", "~(JsError)", "int(@,@)", "@(String)", "~(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))", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "Null(CloseEvent)"],
     interceptorsByTag: null,
     leafTags: null,
     arrayRti: Symbol("$ti")
   };
-  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"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":[]}}'));
+  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"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":[]}}'));
   A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
   var string$ = {
     ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
@@ -25233,6 +25029,7 @@
       BuiltSetMultimap_dynamic_dynamic: findType("BuiltSetMultimap<@,@>"),
       BuiltSet_dynamic: findType("BuiltSet<@>"),
       ByteBuffer: findType("ByteBuffer"),
+      ByteData: findType("ByteData"),
       CloseEvent: findType("CloseEvent"),
       Comparable_dynamic: findType("Comparable<@>"),
       Completer_bool: findType("Completer<bool>"),
@@ -25253,13 +25050,18 @@
       ExtensionRequest: findType("ExtensionRequest"),
       ExtensionResponse: findType("ExtensionResponse"),
       File: findType("File"),
+      Float32List: findType("Float32List"),
+      Float64List: findType("Float64List"),
       FullType: findType("FullType"),
       Function: findType("Function"),
       Future_dynamic: findType("Future<@>"),
       Future_void: findType("Future<~>"),
       ImageData: findType("ImageData"),
+      Int16List: findType("Int16List"),
       Int32: findType("Int32"),
+      Int32List: findType("Int32List"),
       Int64: findType("Int64"),
+      Int8List: findType("Int8List"),
       Invocation: findType("Invocation"),
       IsolateExit: findType("IsolateExit"),
       IsolateStart: findType("IsolateStart"),
@@ -25303,6 +25105,7 @@
       Map_String_String: findType("Map<String,String>"),
       Map_dynamic_dynamic: findType("Map<@,@>"),
       Map_of_String_and_nullable_Object: findType("Map<String,Object?>"),
+      Map_of_nullable_Object_and_nullable_Object: findType("Map<Object?,Object?>"),
       MessageEvent: findType("MessageEvent"),
       MimeType: findType("MimeType"),
       NativeUint8List: findType("NativeUint8List"),
@@ -25350,6 +25153,9 @@
       Type: findType("Type"),
       TypeError: findType("TypeError"),
       TypedData: findType("TypedData"),
+      Uint16List: findType("Uint16List"),
+      Uint32List: findType("Uint32List"),
+      Uint8ClampedList: findType("Uint8ClampedList"),
       Uint8List: findType("Uint8List"),
       UnknownJavaScriptObject: findType("UnknownJavaScriptObject"),
       UnmodifiableListView_nullable_Object: findType("UnmodifiableListView<Object?>"),
@@ -25838,7 +25644,6 @@
     _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", () => function DartObject(o) {
       this.o = o;
     });
-    _lazyFinal($, "_jsBoxedDartObjectProperty", "$get$_jsBoxedDartObjectProperty", () => Symbol("jsBoxedDartObjectProperty"));
     _lazyFinal($, "isSoundMode", "$get$isSoundMode", () => !type$.List_int._is(A._setArrayType([], A.findType("JSArray<int?>"))));
     _lazy($, "newBuiltValueToStringHelper", "$get$newBuiltValueToStringHelper", () => new A.newBuiltValueToStringHelper_closure());
     _lazyFinal($, "_runtimeType", "$get$_runtimeType", () => A.getRuntimeTypeOfDartObject(A.RegExp_RegExp("", true, false)));
diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart
index 10cba6105..f58de69da 100644
--- a/dwds/web/reloader/require_restarter.dart
+++ b/dwds/web/reloader/require_restarter.dart
@@ -115,7 +115,7 @@ class RequireRestarter implements Restarter {
     return result;
   }
 
-  Iterable<String> _allModules() => requireLoader.moduleParentsGraph.dartKeys;
+  Iterable<String> _allModules() => requireLoader.moduleParentsGraph.modules;
 
   Future<Map<String, String>> _getDigests() async {
     final request = await HttpRequest.request(
@@ -133,7 +133,7 @@ class RequireRestarter implements Restarter {
   }
 
   List<String> _moduleParents(String module) =>
-      requireLoader.moduleParentsGraph.get(module) ?? [];
+      requireLoader.moduleParentsGraph.parents(module);
 
   int _moduleTopologicalCompare(String module1, String module2) {
     var topological = 0;
diff --git a/dwds/web/run_main.dart b/dwds/web/run_main.dart
index 3ab4d9ba1..5c6bd9df7 100644
--- a/dwds/web/run_main.dart
+++ b/dwds/web/run_main.dart
@@ -5,33 +5,33 @@
 import 'dart:js_interop';
 import 'package:web/helpers.dart';
 
-import 'web_utils.dart';
-
 // According to the CSP3 spec a nonce must be a valid base64 string.
 final _noncePattern = RegExp('^[\\w+/_-]+[=]{0,2}\$');
 
 /// Returns CSP nonce, if set for any script tag.
 String? _findNonce() {
   final elements = window.document.querySelectorAll('script');
-  elements.forEach(
-    (Node element) {
-      final nonceValue = (element as HtmlElement).nonce;
-      if (_noncePattern.hasMatch(nonceValue)) {
-        return nonceValue;
-      }
-    }.toJS,
-  );
+
+  for (var i = 0; i < elements.length; i++) {
+    final element = elements.item(i);
+    final nonceValue = (element as HtmlElement).nonce;
+    if (_noncePattern.hasMatch(nonceValue)) {
+      return nonceValue;
+    }
+  }
   return null;
 }
 
 /// Creates a script that will run properly when strict CSP is enforced.
 ///
 /// More specifically, the script has the correct `nonce` value set.
-HTMLScriptElement _createScript() {
+HTMLElement _createScript() {
+  final scriptElement = document.createElement("script");
   final nonce = _findNonce();
-
-  return nonce == null ? HTMLScriptElement() : HTMLScriptElement()
-    ..setAttribute('nonce', nonce!);
+  if (nonce != null) {
+    scriptElement.setAttribute('nonce', nonce);
+  }
+  return scriptElement as HTMLElement;
 }
 
 /// Runs `window.$dartRunMain()` by injecting a script tag.
@@ -39,8 +39,8 @@ HTMLScriptElement _createScript() {
 /// We do this so that we don't see user exceptions bubble up in our own error
 /// handling zone.
 void runMain() {
-  final scriptElement = _createScript()..htmlFor = r'window.$dartRunMain();';
-  (document.body as HTMLBodyElement).append(scriptElement.toJSBox);
+  final scriptElement = _createScript()..innerHTML = r'window.$dartRunMain();';
+  document.body!.append(scriptElement.jsify()!);
   // External tear-offs are not allowed.
   // ignore: unnecessary_lambdas
   Future.microtask(() => scriptElement.remove());
diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart
index d5d14664c..d9b88738d 100644
--- a/dwds/web/web_utils.dart
+++ b/dwds/web/web_utils.dart
@@ -8,7 +8,6 @@ library require_reloading_manager;
 import 'dart:js_interop';
 
 import 'package:js/js.dart';
-import 'package:web/helpers.dart';
 
 @JS('Array.from')
 external JSArray _jsArrayFrom(Object any);
@@ -27,28 +26,25 @@ abstract class JsError {
 
 @JS('Map')
 abstract class JsMap<K, V> {
-  @JS()
+  @JS('Map.get')
   external V? get(K key);
 
   @JS()
   external Object keys();
-
-  @JS()
-  external Object values();
 }
 
-extension ObjectValues on JSObject {
+extension ObjectExtension on JSObject {
   Iterable<Object?> get values => _jsObjectValues(this).toDartIterable();
 }
 
-extension JSArrayToIterable on JSArray {
+extension JSArrayExtension on JSArray {
   Iterable<T> toDartIterable<T>() => toDart.map((e) => e.dartify() as T);
+  List<T> toDartList<T>() => toDartIterable<T>().toList();
 }
 
-extension JSMapToMap<K, V> on JsMap<K, V> {
-  Iterable<K> get dartKeys => _jsArrayFrom(keys()).toDartIterable<K>();
-}
+extension ModuleDependencyGraph on JsMap<String, List<String>> {
+  Iterable<String> get modules => _jsArrayFrom(keys()).toDartIterable<String>();
 
-extension NodeListExtension on NodeList {
-  external void forEach(JSFunction callback);
+  List<String> parents(String key) =>
+      (get(key) as JSArray?)?.toDartList<String>() ?? [];
 }
diff --git a/fixtures/_webdevSoundSmoke/web/main.dart b/fixtures/_webdevSoundSmoke/web/main.dart
index 46aea1208..907bfdbba 100644
--- a/fixtures/_webdevSoundSmoke/web/main.dart
+++ b/fixtures/_webdevSoundSmoke/web/main.dart
@@ -11,7 +11,7 @@ void main() {
   print('Initial Print');
 
   registerExtension('ext.print', (_, __) async {
-    print('Hello World1');
+    print('Hello World');
     return ServiceExtensionResponse.result(json.encode({'success': true}));
   });
   document.body?.append(SpanElement()..text = 'Hello World!!');

From fe7a909ccb4fa0cd5159677a48591693bdd918c4 Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Thu, 14 Dec 2023 09:51:13 -0800
Subject: [PATCH 05/16] Cleanup

---
 dwds/web/reloader/require_restarter.dart | 2 +-
 dwds/web/web_utils.dart                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart
index f58de69da..1995306cb 100644
--- a/dwds/web/reloader/require_restarter.dart
+++ b/dwds/web/reloader/require_restarter.dart
@@ -235,7 +235,7 @@ class RequireRestarter implements Restarter {
 
   void _updateGraph() {
     final allModules = _allModules();
-    print('Modules: $allModules');
+
     final stronglyConnectedComponents =
         graphs.stronglyConnectedComponents(allModules, _moduleParents);
     _moduleOrdering.clear();
diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart
index d9b88738d..b404b7311 100644
--- a/dwds/web/web_utils.dart
+++ b/dwds/web/web_utils.dart
@@ -1,4 +1,4 @@
-// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// Copyright (c) 2023, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 

From b1ff764289b9d58ceace2a3b2825a08b3edbaec4 Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Thu, 14 Dec 2023 09:54:59 -0800
Subject: [PATCH 06/16] Update changelog and build

---
 dwds/CHANGELOG.md               |   2 +
 dwds/lib/src/injected/client.js | 125 +++++++++++++++++++-------------
 2 files changed, 75 insertions(+), 52 deletions(-)

diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md
index da911f1d0..d9d5e7ea2 100644
--- a/dwds/CHANGELOG.md
+++ b/dwds/CHANGELOG.md
@@ -3,6 +3,8 @@
 - Add `FrontendServerLegacyStrategyProvider` and update bootstrap generation logic for `LegacyStrategy` - [#2285](https://github.com/dart-lang/webdev/pull/2285)
 - Tolerate failures to detect a dart execution context. - [#2286](https://github.com/dart-lang/webdev/pull/2286)
 - Fix a null cast error when debugging a `Class` from VS Code. - [#2303](https://github.com/dart-lang/webdev/pull/2303)
+- Migrate injected client code to `package:web`. - 
+
 
 ## 22.1.0
 - Update `package:vm_service` constraint to `^13.0.0`. - [#2265](https://github.com/dart-lang/webdev/pull/2265)
diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 4fbfd1afc..f45dee6c6 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -1,4 +1,4 @@
-// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-197.0.dev.
+// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-214.0.dev.
 // The code supports the following hooks:
 // dartPrint(message):
 //    if this function is defined it is called instead of the Dart [print]
@@ -17,6 +17,14 @@
 //    this uri being loaded. The loadPriority argument is the priority the
 //    library should be loaded with as specified in the code via the
 //    load-priority annotation (0: normal, 1: high).
+// dartDeferredLibraryMultiLoader(uris, successCallback, errorCallback, loadId, loadPriority):
+//    if this function is defined, it will be called when a deferred library
+//    is loaded. It should load and eval the javascript of every URI in `uris`,
+//    and call successCallback. If it fails to do so, it should call
+//    errorCallback with an error. The loadId argument is the deferred import
+//    that resulted in this uri being loaded. The loadPriority argument is the
+//    priority the library should be loaded with as specified in the code via
+//    the load-priority annotation (0: normal, 1: high).
 //
 // dartCallInstrumentation(id, qualifiedName):
 //    if this function is defined, it will be called at each entry of a
@@ -7732,6 +7740,9 @@
         return object;
       return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object);
     },
+    callMethod(o, method, args, $T) {
+      return $T._as(o[method].apply(o, args));
+    },
     promiseToFuture(jsPromise, $T) {
       var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")),
         completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"));
@@ -8918,7 +8929,7 @@
         t1 = null;
       else {
         t1 = A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.JavaScriptObject);
-        t1 = t1 == null ? null : A.allowInterop(t1, type$.Function);
+        t1 = t1 == null ? null : type$.LegacyJavaScriptObject._as(A.allowInterop(t1, type$.Function));
       }
       t1 = new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>"));
       t1._tryResume$0();
@@ -9045,7 +9056,7 @@
     },
     _launchCommunicationWithDebugExtension() {
       var t1, t2;
-      type$.JavaScriptObject._as(self.window).addEventListener("message", A.allowInterop(A.client___handleAuthRequest$closure(), type$.Function));
+      A.callMethod(type$.JavaScriptObject._as(self.window), "addEventListener", ["message", type$.LegacyJavaScriptObject._as(A.allowInterop(A.client___handleAuthRequest$closure(), type$.Function))], type$.void);
       t1 = $.$get$serializers();
       t2 = new A.DebugInfoBuilder();
       type$.nullable_void_Function_DebugInfoBuilder._as(new A._launchCommunicationWithDebugExtension_closure()).call$1(t2);
@@ -9257,7 +9268,8 @@
       return null;
     },
     runMain() {
-      var t1 = self,
+      var t3,
+        t1 = self,
         t2 = type$.JavaScriptObject,
         scriptElement = t2._as(t2._as(t1.document).createElement("script")),
         nonce = A._findNonce();
@@ -9268,24 +9280,16 @@
       t1.toString;
       t2 = A.jsify(scriptElement);
       t2.toString;
-      t1.append(t2);
-      A.Future_Future$microtask(new A.runMain_closure(scriptElement), type$.void);
+      t3 = type$.void;
+      A.callMethod(t1, "append", [t2], t3);
+      A.Future_Future$microtask(new A.runMain_closure(scriptElement), t3);
     },
     runMain_closure: function runMain_closure(t0) {
       this.scriptElement = t0;
     },
     JSArrayExtension_toDartIterable(_this, $T) {
-      return J.map$1$1$ax(_this, new A.JSArrayExtension_toDartIterable_closure($T), $T);
-    },
-    ModuleDependencyGraph_parents(_this, key) {
-      var t1 = J.$get$1$x(_this, key);
-      if (t1 == null)
-        t1 = null;
-      else {
-        t1 = A.JSArrayExtension_toDartIterable(t1, type$.String);
-        t1 = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E"));
-      }
-      return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1;
+      var t1 = A._arrayInstanceType(_this);
+      return new A.MappedListIterable(_this, t1._bind$1($T)._eval$1("1(2)")._as(new A.JSArrayExtension_toDartIterable_closure($T)), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
     },
     JsError: function JsError() {
     },
@@ -20852,7 +20856,6 @@
       return J.get$hashCode$(o);
     },
     isValidKey$1(o) {
-      !type$.Iterable_dynamic._is(o);
       return true;
     },
     $isEquality: 1
@@ -23188,7 +23191,8 @@
   A.PoolResource.prototype = {};
   A.SseClient.prototype = {
     SseClient$2$debugKey(serverUrl, debugKey) {
-      var t2, _this = this,
+      var t2, t3, t4, _this = this,
+        _s16_ = "addEventListener",
         t1 = serverUrl + "?sseClientId=" + _this._clientId;
       _this.__SseClient__serverUrl_A = t1;
       t2 = type$.JavaScriptObject;
@@ -23196,11 +23200,13 @@
       _this.__SseClient__eventSource_A = t1;
       new A._EventStream(t1, "open", false, type$._EventStream_JavaScriptObject).get$first(0).whenComplete$1(new A.SseClient_closure(_this));
       t1 = type$.Function;
-      _this.__SseClient__eventSource_A.addEventListener("message", A.allowInterop(_this.get$_onIncomingMessage(), t1));
-      _this.__SseClient__eventSource_A.addEventListener("control", A.allowInterop(_this.get$_onIncomingControlMessage(), t1));
-      t1 = type$.nullable_void_Function_JavaScriptObject;
-      A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "open", t1._as(new A.SseClient_closure0(_this)), false, t2);
-      A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "error", t1._as(new A.SseClient_closure1(_this)), false, t2);
+      t3 = type$.LegacyJavaScriptObject;
+      t4 = type$.void;
+      A.callMethod(_this.__SseClient__eventSource_A, _s16_, ["message", t3._as(A.allowInterop(_this.get$_onIncomingMessage(), t1))], t4);
+      A.callMethod(_this.__SseClient__eventSource_A, _s16_, ["control", t3._as(A.allowInterop(_this.get$_onIncomingControlMessage(), t1))], t4);
+      t4 = type$.nullable_void_Function_JavaScriptObject;
+      A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "open", t4._as(new A.SseClient_closure0(_this)), false, t2);
+      A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "error", t4._as(new A.SseClient_closure1(_this)), false, t2);
     },
     close$0(_) {
       var _this = this,
@@ -23336,7 +23342,7 @@
               t2 = type$.JavaScriptObject;
               t1 = t2._as({method: "POST", body: t1, credentials: "include"});
               $async$goto = 6;
-              return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(t2._as(self.window).fetch(url, t1)), type$.nullable_Object), $async$call$0);
+              return A._asyncAwait(A.promiseToFuture(A.callMethod(t2._as(self.window), "fetch", [url, t1], type$.JSObject), type$.nullable_Object), $async$call$0);
             case 6:
               // returning from await.
               $async$handler = 1;
@@ -23702,7 +23708,7 @@
         throw A.wrapException(A.StateError$("Subscription has been canceled."));
       _this._unlisten$0();
       t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.JavaScriptObject);
-      t1 = t1 == null ? null : A.allowInterop(t1, type$.Function);
+      t1 = t1 == null ? null : type$.LegacyJavaScriptObject._as(A.allowInterop(t1, type$.Function));
       _this._onData = t1;
       _this._tryResume$0();
     },
@@ -23720,15 +23726,22 @@
       _this._tryResume$0();
     },
     _tryResume$0() {
-      var _this = this,
+      var t2, _this = this,
         t1 = _this._onData;
-      if (t1 != null && _this._pauseCount <= 0)
-        _this._target.addEventListener(_this._eventType, t1, false);
+      if (t1 != null && _this._pauseCount <= 0) {
+        t2 = _this._target;
+        t2.toString;
+        A.callMethod(t2, "addEventListener", [_this._eventType, t1, false], type$.void);
+      }
     },
     _unlisten$0() {
-      var t1 = this._onData;
-      if (t1 != null)
-        this._target.removeEventListener(this._eventType, t1, false);
+      var t2,
+        t1 = this._onData;
+      if (t1 != null) {
+        t2 = this._target;
+        t2.toString;
+        A.callMethod(t2, "removeEventListener", [this._eventType, t1, false], type$.void);
+      }
     },
     $isStreamSubscription: 1
   };
@@ -24110,7 +24123,7 @@
               } else if ($event instanceof A._$RunRequest)
                 A.runMain();
               else if ($event instanceof A._$ErrorResponse)
-                type$.JavaScriptObject._as(self.window).reportError("Error from backend:\n\nError: " + $event.error + "\n\nStack Trace:\n" + $event.stackTrace);
+                A.callMethod(type$.JavaScriptObject._as(self.window), "reportError", ["Error from backend:\n\nError: " + $event.error + "\n\nStack Trace:\n" + $event.stackTrace], type$.void);
             case 3:
               // join
               // implicit return
@@ -24463,7 +24476,7 @@
     _moduleParents$1(module) {
       var t1;
       A._asString(module);
-      t1 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module);
+      t1 = type$.nullable_JSArray_nullable_Object._as(J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module));
       if (t1 == null)
         t1 = null;
       else {
@@ -24495,7 +24508,7 @@
     _reload$body$RequireRestarter(modules) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
-        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, exception, t1, $async$exception;
+        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, t6, t7, t8, parentIds0, exception, t1, $async$exception;
       var $async$_reload$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1) {
           $async$currentError = $async$result;
@@ -24527,39 +24540,47 @@
               t1 === $ && A.throwLateFieldNI("_dirtyModules");
               t1.addAll$1(0, modules);
               previousModuleId = null;
-              t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.Object, t3 = type$.JSObject, t4 = type$.dynamic_Function;
+              t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.String, t3 = type$.nullable_JSArray_nullable_Object, t4 = type$.JSArray_String, t5 = type$.Object, t6 = type$.JSObject, t7 = type$.dynamic_Function;
             case 10:
               // for condition
-              if (!(t5 = $async$self.__RequireRestarter__dirtyModules_A, t5._root != null)) {
+              if (!(t8 = $async$self.__RequireRestarter__dirtyModules_A, t8._root != null)) {
                 // goto after for
                 $async$goto = 11;
                 break;
               }
-              if (t5._count === 0)
+              if (t8._count === 0)
                 A.throwExpression(A.IterableElementError_noElement());
-              moduleId = t5.get$_collection$_first().key;
+              moduleId = t8.get$_collection$_first().key;
               $async$self.__RequireRestarter__dirtyModules_A.remove$1(0, moduleId);
-              t5 = A._asString(moduleId);
-              parentIds = A.ModuleDependencyGraph_parents(J.get$moduleParentsGraph$x(self.$requireLoader), t5);
+              t8 = A._asString(moduleId);
+              t8 = t3._as(J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t8));
+              if (t8 == null)
+                parentIds0 = null;
+              else {
+                t8 = A.JSArrayExtension_toDartIterable(t8, t2);
+                t8 = A.List_List$of(t8, true, t8.$ti._eval$1("ListIterable.E"));
+                parentIds0 = t8;
+              }
+              parentIds = parentIds0 == null ? A._setArrayType([], t4) : parentIds0;
               $async$goto = J.get$length$asx(parentIds) === 0 ? 12 : 14;
               break;
             case 12:
               // then
-              childModule = t3._as(t2._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId));
-              self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t4);
+              childModule = t6._as(t5._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId));
+              self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t7);
               // goto join
               $async$goto = 13;
               break;
             case 14:
               // else
-              t5 = reloadedModules;
-              if (typeof t5 !== "number") {
-                $async$returnValue = t5.$add();
+              t8 = reloadedModules;
+              if (typeof t8 !== "number") {
+                $async$returnValue = t8.$add();
                 // goto return
                 $async$goto = 1;
                 break;
               }
-              reloadedModules = t5 + 1;
+              reloadedModules = t8 + 1;
               $async$goto = 15;
               return A._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1);
             case 15:
@@ -24625,11 +24646,9 @@
       return t1;
     },
     _updateGraph$0() {
-      var stronglyConnectedComponents, i, t2, t3, _i,
+      var i, t2, t3, _i,
         t1 = type$.String,
-        allModules = A.JSArrayExtension_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1);
-      A.print("Modules: " + allModules.toString$0(0));
-      stronglyConnectedComponents = A.stronglyConnectedComponents(allModules, this.get$_moduleParents(), t1);
+        stronglyConnectedComponents = A.stronglyConnectedComponents(A.JSArrayExtension_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1), this.get$_moduleParents(), t1);
       t1 = this._moduleOrdering;
       if (t1._collection$_length > 0) {
         t1._collection$_strings = t1._collection$_nums = t1._collection$_rest = t1._keys = null;
@@ -25000,7 +25019,7 @@
     leafTags: null,
     arrayRti: Symbol("$ti")
   };
-  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"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":[]}}'));
+  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","Accelerometer0":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"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":[]}}'));
   A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
   var string$ = {
     ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
@@ -25086,6 +25105,7 @@
       JsObject: findType("JsObject"),
       JsonObject: findType("JsonObject"),
       KeyRange: findType("KeyRange"),
+      LegacyJavaScriptObject: findType("LegacyJavaScriptObject"),
       Length: findType("Length"),
       Level: findType("Level"),
       ListBuilder_DebugEvent: findType("ListBuilder<DebugEvent>"),
@@ -25201,6 +25221,7 @@
       legacy_Object: findType("Object*"),
       nullable_Future_Null: findType("Future<Null>?"),
       nullable_Gamepad: findType("Gamepad?"),
+      nullable_JSArray_nullable_Object: findType("JSArray<Object?>?"),
       nullable_JavaScriptObject: findType("JavaScriptObject?"),
       nullable_ListBuilder_DebugEvent: findType("ListBuilder<DebugEvent>?"),
       nullable_ListBuilder_ExtensionEvent: findType("ListBuilder<ExtensionEvent>?"),

From f698be343a673bf93a499acd66a9babb008ca41e Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Thu, 14 Dec 2023 09:58:06 -0800
Subject: [PATCH 07/16] Update chacngelog

---
 dwds/CHANGELOG.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md
index d9d5e7ea2..56645d2ea 100644
--- a/dwds/CHANGELOG.md
+++ b/dwds/CHANGELOG.md
@@ -3,7 +3,7 @@
 - Add `FrontendServerLegacyStrategyProvider` and update bootstrap generation logic for `LegacyStrategy` - [#2285](https://github.com/dart-lang/webdev/pull/2285)
 - Tolerate failures to detect a dart execution context. - [#2286](https://github.com/dart-lang/webdev/pull/2286)
 - Fix a null cast error when debugging a `Class` from VS Code. - [#2303](https://github.com/dart-lang/webdev/pull/2303)
-- Migrate injected client code to `package:web`. - 
+- Migrate injected client code to `package:web`. - [#2306](https://github.com/dart-lang/webdev/pull/2306)
 
 
 ## 22.1.0

From 4f8ba1748a1ba5bf917bf605bb031d7355c29bd6 Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Mon, 8 Jan 2024 16:32:40 -0800
Subject: [PATCH 08/16] Make sure reload and hot restart work

---
 dwds/lib/src/injected/client.js          | 1542 +++++++++++-----------
 dwds/web/client.dart                     |   58 +-
 dwds/web/promise.dart                    |    3 +-
 dwds/web/reloader/legacy_restarter.dart  |   11 +-
 dwds/web/reloader/require_restarter.dart |  107 +-
 dwds/web/web_utils.dart                  |   38 +-
 6 files changed, 892 insertions(+), 867 deletions(-)

diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index f45dee6c6..310647e28 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -1,4 +1,4 @@
-// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-214.0.dev.
+// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-223.0.dev.
 // The code supports the following hooks:
 // dartPrint(message):
 //    if this function is defined it is called instead of the Dart [print]
@@ -452,9 +452,6 @@
         return J.UnknownJavaScriptObject.prototype;
       return receiver;
     },
-    get$digestsPath$x(receiver) {
-      return J.getInterceptor$x(receiver).get$digestsPath(receiver);
-    },
     get$first$ax(receiver) {
       return J.getInterceptor$ax(receiver).get$first(receiver);
     },
@@ -464,6 +461,9 @@
     get$isEmpty$asx(receiver) {
       return J.getInterceptor$asx(receiver).get$isEmpty(receiver);
     },
+    get$isNotEmpty$asx(receiver) {
+      return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver);
+    },
     get$iterator$ax(receiver) {
       return J.getInterceptor$ax(receiver).get$iterator(receiver);
     },
@@ -473,12 +473,6 @@
     get$length$asx(receiver) {
       return J.getInterceptor$asx(receiver).get$length(receiver);
     },
-    get$message$x(receiver) {
-      return J.getInterceptor$x(receiver).get$message(receiver);
-    },
-    get$moduleParentsGraph$x(receiver) {
-      return J.getInterceptor$x(receiver).get$moduleParentsGraph(receiver);
-    },
     get$parent$z(receiver) {
       return J.getInterceptor$z(receiver).get$parent(receiver);
     },
@@ -492,9 +486,6 @@
         return a0 != null && receiver === a0;
       return J.getInterceptor$(receiver).$eq(receiver, a0);
     },
-    $get$1$x(receiver, a0) {
-      return J.getInterceptor$x(receiver).$get$1(receiver, a0);
-    },
     $index$asx(receiver, a0) {
       if (typeof a0 === "number")
         if (Array.isArray(receiver) || typeof receiver == "string" || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName]))
@@ -508,8 +499,8 @@
     allMatches$1$s(receiver, a0) {
       return J.getInterceptor$s(receiver).allMatches$1(receiver, a0);
     },
-    cast$2$0$x(receiver, $T1, $T2) {
-      return J.getInterceptor$x(receiver).cast$2$0(receiver, $T1, $T2);
+    cast$2$0$ax(receiver, $T1, $T2) {
+      return J.getInterceptor$ax(receiver).cast$2$0(receiver, $T1, $T2);
     },
     compareTo$1$ns(receiver, a0) {
       return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0);
@@ -529,12 +520,6 @@
     forEach$1$x(receiver, a0) {
       return J.getInterceptor$x(receiver).forEach$1(receiver, a0);
     },
-    forceLoadModule$3$x(receiver, a0, a1, a2) {
-      return J.getInterceptor$x(receiver).forceLoadModule$3(receiver, a0, a1, a2);
-    },
-    keys$0$x(receiver) {
-      return J.getInterceptor$x(receiver).keys$0(receiver);
-    },
     map$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).map$1(receiver, a0);
     },
@@ -559,12 +544,6 @@
     take$1$ax(receiver, a0) {
       return J.getInterceptor$ax(receiver).take$1(receiver, a0);
     },
-    then$1$1$x(receiver, a0, $T1) {
-      return J.getInterceptor$x(receiver).then$1$1(receiver, a0, $T1);
-    },
-    then$2$x(receiver, a0, a1) {
-      return J.getInterceptor$x(receiver).then$2(receiver, a0, a1);
-    },
     toList$0$ax(receiver) {
       return J.getInterceptor$ax(receiver).toList$0(receiver);
     },
@@ -674,6 +653,25 @@
         return new A.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
       return new A.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
     },
+    TakeIterable_TakeIterable(iterable, takeCount, $E) {
+      var _s9_ = "takeCount";
+      A.ArgumentError_checkNotNull(takeCount, _s9_, type$.int);
+      A.RangeError_checkNotNegative(takeCount, _s9_);
+      if (type$.EfficientLengthIterable_dynamic._is(iterable))
+        return new A.EfficientLengthTakeIterable(iterable, takeCount, $E._eval$1("EfficientLengthTakeIterable<0>"));
+      return new A.TakeIterable(iterable, takeCount, $E._eval$1("TakeIterable<0>"));
+    },
+    SkipIterable_SkipIterable(iterable, count, $E) {
+      var _s5_ = "count";
+      if (type$.EfficientLengthIterable_dynamic._is(iterable)) {
+        A.ArgumentError_checkNotNull(count, _s5_, type$.int);
+        A.RangeError_checkNotNegative(count, _s5_);
+        return new A.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>"));
+      }
+      A.ArgumentError_checkNotNull(count, _s5_, type$.int);
+      A.RangeError_checkNotNegative(count, _s5_);
+      return new A.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>"));
+    },
     IterableElementError_noElement() {
       return new A.StateError("No element");
     },
@@ -750,6 +748,36 @@
       this._f = t1;
       this.$ti = t2;
     },
+    TakeIterable: function TakeIterable(t0, t1, t2) {
+      this.__internal$_iterable = t0;
+      this._takeCount = t1;
+      this.$ti = t2;
+    },
+    EfficientLengthTakeIterable: function EfficientLengthTakeIterable(t0, t1, t2) {
+      this.__internal$_iterable = t0;
+      this._takeCount = t1;
+      this.$ti = t2;
+    },
+    TakeIterator: function TakeIterator(t0, t1, t2) {
+      this._iterator = t0;
+      this._remaining = t1;
+      this.$ti = t2;
+    },
+    SkipIterable: function SkipIterable(t0, t1, t2) {
+      this.__internal$_iterable = t0;
+      this._skipCount = t1;
+      this.$ti = t2;
+    },
+    EfficientLengthSkipIterable: function EfficientLengthSkipIterable(t0, t1, t2) {
+      this.__internal$_iterable = t0;
+      this._skipCount = t1;
+      this.$ti = t2;
+    },
+    SkipIterator: function SkipIterator(t0, t1, t2) {
+      this._iterator = t0;
+      this._skipCount = t1;
+      this.$ti = t2;
+    },
     EmptyIterable: function EmptyIterable(t0) {
       this.$ti = t0;
     },
@@ -767,7 +795,7 @@
       this.$ti = t1;
     },
     Symbol: function Symbol(t0) {
-      this._name = t0;
+      this.__internal$_name = t0;
     },
     ConstantMap__throwUnmodifiable() {
       throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable Map"));
@@ -1562,6 +1590,9 @@
     getIsolateAffinityTag($name) {
       return init.getIsolateTag($name);
     },
+    staticInteropGlobalContext() {
+      return self;
+    },
     LinkedHashMapKeyIterator$(_map, _modifications, $E) {
       var t1 = new A.LinkedHashMapKeyIterator(_map, _modifications, $E._eval$1("LinkedHashMapKeyIterator<0>"));
       t1._cell = _map._first;
@@ -1937,7 +1968,7 @@
       return t1.__late_helper$_value = t1;
     },
     _Cell: function _Cell(t0) {
-      this.__late_helper$_name = t0;
+      this._name = t0;
       this.__late_helper$_value = null;
     },
     _ensureNativeList(list) {
@@ -3654,7 +3685,7 @@
       else {
         t1 = type$.dynamic;
         if (object instanceof A._Future)
-          object.then$1$2$onError(0, thenCallback, errorCallback, t1);
+          object.then$1$2$onError(thenCallback, errorCallback, t1);
         else {
           future = new A._Future($.Zone__current, type$._Future_dynamic);
           future._state = 8;
@@ -5610,8 +5641,8 @@
         t1 = true;
       if (t1)
         A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + millisecondsSinceEpoch, null));
-      A.checkNotNullable(isUtc, "isUtc", type$.bool);
-      return new A.DateTime(millisecondsSinceEpoch, isUtc);
+      A.checkNotNullable(true, "isUtc", type$.bool);
+      return new A.DateTime(millisecondsSinceEpoch, true);
     },
     List_List$filled($length, fill, growable, $E) {
       var i,
@@ -7320,8 +7351,6 @@
     },
     HtmlCollection: function HtmlCollection() {
     },
-    ImageData: function ImageData() {
-    },
     Location: function Location() {
     },
     MediaList: function MediaList() {
@@ -7396,10 +7425,6 @@
     },
     WebSocket: function WebSocket() {
     },
-    Window: function Window() {
-    },
-    WorkerGlobalScope: function WorkerGlobalScope() {
-    },
     _CssRuleList: function _CssRuleList() {
     },
     _DomRect: function _DomRect() {
@@ -7587,126 +7612,17 @@
       this.copies = t1;
       this.mustCopy = false;
     },
-    KeyRange: function KeyRange() {
-    },
-    _callDartFunction(callback, captureThis, $self, $arguments) {
-      var arguments0, t1, dartArgs;
-      A._asBool(captureThis);
-      type$.List_dynamic._as($arguments);
-      if (captureThis) {
-        arguments0 = [$self];
-        B.JSArray_methods.addAll$1(arguments0, $arguments);
-        $arguments = arguments0;
-      }
-      t1 = type$.dynamic;
-      dartArgs = A.List_List$from(J.map$1$1$ax($arguments, A.js___convertToDart$closure(), t1), true, t1);
-      return A._convertToJS(A.Function_apply(type$.Function._as(callback), dartArgs, null));
-    },
-    JsObject_JsObject$fromBrowserObject(object) {
-      var t1 = false;
-      if (t1)
-        throw A.wrapException(A.ArgumentError$("object cannot be a num, string, bool, or null", null));
-      return A._wrapToDart(A._convertToJS(object));
-    },
-    JsObject__convertDataTree(data) {
-      return new A.JsObject__convertDataTree__convert(new A._IdentityHashMap(type$._IdentityHashMap_dynamic_dynamic)).call$1(data);
-    },
-    _castToJsObject(o) {
-      return o;
-    },
-    _defineProperty(o, $name, value) {
-      var exception;
-      try {
-        if (Object.isExtensible(o) && !Object.prototype.hasOwnProperty.call(o, $name)) {
-          Object.defineProperty(o, $name, {value: value});
-          return true;
-        }
-      } catch (exception) {
-      }
-      return false;
-    },
-    _getOwnProperty(o, $name) {
-      if (Object.prototype.hasOwnProperty.call(o, $name))
-        return o[$name];
-      return null;
-    },
-    _convertToJS(o) {
-      if (o == null || typeof o == "string" || typeof o == "number" || A._isBool(o))
-        return o;
-      if (o instanceof A.JsObject)
-        return o._jsObject;
-      if (A.isBrowserObject(o))
-        return o;
-      if (type$.TypedData._is(o))
-        return o;
-      if (o instanceof A.DateTime)
-        return A.Primitives_lazyAsJsDate(o);
-      if (type$.Function._is(o))
-        return A._getJsProxy(o, "$dart_jsFunction", new A._convertToJS_closure());
-      return A._getJsProxy(o, "_$dart_jsObject", new A._convertToJS_closure0($.$get$_dartProxyCtor()));
-    },
-    _getJsProxy(o, propertyName, createProxy) {
-      var jsProxy = A._getOwnProperty(o, propertyName);
-      if (jsProxy == null) {
-        jsProxy = createProxy.call$1(o);
-        A._defineProperty(o, propertyName, jsProxy);
-      }
-      return jsProxy;
-    },
-    _convertToDart(o) {
-      if (o == null || typeof o == "string" || typeof o == "number" || typeof o == "boolean")
-        return o;
-      else if (o instanceof Object && A.isBrowserObject(o))
-        return o;
-      else if (o instanceof Object && type$.TypedData._is(o))
-        return o;
-      else if (o instanceof Date)
-        return A.DateTime$fromMillisecondsSinceEpoch(A._asInt(o.getTime()), false);
-      else if (o.constructor === $.$get$_dartProxyCtor())
-        return o.o;
-      else
-        return A._wrapToDart(o);
-    },
-    _wrapToDart(o) {
-      if (typeof o == "function")
-        return A._getDartProxy(o, $.$get$DART_CLOSURE_PROPERTY_NAME(), new A._wrapToDart_closure());
-      if (o instanceof Array)
-        return A._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new A._wrapToDart_closure0());
-      return A._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new A._wrapToDart_closure1());
-    },
-    _getDartProxy(o, propertyName, createProxy) {
-      var dartProxy = A._getOwnProperty(o, propertyName);
-      if (dartProxy == null || !(o instanceof Object)) {
-        dartProxy = createProxy.call$1(o);
-        A._defineProperty(o, propertyName, dartProxy);
-      }
-      return dartProxy;
-    },
-    JsObject__convertDataTree__convert: function JsObject__convertDataTree__convert(t0) {
-      this._convertedObjects = t0;
-    },
-    _convertToJS_closure: function _convertToJS_closure() {
-    },
-    _convertToJS_closure0: function _convertToJS_closure0(t0) {
-      this.ctor = t0;
-    },
-    _wrapToDart_closure: function _wrapToDart_closure() {
-    },
-    _wrapToDart_closure0: function _wrapToDart_closure0() {
-    },
-    _wrapToDart_closure1: function _wrapToDart_closure1() {
+    FutureOfVoidToJSPromise_get_toJS(_this) {
+      return A.callConstructor(self.Promise, [type$.LegacyJavaScriptObject._as(A.allowInterop(new A.FutureOfVoidToJSPromise_get_toJS_closure(_this), type$.Function))], type$.JSObject);
     },
-    JsObject: function JsObject(t0) {
-      this._jsObject = t0;
+    FutureOfVoidToJSPromise_get_toJS_closure: function FutureOfVoidToJSPromise_get_toJS_closure(t0) {
+      this._this = t0;
     },
-    JsFunction: function JsFunction(t0) {
-      this._jsObject = t0;
+    FutureOfVoidToJSPromise_get_toJS__closure: function FutureOfVoidToJSPromise_get_toJS__closure(t0) {
+      this.resolve = t0;
     },
-    JsArray: function JsArray(t0, t1) {
-      this._jsObject = t0;
-      this.$ti = t1;
-    },
-    _JsArray_JsObject_ListMixin: function _JsArray_JsObject_ListMixin() {
+    FutureOfVoidToJSPromise_get_toJS__closure0: function FutureOfVoidToJSPromise_get_toJS__closure0(t0) {
+      this.reject = t0;
     },
     _convertDartFunctionFast(f) {
       var ret,
@@ -7740,9 +7656,35 @@
         return object;
       return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object);
     },
+    getProperty(o, $name, $T) {
+      return $T._as(o[$name]);
+    },
     callMethod(o, method, args, $T) {
       return $T._as(o[method].apply(o, args));
     },
+    callConstructor(constr, $arguments, $T) {
+      var args, factoryFunction;
+      if ($arguments == null)
+        return $T._as(new constr());
+      if ($arguments instanceof Array)
+        switch ($arguments.length) {
+          case 0:
+            return $T._as(new constr());
+          case 1:
+            return $T._as(new constr($arguments[0]));
+          case 2:
+            return $T._as(new constr($arguments[0], $arguments[1]));
+          case 3:
+            return $T._as(new constr($arguments[0], $arguments[1], $arguments[2]));
+          case 4:
+            return $T._as(new constr($arguments[0], $arguments[1], $arguments[2], $arguments[3]));
+        }
+      args = [null];
+      B.JSArray_methods.addAll$1(args, $arguments);
+      factoryFunction = constr.bind.apply(constr, args);
+      String(factoryFunction);
+      return $T._as(new factoryFunction());
+    },
     promiseToFuture(jsPromise, $T) {
       var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")),
         completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"));
@@ -7924,7 +7866,7 @@
       this.$ti = t0;
     },
     BuiltListMultimap_BuiltListMultimap($K, $V) {
-      var t1 = A._BuiltListMultimap$copy(B.Map_empty0.get$keys(B.Map_empty0), new A.BuiltListMultimap_BuiltListMultimap_closure(B.Map_empty0), $K, $V);
+      var t1 = A._BuiltListMultimap$copy(B.Map_empty.get$keys(B.Map_empty), new A.BuiltListMultimap_BuiltListMultimap_closure(B.Map_empty), $K, $V);
       return t1;
     },
     _BuiltListMultimap$copy(keys, lookup, $K, $V) {
@@ -7934,7 +7876,7 @@
     },
     ListMultimapBuilder_ListMultimapBuilder($K, $V) {
       var t1 = new A.ListMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("ListMultimapBuilder<1,2>"));
-      t1.replace$1(0, B.Map_empty0);
+      t1.replace$1(0, B.Map_empty);
       return t1;
     },
     BuiltListMultimap: function BuiltListMultimap() {
@@ -7964,12 +7906,12 @@
     },
     BuiltMap_BuiltMap($K, $V) {
       var t1 = new A._BuiltMap(null, A.LinkedHashMap_LinkedHashMap$_empty($K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("_BuiltMap<1,2>"));
-      t1._BuiltMap$copyAndCheckTypes$2(B.Map_empty0.get$keys(B.Map_empty0), new A.BuiltMap_BuiltMap_closure(B.Map_empty0), $K, $V);
+      t1._BuiltMap$copyAndCheckTypes$2(B.Map_empty.get$keys(B.Map_empty), new A.BuiltMap_BuiltMap_closure(B.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, B.Map_empty0);
+      t1.replace$1(0, B.Map_empty);
       return t1;
     },
     BuiltMap: function BuiltMap() {
@@ -8029,7 +7971,7 @@
     },
     SetMultimapBuilder_SetMultimapBuilder($K, $V) {
       var t1 = new A.SetMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("SetMultimapBuilder<1,2>"));
-      t1.replace$1(0, B.Map_empty0);
+      t1.replace$1(0, B.Map_empty);
       return t1;
     },
     BuiltSetMultimap: function BuiltSetMultimap() {
@@ -8100,7 +8042,7 @@
       else if (type$.Map_of_String_and_nullable_Object._is(value))
         return new A.MapJsonObject(new A.UnmodifiableMapView(value, type$.UnmodifiableMapView_of_String_and_nullable_Object));
       else if (type$.Map_dynamic_dynamic._is(value))
-        return new A.MapJsonObject(new A.UnmodifiableMapView(J.cast$2$0$x(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object));
+        return new A.MapJsonObject(new A.UnmodifiableMapView(J.cast$2$0$ax(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object));
       else
         throw A.wrapException(A.ArgumentError$value(value, "value", "Must be bool, List<Object?>, Map<String?, Object?>, num or String"));
     },
@@ -9064,8 +9006,9 @@
     },
     _dispatchEvent(message, detail) {
       var t1 = self,
-        t2 = type$.JavaScriptObject;
-      A._asBool(t2._as(t1.window).dispatchEvent(t2._as(new t1.CustomEvent("dart-auth-response", t2._as({detail: detail})))));
+        t2 = type$.JavaScriptObject,
+        $event = t2._as(new t1.CustomEvent(message, t2._as({detail: detail})));
+      A._asBool(t2._as(t1.document).dispatchEvent($event));
     },
     _handleAuthRequest($event) {
       var t1;
@@ -9077,7 +9020,7 @@
       if (A._authUrl() != null) {
         t1 = A._authUrl();
         t1.toString;
-        A._authenticateUser(t1).then$1$1(0, new A._handleAuthRequest_closure(), type$.void);
+        A._authenticateUser(t1).then$1$1(new A._handleAuthRequest_closure(), type$.void);
       }
     },
     _authenticateUser(authUrl) {
@@ -9114,7 +9057,7 @@
     },
     _authUrl() {
       var authUrl,
-        extensionUrl = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(type$.JavaScriptObject._as(self.window)).$index(0, "$dartExtensionUri"));
+        extensionUrl = A._asStringQ(A.dartify(type$.JSObject._as(self.window).$dartExtensionUri));
       if (extensionUrl == null)
         return null;
       authUrl = A.Uri_parse(extensionUrl).replace$1$path(0, "$dwdsExtensionAuthentication");
@@ -9183,24 +9126,6 @@
       this._client = t0;
       this._restarter = t1;
     },
-    toPromise(future, $T) {
-      return new self.Promise(A.allowInterop(new A.toPromise_closure(future, $T), $T._eval$1("~(~(0),~(@))")), $T);
-    },
-    toFuture(promise, $T) {
-      var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")),
-        completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"));
-      J.then$2$x(promise, A.allowInterop($T._eval$1("~([0/?])")._as(completer.get$complete(completer)), $T._eval$1("@(0)")), A.allowInterop(new A.toFuture_closure(completer), type$.dynamic_Function_dynamic));
-      return t1;
-    },
-    Promise: function Promise() {
-    },
-    toPromise_closure: function toPromise_closure(t0, t1) {
-      this.future = t0;
-      this.T = t1;
-    },
-    toFuture_closure: function toFuture_closure(t0) {
-      this.completer = t0;
-    },
     HotReloadFailedException$(_s) {
       return new A.HotReloadFailedException(_s);
     },
@@ -9236,8 +9161,6 @@
       });
       return A._asyncStartSync($async$RequireRestarter_create, $async$completer);
     },
-    RequireLoader: function RequireLoader() {
-    },
     HotReloadFailedException: function HotReloadFailedException(t0) {
       this._s = t0;
     },
@@ -9247,9 +9170,12 @@
       this._running = t1;
     },
     RequireRestarter__reload_closure: function RequireRestarter__reload_closure(t0) {
-      this.childModule = t0;
+      this.mainLibrary = t0;
+    },
+    RequireRestarter__reloadModule_closure: function RequireRestarter__reloadModule_closure(t0) {
+      this.completer = t0;
     },
-    RequireRestarter__reloadModule_closure: function RequireRestarter__reloadModule_closure(t0, t1) {
+    RequireRestarter__reloadModule_closure0: function RequireRestarter__reloadModule_closure0(t0, t1) {
       this.completer = t0;
       this.stackTrace = t1;
     },
@@ -9288,19 +9214,21 @@
       this.scriptElement = t0;
     },
     JSArrayExtension_toDartIterable(_this, $T) {
-      var t1 = A._arrayInstanceType(_this);
-      return new A.MappedListIterable(_this, t1._bind$1($T)._eval$1("1(2)")._as(new A.JSArrayExtension_toDartIterable_closure($T)), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
-    },
-    JsError: function JsError() {
+      return B.JSArray_methods.map$1$1(_this, new A.JSArrayExtension_toDartIterable_closure($T), $T);
     },
-    JsMap: function JsMap() {
+    ModuleDependencyGraph_parents(_this, key) {
+      var t1 = A.callMethod(_this, "get", [key], type$.nullable_JSArray_nullable_Object);
+      if (t1 == null)
+        t1 = null;
+      else {
+        t1 = A.JSArrayExtension_toDartIterable(t1, type$.String);
+        t1 = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E"));
+      }
+      return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1;
     },
     JSArrayExtension_toDartIterable_closure: function JSArrayExtension_toDartIterable_closure(t0) {
       this.T = t0;
     },
-    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);
-    },
     printString(string) {
       if (typeof dartPrint == "function") {
         dartPrint(string);
@@ -9316,6 +9244,20 @@
       }
       throw "Unable to print message: " + String(string);
     },
+    JSObjectUnsafeUtilExtension__callMethod(_this, method, arg1, arg2, arg3, arg4) {
+      var t1;
+      if (arg1 == null)
+        return _this[method]();
+      else if (arg2 == null)
+        return _this[method](arg1);
+      else {
+        t1 = _this[method](arg1, arg2);
+        return t1;
+      }
+    },
+    JSObjectUnsafeUtilExtension_callMethod(_this, method, arg1, arg2, $T) {
+      return $T._as(A.JSObjectUnsafeUtilExtension__callMethod(_this, method, arg1, arg2, null, null));
+    },
     decodeDigit(c) {
       var letter,
         digit = c ^ 48;
@@ -9400,35 +9342,6 @@
     },
     toString$0(receiver) {
       return String(receiver);
-    },
-    $isPromise: 1,
-    $isJsError: 1,
-    then$1$1(receiver, p0) {
-      return receiver.then(p0);
-    },
-    then$2(receiver, p0, p1) {
-      return receiver.then(p0, p1);
-    },
-    get$digestsPath(obj) {
-      return obj.digestsPath;
-    },
-    get$moduleParentsGraph(obj) {
-      return obj.moduleParentsGraph;
-    },
-    forceLoadModule$3(receiver, p0, p1, p2) {
-      return receiver.forceLoadModule(p0, p1, p2);
-    },
-    get$message(obj) {
-      return obj.message;
-    },
-    $get$1(receiver, p0) {
-      return receiver.get(p0);
-    },
-    get$keys(obj) {
-      return obj.keys;
-    },
-    keys$0(receiver) {
-      return receiver.keys();
     }
   };
   J.PlainJavaScriptObject.prototype = {};
@@ -9553,7 +9466,7 @@
       throw A.wrapException(A.IterableElementError_noElement());
     },
     setRange$4(receiver, start, end, iterable, skipCount) {
-      var $length, otherList, t1, i;
+      var $length, otherList, otherStart, t1, i;
       A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable);
       if (!!receiver.immutable$list)
         A.throwExpression(A.UnsupportedError$("setRange"));
@@ -9562,16 +9475,22 @@
       if ($length === 0)
         return;
       A.RangeError_checkNotNegative(skipCount, "skipCount");
-      otherList = iterable;
+      if (type$.List_dynamic._is(iterable)) {
+        otherList = iterable;
+        otherStart = skipCount;
+      } else {
+        otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false);
+        otherStart = 0;
+      }
       t1 = J.getInterceptor$asx(otherList);
-      if (skipCount + $length > t1.get$length(otherList))
+      if (otherStart + $length > t1.get$length(otherList))
         throw A.wrapException(A.IterableElementError_tooFew());
-      if (skipCount < start)
+      if (otherStart < start)
         for (i = $length - 1; i >= 0; --i)
-          receiver[start + i] = t1.$index(otherList, skipCount + i);
+          receiver[start + i] = t1.$index(otherList, otherStart + i);
       else
         for (i = 0; i < $length; ++i)
-          receiver[start + i] = t1.$index(otherList, skipCount + i);
+          receiver[start + i] = t1.$index(otherList, otherStart + i);
     },
     sort$1(receiver, compare) {
       var len, a, b, undefineds, i,
@@ -9811,6 +9730,9 @@
       scaled = absolute < 1 ? absolute / factor : factor / absolute;
       return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911;
     },
+    $add(receiver, other) {
+      return receiver + other;
+    },
     $mod(receiver, other) {
       var result = receiver % other;
       if (result === 0)
@@ -10058,22 +9980,36 @@
   A._CastIterableBase.prototype = {
     get$iterator(_) {
       var t1 = A._instanceType(this);
-      return new A.CastIterator(J.get$iterator$ax(this.__internal$_source), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>"));
+      return new A.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(_) {
-      return J.get$length$asx(this.__internal$_source);
+      return J.get$length$asx(this.get$__internal$_source());
     },
     get$isEmpty(_) {
-      return J.get$isEmpty$asx(this.__internal$_source);
+      return J.get$isEmpty$asx(this.get$__internal$_source());
+    },
+    get$isNotEmpty(_) {
+      return J.get$isNotEmpty$asx(this.get$__internal$_source());
+    },
+    skip$1(_, count) {
+      var t1 = A._instanceType(this);
+      return A.CastIterable_CastIterable(J.skip$1$ax(this.get$__internal$_source(), count), t1._precomputed1, t1._rest[1]);
+    },
+    take$1(_, count) {
+      var t1 = A._instanceType(this);
+      return A.CastIterable_CastIterable(J.take$1$ax(this.get$__internal$_source(), count), t1._precomputed1, t1._rest[1]);
     },
     elementAt$1(_, index) {
-      return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.__internal$_source, index));
+      return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$__internal$_source(), index));
+    },
+    get$first(_) {
+      return A._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$__internal$_source()));
     },
     contains$1(_, other) {
-      return J.contains$1$asx(this.__internal$_source, other);
+      return J.contains$1$asx(this.get$__internal$_source(), other);
     },
     toString$0(_) {
-      return J.toString$0$(this.__internal$_source);
+      return J.toString$0$(this.get$__internal$_source());
     }
   };
   A.CastIterator.prototype = {
@@ -10086,7 +10022,11 @@
     },
     $isIterator: 1
   };
-  A.CastIterable.prototype = {};
+  A.CastIterable.prototype = {
+    get$__internal$_source() {
+      return this.__internal$_source;
+    }
+  };
   A._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1};
   A.CastMap.prototype = {
     cast$2$0(_, RK, RV) {
@@ -10139,7 +10079,7 @@
     call$0() {
       return A.Future_Future$value(null, type$.Null);
     },
-    $signature: 25
+    $signature: 24
   };
   A.SentinelValue.prototype = {};
   A.EfficientLengthIterable.prototype = {};
@@ -10201,6 +10141,12 @@
     map$1($receiver, toElement) {
       return this.map$1$1($receiver, toElement, type$.dynamic);
     },
+    skip$1(_, count) {
+      return A.SubListIterable$(this, count, null, A._instanceType(this)._eval$1("ListIterable.E"));
+    },
+    take$1(_, count) {
+      return A.SubListIterable$(this, 0, A.checkNotNullable(count, "count", type$.int), A._instanceType(this)._eval$1("ListIterable.E"));
+    },
     toList$1$growable(_, growable) {
       return A.List_List$of(this, true, A._instanceType(this)._eval$1("ListIterable.E"));
     },
@@ -10251,6 +10197,42 @@
       if (endOrLength != null && newStart >= endOrLength)
         return new A.EmptyIterable(_this.$ti._eval$1("EmptyIterable<1>"));
       return A.SubListIterable$(_this.__internal$_iterable, newStart, endOrLength, _this.$ti._precomputed1);
+    },
+    take$1(_, count) {
+      var endOrLength, t1, newEnd, _this = this;
+      A.RangeError_checkNotNegative(count, "count");
+      endOrLength = _this._endOrLength;
+      t1 = _this.__internal$_start;
+      if (endOrLength == null)
+        return A.SubListIterable$(_this.__internal$_iterable, t1, B.JSInt_methods.$add(t1, count), _this.$ti._precomputed1);
+      else {
+        newEnd = B.JSInt_methods.$add(t1, count);
+        if (endOrLength < newEnd)
+          return _this;
+        return A.SubListIterable$(_this.__internal$_iterable, t1, newEnd, _this.$ti._precomputed1);
+      }
+    },
+    toList$1$growable(_, growable) {
+      var $length, result, i, _this = this,
+        start = _this.__internal$_start,
+        t1 = _this.__internal$_iterable,
+        t2 = J.getInterceptor$asx(t1),
+        end = t2.get$length(t1),
+        endOrLength = _this._endOrLength;
+      if (endOrLength != null && endOrLength < end)
+        end = endOrLength;
+      $length = end - start;
+      if ($length <= 0) {
+        t1 = J.JSArray_JSArray$fixed(0, _this.$ti._precomputed1);
+        return t1;
+      }
+      result = A.List_List$filled($length, t2.elementAt$1(t1, start), false, _this.$ti._precomputed1);
+      for (i = 1; i < $length; ++i) {
+        B.JSArray_methods.$indexSet(result, i, t2.elementAt$1(t1, start + i));
+        if (t2.get$length(t1) < end)
+          throw A.wrapException(A.ConcurrentModificationError$(_this));
+      }
+      return result;
     }
   };
   A.ListIterator.prototype = {
@@ -10290,6 +10272,9 @@
     get$isEmpty(_) {
       return J.get$isEmpty$asx(this.__internal$_iterable);
     },
+    get$first(_) {
+      return this._f.call$1(J.get$first$ax(this.__internal$_iterable));
+    },
     elementAt$1(_, index) {
       return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index));
     }
@@ -10323,6 +10308,77 @@
       return this._f.call$1(J.elementAt$1$ax(this.__internal$_source, index));
     }
   };
+  A.TakeIterable.prototype = {
+    get$iterator(_) {
+      return new A.TakeIterator(J.get$iterator$ax(this.__internal$_iterable), this._takeCount, A._instanceType(this)._eval$1("TakeIterator<1>"));
+    }
+  };
+  A.EfficientLengthTakeIterable.prototype = {
+    get$length(_) {
+      var iterableLength = J.get$length$asx(this.__internal$_iterable),
+        t1 = this._takeCount;
+      if (iterableLength > t1)
+        return t1;
+      return iterableLength;
+    },
+    $isEfficientLengthIterable: 1
+  };
+  A.TakeIterator.prototype = {
+    moveNext$0() {
+      if (--this._remaining >= 0)
+        return this._iterator.moveNext$0();
+      this._remaining = -1;
+      return false;
+    },
+    get$current(_) {
+      var t1;
+      if (this._remaining < 0) {
+        this.$ti._precomputed1._as(null);
+        return null;
+      }
+      t1 = this._iterator;
+      return t1.get$current(t1);
+    },
+    $isIterator: 1
+  };
+  A.SkipIterable.prototype = {
+    skip$1(_, count) {
+      A.ArgumentError_checkNotNull(count, "count", type$.int);
+      A.RangeError_checkNotNegative(count, "count");
+      return new A.SkipIterable(this.__internal$_iterable, this._skipCount + count, A._instanceType(this)._eval$1("SkipIterable<1>"));
+    },
+    get$iterator(_) {
+      return new A.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount, A._instanceType(this)._eval$1("SkipIterator<1>"));
+    }
+  };
+  A.EfficientLengthSkipIterable.prototype = {
+    get$length(_) {
+      var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount;
+      if ($length >= 0)
+        return $length;
+      return 0;
+    },
+    skip$1(_, count) {
+      A.ArgumentError_checkNotNull(count, "count", type$.int);
+      A.RangeError_checkNotNegative(count, "count");
+      return new A.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti);
+    },
+    $isEfficientLengthIterable: 1
+  };
+  A.SkipIterator.prototype = {
+    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(_) {
+      var t1 = this._iterator;
+      return t1.get$current(t1);
+    },
+    $isIterator: 1
+  };
   A.EmptyIterable.prototype = {
     get$iterator(_) {
       return B.C_EmptyIterator;
@@ -10333,6 +10389,9 @@
     get$length(_) {
       return 0;
     },
+    get$first(_) {
+      throw A.wrapException(A.IterableElementError_noElement());
+    },
     elementAt$1(_, index) {
       throw A.wrapException(A.RangeError$range(index, 0, 0, "index", null));
     },
@@ -10345,6 +10404,14 @@
     },
     map$1($receiver, toElement) {
       return this.map$1$1($receiver, toElement, type$.dynamic);
+    },
+    skip$1(_, count) {
+      A.RangeError_checkNotNegative(count, "count");
+      return this;
+    },
+    take$1(_, count) {
+      A.RangeError_checkNotNegative(count, "count");
+      return this;
     }
   };
   A.EmptyIterator.prototype = {
@@ -10379,17 +10446,17 @@
       var hash = this._hashCode;
       if (hash != null)
         return hash;
-      hash = 664597 * B.JSString_methods.get$hashCode(this._name) & 536870911;
+      hash = 664597 * B.JSString_methods.get$hashCode(this.__internal$_name) & 536870911;
       this._hashCode = hash;
       return hash;
     },
     toString$0(_) {
-      return 'Symbol("' + this._name + '")';
+      return 'Symbol("' + this.__internal$_name + '")';
     },
     $eq(_, other) {
       if (other == null)
         return false;
-      return other instanceof A.Symbol && this._name === other._name;
+      return other instanceof A.Symbol && this.__internal$_name === other.__internal$_name;
     },
     $isSymbol0: 1
   };
@@ -10474,6 +10541,9 @@
     get$isEmpty(_) {
       return 0 === this._elements.length;
     },
+    get$isNotEmpty(_) {
+      return 0 !== this._elements.length;
+    },
     get$iterator(_) {
       var t1 = this._elements;
       return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>"));
@@ -10524,13 +10594,13 @@
     get$namedArguments() {
       var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this;
       if (_this.__js_helper$_kind !== 0)
-        return B.Map_empty;
+        return B.Map_empty0;
       t1 = _this._namedArgumentNames;
       namedArgumentCount = t1.length;
       t2 = _this._arguments;
       namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount;
       if (namedArgumentCount === 0)
-        return B.Map_empty;
+        return B.Map_empty0;
       map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic);
       for (i = 0; i < namedArgumentCount; ++i) {
         if (!(i < t1.length))
@@ -10970,19 +11040,19 @@
     call$1(o) {
       return this.getTag(o);
     },
-    $signature: 2
+    $signature: 4
   };
   A.initHooks_closure0.prototype = {
     call$2(o, tag) {
       return this.getUnknownTag(o, tag);
     },
-    $signature: 40
+    $signature: 76
   };
   A.initHooks_closure1.prototype = {
     call$1(tag) {
       return this.prototypeForTag(A._asString(tag));
     },
-    $signature: 78
+    $signature: 43
   };
   A.JSSyntaxRegExp.prototype = {
     toString$0(_) {
@@ -11118,6 +11188,13 @@
   A._StringAllMatchesIterable.prototype = {
     get$iterator(_) {
       return new A._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index);
+    },
+    get$first(_) {
+      var t1 = this._pattern,
+        index = this._input.indexOf(t1, this.__js_helper$_index);
+      if (index >= 0)
+        return new A.StringMatch(index, t1);
+      throw A.wrapException(A.IterableElementError_noElement());
     }
   };
   A._StringAllMatchesIterator.prototype = {
@@ -11154,7 +11231,7 @@
     readLocal$1$0() {
       var t1 = this.__late_helper$_value;
       if (t1 === this)
-        A.throwExpression(new A.LateError("Local '" + this.__late_helper$_name + "' has not been initialized."));
+        A.throwExpression(new A.LateError("Local '" + this._name + "' has not been initialized."));
       return t1;
     },
     readLocal$0() {
@@ -11163,7 +11240,7 @@
     _readField$0() {
       var t1 = this.__late_helper$_value;
       if (t1 === this)
-        throw A.wrapException(A.LateError$fieldNI(this.__late_helper$_name));
+        throw A.wrapException(A.LateError$fieldNI(this._name));
       return t1;
     }
   };
@@ -11174,7 +11251,7 @@
     $isTrustedGetRuntimeType: 1,
     $isByteBuffer: 1
   };
-  A.NativeTypedData.prototype = {$isTypedData: 1};
+  A.NativeTypedData.prototype = {};
   A.NativeByteData.prototype = {
     get$runtimeType(receiver) {
       return B.Type_ByteData_zNC;
@@ -11406,19 +11483,19 @@
       t2 = this.span;
       t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
     },
-    $signature: 38
+    $signature: 30
   };
   A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
     call$0() {
       this.callback.call$0();
     },
-    $signature: 4
+    $signature: 2
   };
   A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
     call$0() {
       this.callback.call$0();
     },
-    $signature: 4
+    $signature: 2
   };
   A._TimerImpl.prototype = {
     _TimerImpl$2(milliseconds, callback) {
@@ -11475,7 +11552,7 @@
       t1._tick = tick;
       _this.callback.call$1(t1);
     },
-    $signature: 4
+    $signature: 2
   };
   A._AsyncAwaitCompleter.prototype = {
     complete$1(_, value) {
@@ -11507,19 +11584,19 @@
     call$1(result) {
       return this.bodyFunction.call$2(0, result);
     },
-    $signature: 5
+    $signature: 8
   };
   A._awaitOnObject_closure0.prototype = {
     call$2(error, stackTrace) {
       this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
     },
-    $signature: 46
+    $signature: 31
   };
   A._wrapJsFunctionForAsync_closure.prototype = {
     call$2(errorCode, result) {
       this.$protected(A._asInt(errorCode), result);
     },
-    $signature: 47
+    $signature: 35
   };
   A.AsyncError.prototype = {
     toString$0(_) {
@@ -11629,7 +11706,7 @@
       this._state = this._state & 1 | 4;
       this._resultOrListeners = source;
     },
-    then$1$2$onError(_, 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);
@@ -11647,8 +11724,8 @@
       this._addListener$1(new A._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>")));
       return result;
     },
-    then$1$1($receiver, f, $R) {
-      return this.then$1$2$onError($receiver, f, null, $R);
+    then$1$1(f, $R) {
+      return this.then$1$2$onError(f, null, $R);
     },
     _thenAwait$1$2(f, onError, $E) {
       var result,
@@ -11749,7 +11826,7 @@
       var e, s, exception, _this = this;
       _this._state ^= 2;
       try {
-        source.then$1$2$onError(0, new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null);
+        source.then$1$2$onError(new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null);
       } catch (exception) {
         e = A.unwrapException(exception);
         s = A.getTraceFromException(exception);
@@ -11831,7 +11908,7 @@
       _future = new A._Future(t3, t2);
       t1.timer = null;
       t1.timer = A.Timer_Timer(timeLimit, new A._Future_timeout_closure(_this, _future, t3, t3.registerCallback$1$1(onTimeout, t2._eval$1("1/"))));
-      _this.then$1$2$onError(0, new A._Future_timeout_closure0(t1, _this, _future), new A._Future_timeout_closure1(t1, _future), type$.Null);
+      _this.then$1$2$onError(new A._Future_timeout_closure0(t1, _this, _future), new A._Future_timeout_closure1(t1, _future), type$.Null);
       return _future;
     },
     $isFuture: 1
@@ -11867,7 +11944,7 @@
     call$2(error, stackTrace) {
       this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace));
     },
-    $signature: 8
+    $signature: 5
   };
   A._Future__chainForeignFuture_closure1.prototype = {
     call$0() {
@@ -11922,7 +11999,7 @@
       if (completeResult instanceof A._Future) {
         originalSource = _this._box_1.source;
         t1 = _this._box_0;
-        t1.listenerValueOrError = J.then$1$1$x(completeResult, new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic);
+        t1.listenerValueOrError = completeResult.then$1$1(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic);
         t1.listenerHasError = false;
       }
     },
@@ -11932,7 +12009,7 @@
     call$1(_) {
       return this.originalSource;
     },
-    $signature: 32
+    $signature: 45
   };
   A._Future__propagateToListeners_handleValueCallback.prototype = {
     call$0() {
@@ -12016,7 +12093,7 @@
         this._future._completeError$2(e, s);
       }
     },
-    $signature: 8
+    $signature: 5
   };
   A._AsyncCallbackEntry.prototype = {};
   A.Stream.prototype = {
@@ -12562,13 +12639,13 @@
       else
         t1._completeError$2(error, stackTrace);
     },
-    $signature: 8
+    $signature: 5
   };
   A._BufferingStreamSubscription_asFuture__closure.prototype = {
     call$0() {
       this.result._completeError$2(this.error, this.stackTrace);
     },
-    $signature: 4
+    $signature: 2
   };
   A._BufferingStreamSubscription__sendError_sendError.prototype = {
     call$0() {
@@ -13278,7 +13355,7 @@
           t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s));
       }
     },
-    $signature: 58
+    $signature: 44
   };
   A._HashMap.prototype = {
     get$length(_) {
@@ -13500,7 +13577,7 @@
     call$1(v) {
       return this.K._is(v);
     },
-    $signature: 18
+    $signature: 17
   };
   A._HashMapKeyIterable.prototype = {
     get$length(_) {
@@ -13509,6 +13586,9 @@
     get$isEmpty(_) {
       return this._collection$_map._collection$_length === 0;
     },
+    get$isNotEmpty(_) {
+      return this._collection$_map._collection$_length !== 0;
+    },
     get$iterator(_) {
       var t1 = this._collection$_map;
       return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>"));
@@ -13553,6 +13633,9 @@
     get$isEmpty(_) {
       return this._collection$_length === 0;
     },
+    get$isNotEmpty(_) {
+      return this._collection$_length !== 0;
+    },
     contains$1(_, object) {
       var strings, nums;
       if (typeof object == "string" && object !== "__proto__") {
@@ -13738,6 +13821,9 @@
     get$isEmpty(_) {
       return this._collection$_length === 0;
     },
+    get$isNotEmpty(_) {
+      return this._collection$_length !== 0;
+    },
     contains$1(_, object) {
       var strings, nums;
       if (typeof object == "string" && object !== "__proto__") {
@@ -13759,6 +13845,12 @@
         return false;
       return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
     },
+    get$first(_) {
+      var first = this._collection$_first;
+      if (first == null)
+        throw A.wrapException(A.StateError$("No elements"));
+      return A._instanceType(this)._precomputed1._as(first._element);
+    },
     add$1(_, element) {
       var strings, nums, _this = this;
       A._instanceType(_this)._precomputed1._as(element);
@@ -13858,7 +13950,7 @@
     call$2(k, v) {
       this.result.$indexSet(0, this.K._as(k), this.V._as(v));
     },
-    $signature: 19
+    $signature: 18
   };
   A.ListBase.prototype = {
     get$iterator(receiver) {
@@ -13871,7 +13963,7 @@
       return this.get$length(receiver) === 0;
     },
     get$isNotEmpty(receiver) {
-      return this.get$length(receiver) !== 0;
+      return !this.get$isEmpty(receiver);
     },
     get$first(receiver) {
       if (this.get$length(receiver) === 0)
@@ -13903,18 +13995,19 @@
       return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListBase.E"));
     },
     sublist$2(receiver, start, end) {
-      var t1,
-        listLength = this.get$length(receiver);
+      var listLength = this.get$length(receiver);
       if (end == null)
         end = listLength;
       A.RangeError_checkValidRange(start, end, listLength);
-      A.RangeError_checkValidRange(start, end, this.get$length(receiver));
-      t1 = A.instanceType(receiver)._eval$1("ListBase.E");
-      return A.List_List$from(A.SubListIterable$(receiver, start, end, t1), true, t1);
+      return A.List_List$from(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListBase.E"));
     },
     sublist$1($receiver, start) {
       return this.sublist$2($receiver, start, null);
     },
+    getRange$2(receiver, start, end) {
+      A.RangeError_checkValidRange(start, end, this.get$length(receiver));
+      return A.SubListIterable$(receiver, start, end, A.instanceType(receiver)._eval$1("ListBase.E"));
+    },
     fillRange$3(receiver, start, end, fill) {
       var i;
       A.instanceType(receiver)._eval$1("ListBase.E?")._as(fill);
@@ -13986,7 +14079,7 @@
       t1._contents = t2 + ": ";
       t1._contents += A.S(v);
     },
-    $signature: 20
+    $signature: 19
   };
   A._UnmodifiableMapMixin.prototype = {
     $indexSet(_, key, value) {
@@ -13998,7 +14091,7 @@
   };
   A.MapView.prototype = {
     cast$2$0(_, RK, RV) {
-      return J.cast$2$0$x(this._collection$_map, RK, RV);
+      return J.cast$2$0$ax(this._collection$_map, RK, RV);
     },
     $index(_, key) {
       return J.$index$asx(this._collection$_map, key);
@@ -14035,7 +14128,7 @@
   };
   A.UnmodifiableMapView.prototype = {
     cast$2$0(_, RK, RV) {
-      return new A.UnmodifiableMapView(J.cast$2$0$x(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>"));
+      return new A.UnmodifiableMapView(J.cast$2$0$ax(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>"));
     }
   };
   A.ListQueue.prototype = {
@@ -14049,9 +14142,20 @@
     get$length(_) {
       return (this._tail - this._head & this._table.length - 1) >>> 0;
     },
-    elementAt$1(_, index) {
-      var t2, t3, _this = this,
-        t1 = _this.get$length(0);
+    get$first(_) {
+      var t2, _this = this,
+        t1 = _this._head;
+      if (t1 === _this._tail)
+        throw A.wrapException(A.IterableElementError_noElement());
+      t2 = _this._table;
+      if (!(t1 < t2.length))
+        return A.ioore(t2, t1);
+      t1 = t2[t1];
+      return t1 == null ? _this.$ti._precomputed1._as(t1) : t1;
+    },
+    elementAt$1(_, index) {
+      var t2, t3, _this = this,
+        t1 = _this.get$length(0);
       if (0 > index || index >= t1)
         A.throwExpression(A.IndexError$withLength(index, t1, _this, null, "index"));
       t1 = _this._table;
@@ -14139,6 +14243,9 @@
     get$isEmpty(_) {
       return this.get$length(this) === 0;
     },
+    get$isNotEmpty(_) {
+      return this.get$length(this) !== 0;
+    },
     addAll$1(_, elements) {
       var t1;
       A._instanceType(this)._eval$1("Iterable<1>")._as(elements);
@@ -14164,6 +14271,18 @@
     toString$0(_) {
       return A.Iterable_iterableToFullString(this, "{", "}");
     },
+    take$1(_, n) {
+      return A.TakeIterable_TakeIterable(this, n, A._instanceType(this)._precomputed1);
+    },
+    skip$1(_, n) {
+      return A.SkipIterable_SkipIterable(this, n, A._instanceType(this)._precomputed1);
+    },
+    get$first(_) {
+      var it = this.get$iterator(this);
+      if (!it.moveNext$0())
+        throw A.wrapException(A.IterableElementError_noElement());
+      return it.get$current(it);
+    },
     elementAt$1(_, index) {
       var iterator, skipCount;
       A.RangeError_checkNotNegative(index, "index");
@@ -14410,6 +14529,14 @@
     get$isEmpty(_) {
       return this._root == null;
     },
+    get$isNotEmpty(_) {
+      return this._root != null;
+    },
+    get$first(_) {
+      if (this._count === 0)
+        throw A.wrapException(A.IterableElementError_noElement());
+      return this.get$_collection$_first().key;
+    },
     contains$1(_, element) {
       return A.boolConversionCheck(this._validKey.call$1(element)) && this._splay$1(this.$ti._precomputed1._as(element)) === 0;
     },
@@ -14450,7 +14577,7 @@
     call$1(v) {
       return this.E._is(v);
     },
-    $signature: 18
+    $signature: 17
   };
   A._SplayTreeSet__SplayTree_Iterable.prototype = {};
   A._SplayTreeSet__SplayTree_Iterable_SetMixin.prototype = {};
@@ -14992,7 +15119,7 @@
       B.JSArray_methods.$indexSet(t1, t2.i++, key);
       B.JSArray_methods.$indexSet(t1, t2.i++, value);
     },
-    $signature: 20
+    $signature: 19
   };
   A._JsonStringStringifier.prototype = {
     get$_partialResult() {
@@ -15480,7 +15607,7 @@
       hash = hash + ((hash & 524287) << 10) & 536870911;
       return hash ^ hash >>> 6;
     },
-    $signature: 21
+    $signature: 20
   };
   A._BigIntImpl_hashCode_finish.prototype = {
     call$1(hash) {
@@ -15488,13 +15615,13 @@
       hash ^= hash >>> 11;
       return hash + ((hash & 16383) << 15) & 536870911;
     },
-    $signature: 22
+    $signature: 21
   };
   A._symbolMapToStringMap_closure.prototype = {
     call$2(key, value) {
-      this.result.$indexSet(0, type$.Symbol._as(key)._name, value);
+      this.result.$indexSet(0, type$.Symbol._as(key).__internal$_name, value);
     },
-    $signature: 23
+    $signature: 22
   };
   A.NoSuchMethodError_toString_closure.prototype = {
     call$2(key, value) {
@@ -15503,13 +15630,13 @@
       t1 = this.sb;
       t2 = this._box_0;
       t3 = t1._contents += t2.comma;
-      t3 += key._name;
+      t3 += key.__internal$_name;
       t1._contents = t3;
       t1._contents = t3 + ": ";
       t1._contents += A.Error_safeToString(value);
       t2.comma = ", ";
     },
-    $signature: 23
+    $signature: 22
   };
   A.DateTime.prototype = {
     $eq(_, other) {
@@ -15667,7 +15794,7 @@
       _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb));
       receiverText = A.Error_safeToString(_this._core$_receiver);
       actualParameters = sb.toString$0(0);
-      return "NoSuchMethodError: method not found: '" + _this._core$_memberName._name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
+      return "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
     }
   };
   A.UnsupportedError.prototype = {
@@ -15830,6 +15957,21 @@
     get$isEmpty(_) {
       return !this.get$iterator(this).moveNext$0();
     },
+    get$isNotEmpty(_) {
+      return !this.get$isEmpty(this);
+    },
+    take$1(_, count) {
+      return A.TakeIterable_TakeIterable(this, count, A.instanceType(this)._eval$1("Iterable.E"));
+    },
+    skip$1(_, count) {
+      return A.SkipIterable_SkipIterable(this, count, A.instanceType(this)._eval$1("Iterable.E"));
+    },
+    get$first(_) {
+      var it = this.get$iterator(this);
+      if (!it.moveNext$0())
+        throw A.wrapException(A.IterableElementError_noElement());
+      return it.get$current(it);
+    },
     elementAt$1(_, index) {
       var iterator, skipCount;
       A.RangeError_checkNotNegative(index, "index");
@@ -15899,7 +16041,7 @@
     call$2(msg, position) {
       throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
     },
-    $signature: 66
+    $signature: 49
   };
   A.Uri_parseIPv6Address_error.prototype = {
     call$2(msg, position) {
@@ -15917,7 +16059,7 @@
         this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start);
       return value;
     },
-    $signature: 21
+    $signature: 20
   };
   A._Uri.prototype = {
     get$_text() {
@@ -16103,7 +16245,7 @@
     call$1(s) {
       return A._Uri__uriEncode(B.List_XRg0, A._asString(s), B.C_Utf8Codec, false);
     },
-    $signature: 48
+    $signature: 54
   };
   A.UriData.prototype = {
     get$uri() {
@@ -16144,7 +16286,7 @@
       B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition);
       return t1;
     },
-    $signature: 57
+    $signature: 55
   };
   A._createTables_setChars.prototype = {
     call$3(target, chars, transition) {
@@ -16156,7 +16298,7 @@
         target[t2] = transition;
       }
     },
-    $signature: 14
+    $signature: 23
   };
   A._createTables_setRange.prototype = {
     call$3(target, range, transition) {
@@ -16175,7 +16317,7 @@
         target[t1] = transition;
       }
     },
-    $signature: 14
+    $signature: 23
   };
   A._SimpleUri.prototype = {
     get$hasAuthority() {
@@ -16340,7 +16482,7 @@
       return t1;
     }
   };
-  A.Blob.prototype = {$isBlob: 1};
+  A.Blob.prototype = {};
   A.CharacterData.prototype = {
     get$length(receiver) {
       return receiver.length;
@@ -16649,7 +16791,6 @@
     $isIterable: 1,
     $isList: 1
   };
-  A.ImageData.prototype = {$isImageData: 1};
   A.Location.prototype = {
     toString$0(receiver) {
       var t1 = String(receiver);
@@ -17073,7 +17214,7 @@
     call$2(k, v) {
       return B.JSArray_methods.add$1(this.keys, k);
     },
-    $signature: 26
+    $signature: 29
   };
   A.StyleSheet.prototype = {$isStyleSheet: 1};
   A.TextTrack.prototype = {$isTextTrack: 1};
@@ -17229,8 +17370,6 @@
     },
     $isWebSocket: 1
   };
-  A.Window.prototype = {$isWindow: 1};
-  A.WorkerGlobalScope.prototype = {$isWorkerGlobalScope: 1};
   A._CssRuleList.prototype = {
     get$length(receiver) {
       var t1 = receiver.length;
@@ -17567,13 +17706,13 @@
     call$1(e) {
       return this.onData.call$1(type$.Event._as(e));
     },
-    $signature: 27
+    $signature: 25
   };
   A._EventStreamSubscription_onData_closure0.prototype = {
     call$1(e) {
       return this.handleData.call$1(type$.Event._as(e));
     },
-    $signature: 27
+    $signature: 25
   };
   A.ImmutableListMixin.prototype = {
     get$iterator(receiver) {
@@ -17727,7 +17866,7 @@
       this.map.$indexSet(0, key, t1);
       return t1;
     },
-    $signature: 33
+    $signature: 32
   };
   A._AcceptStructuredCloneDart2Js.prototype = {
     forEachJsField$2(object, action) {
@@ -17739,144 +17878,38 @@
       }
     }
   };
-  A.KeyRange.prototype = {$isKeyRange: 1};
-  A.JsObject__convertDataTree__convert.prototype = {
-    call$1(o) {
-      var convertedMap, t2, key, convertedList,
-        t1 = this._convertedObjects;
-      if (t1.containsKey$1(0, o))
-        return t1.$index(0, o);
-      if (type$.Map_dynamic_dynamic._is(o)) {
-        convertedMap = {};
-        t1.$indexSet(0, o, convertedMap);
-        for (t1 = J.getInterceptor$x(o), t2 = J.get$iterator$ax(t1.get$keys(o)); t2.moveNext$0();) {
-          key = t2.get$current(t2);
-          convertedMap[key] = this.call$1(t1.$index(o, key));
-        }
-        return convertedMap;
-      } else if (type$.Iterable_dynamic._is(o)) {
-        convertedList = [];
-        t1.$indexSet(0, o, convertedList);
-        B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic));
-        return convertedList;
-      } else
-        return A._convertToJS(o);
-    },
-    $signature: 34
-  };
-  A._convertToJS_closure.prototype = {
-    call$1(o) {
-      var jsFunction;
-      type$.Function._as(o);
-      jsFunction = function(_call, f, captureThis) {
-        return function() {
-          return _call(f, captureThis, this, Array.prototype.slice.apply(arguments));
-        };
-      }(A._callDartFunction, o, false);
-      A._defineProperty(jsFunction, $.$get$DART_CLOSURE_PROPERTY_NAME(), o);
-      return jsFunction;
-    },
-    $signature: 2
-  };
-  A._convertToJS_closure0.prototype = {
-    call$1(o) {
-      return new this.ctor(o);
-    },
-    $signature: 2
-  };
-  A._wrapToDart_closure.prototype = {
-    call$1(o) {
-      return new A.JsFunction(o == null ? type$.Object._as(o) : o);
-    },
-    $signature: 35
-  };
-  A._wrapToDart_closure0.prototype = {
-    call$1(o) {
-      var t1 = o == null ? type$.Object._as(o) : o;
-      return new A.JsArray(t1, type$.JsArray_dynamic);
-    },
-    $signature: 36
-  };
-  A._wrapToDart_closure1.prototype = {
-    call$1(o) {
-      return new A.JsObject(o == null ? type$.Object._as(o) : o);
+  A.FutureOfVoidToJSPromise_get_toJS_closure.prototype = {
+    call$2(resolve, reject) {
+      var t1 = type$.LegacyJavaScriptObject;
+      this._this.then$1$2$onError(new A.FutureOfVoidToJSPromise_get_toJS__closure(t1._as(resolve)), new A.FutureOfVoidToJSPromise_get_toJS__closure0(t1._as(reject)), type$.nullable_Object);
     },
-    $signature: 37
+    $signature: 33
   };
-  A.JsObject.prototype = {
-    $index(_, property) {
-      if (typeof property != "string" && typeof property != "number")
-        throw A.wrapException(A.ArgumentError$("property is not a String or num", null));
-      return A._convertToDart(this._jsObject[property]);
-    },
-    $indexSet(_, property, value) {
-      if (typeof property != "string" && typeof property != "number")
-        throw A.wrapException(A.ArgumentError$("property is not a String or num", null));
-      this._jsObject[property] = A._convertToJS(value);
-    },
-    $eq(_, other) {
-      if (other == null)
-        return false;
-      return other instanceof A.JsObject && this._jsObject === other._jsObject;
-    },
-    toString$0(_) {
-      var t1, exception;
-      try {
-        t1 = String(this._jsObject);
-        return t1;
-      } catch (exception) {
-        t1 = this.super$Object$toString(0);
-        return t1;
-      }
-    },
-    callMethod$2(method, args) {
-      var t2,
-        t1 = this._jsObject;
-      if (args == null)
-        t2 = null;
-      else {
-        t2 = A._arrayInstanceType(args);
-        t2 = A.List_List$from(new A.MappedListIterable(args, t2._eval$1("@(1)")._as(A.js___convertToJS$closure()), t2._eval$1("MappedListIterable<1,@>")), true, type$.dynamic);
-      }
-      return A._convertToDart(t1[method].apply(t1, t2));
-    },
-    callMethod$1(method) {
-      return this.callMethod$2(method, null);
+  A.FutureOfVoidToJSPromise_get_toJS__closure.prototype = {
+    call$1(_) {
+      var t1 = this.resolve;
+      return A.callMethod(t1, "call", [t1], type$.nullable_Object);
     },
-    get$hashCode(_) {
-      return 0;
-    }
+    $signature: 34
   };
-  A.JsFunction.prototype = {};
-  A.JsArray.prototype = {
-    _checkIndex$1(index) {
-      var t1 = index < 0 || index >= this.get$length(0);
-      if (t1)
-        throw A.wrapException(A.RangeError$range(index, 0, this.get$length(0), null, null));
-    },
-    $index(_, index) {
-      if (A._isInt(index))
-        this._checkIndex$1(index);
-      return this.$ti._precomputed1._as(this.super$JsObject$$index(0, index));
-    },
-    $indexSet(_, index, value) {
-      this._checkIndex$1(index);
-      this.super$_JsArray_JsObject_ListMixin$$indexSet(0, index, value);
-    },
-    get$length(_) {
-      var len = this._jsObject.length;
-      if (typeof len === "number" && len >>> 0 === len)
-        return len;
-      throw A.wrapException(A.StateError$("Bad JsArray length"));
+  A.FutureOfVoidToJSPromise_get_toJS__closure0.prototype = {
+    call$2(error, stackTrace) {
+      var t1, errorConstructor, box, t2;
+      type$.Object._as(error);
+      type$.StackTrace._as(stackTrace);
+      t1 = type$.JSObject;
+      errorConstructor = type$.LegacyJavaScriptObject._as(t1._as(self).Error);
+      t1 = A.callConstructor(errorConstructor, ["Dart exception thrown from converted Future. Use the properties 'error' to fetch the boxed error and 'stack' to recover the stack trace."], t1);
+      if (type$.JavaScriptObject._is(error))
+        A.throwExpression("Attempting to box non-Dart object.");
+      box = {};
+      box[$.$get$_jsBoxedDartObjectProperty()] = error;
+      t1.error = box;
+      t1.stack = stackTrace.toString$0(0);
+      t2 = this.reject;
+      A.callMethod(t2, "call", [t2, t1], type$.nullable_Object);
     },
-    $isEfficientLengthIterable: 1,
-    $isIterable: 1,
-    $isList: 1
-  };
-  A._JsArray_JsObject_ListMixin.prototype = {
-    $indexSet(_, property, value) {
-      return this.super$JsObject$$indexSet(0, property, value);
-    }
+    $signature: 5
   };
   A.jsify__convert.prototype = {
     call$1(o) {
@@ -17902,13 +17935,13 @@
       } else
         return o;
     },
-    $signature: 9
+    $signature: 12
   };
   A.promiseToFuture_closure.prototype = {
     call$1(r) {
       return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r));
     },
-    $signature: 5
+    $signature: 8
   };
   A.promiseToFuture_closure0.prototype = {
     call$1(e) {
@@ -17916,7 +17949,7 @@
         return this.completer.completeError$1(new A.NullRejectionException(e === undefined));
       return this.completer.completeError$1(e);
     },
-    $signature: 5
+    $signature: 8
   };
   A.dartify_convert.prototype = {
     call$1(o) {
@@ -17963,7 +17996,7 @@
       }
       return o;
     },
-    $signature: 9
+    $signature: 12
   };
   A.NullRejectionException.prototype = {
     toString$0(_) {
@@ -18389,7 +18422,7 @@
       type$.StackTrace._as(stackTrace);
       this.$this._addResult$1(new A.ErrorResult(error, stackTrace));
     },
-    $signature: 8
+    $signature: 5
   };
   A.StreamQueue__ensureListening_closure0.prototype = {
     call$0() {
@@ -18404,7 +18437,7 @@
     update$2(_, events, isDone) {
       var t1, t2, result;
       this.$ti._eval$1("QueueList<Result<1>>")._as(events);
-      if (events.get$length(0) !== 0) {
+      if (!events.get$isEmpty(events)) {
         t1 = events._queue_list$_head;
         if (t1 === events._queue_list$_tail)
           A.throwExpression(A.StateError$("No element"));
@@ -18429,7 +18462,8 @@
   };
   A._HasNextRequest.prototype = {
     update$2(_, events, isDone) {
-      if (this.$ti._eval$1("QueueList<Result<1>>")._as(events).get$length(0) !== 0) {
+      this.$ti._eval$1("QueueList<Result<1>>")._as(events);
+      if (!events.get$isEmpty(events)) {
         this._stream_queue$_completer.complete$1(0, true);
         return true;
       }
@@ -18445,7 +18479,7 @@
     call$2(h, i) {
       return A._combine(A._asInt(h), J.get$hashCode$(i));
     },
-    $signature: 39
+    $signature: 36
   };
   A.BuiltList.prototype = {
     toBuilder$0() {
@@ -18504,6 +18538,20 @@
     get$isEmpty(_) {
       return this._list.length === 0;
     },
+    get$isNotEmpty(_) {
+      return this._list.length !== 0;
+    },
+    take$1(_, n) {
+      var t1 = this._list;
+      return A.SubListIterable$(t1, 0, A.checkNotNullable(n, "count", type$.int), A._arrayInstanceType(t1)._precomputed1);
+    },
+    skip$1(_, n) {
+      var t1 = this._list;
+      return A.SubListIterable$(t1, n, null, A._arrayInstanceType(t1)._precomputed1);
+    },
+    get$first(_) {
+      return B.JSArray_methods.get$first(this._list);
+    },
     elementAt$1(_, index) {
       var t1 = this._list;
       if (!(index >= 0 && index < t1.length))
@@ -18651,7 +18699,7 @@
     call$1(k) {
       return this.multimap.$index(0, k);
     },
-    $signature: 2
+    $signature: 4
   };
   A.BuiltListMultimap_hashCode_closure.prototype = {
     call$1(key) {
@@ -18820,7 +18868,7 @@
     call$1(k) {
       return this.multimap.$index(0, k);
     },
-    $signature: 2
+    $signature: 4
   };
   A.BuiltMap.prototype = {
     toBuilder$0() {
@@ -18892,7 +18940,7 @@
     call$1(k) {
       return this.map.$index(0, k);
     },
-    $signature: 2
+    $signature: 4
   };
   A.BuiltMap_hashCode_closure.prototype = {
     call$1(key) {
@@ -19018,7 +19066,7 @@
       var t1 = this.$this.$ti;
       this.replacement.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value));
     },
-    $signature: 19
+    $signature: 18
   };
   A.BuiltSet.prototype = {
     get$hashCode(_) {
@@ -19074,6 +19122,20 @@
     get$isEmpty(_) {
       return this._set$_set._collection$_length === 0;
     },
+    get$isNotEmpty(_) {
+      return this._set$_set._collection$_length !== 0;
+    },
+    take$1(_, n) {
+      var t1 = this._set$_set;
+      return A.TakeIterable_TakeIterable(t1, n, A._instanceType(t1)._precomputed1);
+    },
+    skip$1(_, n) {
+      var t1 = this._set$_set;
+      return A.SkipIterable_SkipIterable(t1, n, A._instanceType(t1)._precomputed1);
+    },
+    get$first(_) {
+      return this._set$_set.get$first(0);
+    },
     elementAt$1(_, index) {
       return this._set$_set.elementAt$1(0, index);
     },
@@ -19390,7 +19452,7 @@
     call$1(k) {
       return this.multimap.$index(0, k);
     },
-    $signature: 2
+    $signature: 4
   };
   A.EnumClass.prototype = {
     toString$0(_) {
@@ -19406,7 +19468,7 @@
       $._indentingBuiltValueToStringHelperIndent = $._indentingBuiltValueToStringHelperIndent + 2;
       return new A.IndentingBuiltValueToStringHelper(t1);
     },
-    $signature: 31
+    $signature: 37
   };
   A.IndentingBuiltValueToStringHelper.prototype = {
     add$2(_, field, value) {
@@ -19539,34 +19601,34 @@
     call$0() {
       return A.ListBuilder_ListBuilder(B.List_empty, type$.Object);
     },
-    $signature: 41
+    $signature: 38
   };
   A.Serializers_Serializers_closure0.prototype = {
     call$0() {
       var t1 = type$.Object;
       return A.ListMultimapBuilder_ListMultimapBuilder(t1, t1);
     },
-    $signature: 42
+    $signature: 39
   };
   A.Serializers_Serializers_closure1.prototype = {
     call$0() {
       var t1 = type$.Object;
       return A.MapBuilder_MapBuilder(t1, t1);
     },
-    $signature: 43
+    $signature: 40
   };
   A.Serializers_Serializers_closure2.prototype = {
     call$0() {
       return A.SetBuilder_SetBuilder(type$.Object);
     },
-    $signature: 44
+    $signature: 41
   };
   A.Serializers_Serializers_closure3.prototype = {
     call$0() {
       var t1 = type$.Object;
       return A.SetMultimapBuilder_SetMultimapBuilder(t1, t1);
     },
-    $signature: 45
+    $signature: 42
   };
   A.FullType.prototype = {
     $eq(_, other) {
@@ -19986,7 +20048,7 @@
     call$1(value) {
       return this.serializers.deserialize$2$specifiedType(value, this.valueType);
     },
-    $signature: 9
+    $signature: 12
   };
   A.BuiltListSerializer.prototype = {
     serialize$3$specifiedType(serializers, builtList, specifiedType) {
@@ -22671,13 +22733,13 @@
     call$0() {
       return A.ListBuilder_ListBuilder(B.List_empty, type$.DebugEvent);
     },
-    $signature: 50
+    $signature: 47
   };
   A._$serializers_closure0.prototype = {
     call$0() {
       return A.ListBuilder_ListBuilder(B.List_empty, type$.ExtensionEvent);
     },
-    $signature: 51
+    $signature: 48
   };
   A.BatchedStreamController.prototype = {
     _batchAndSendEvents$0() {
@@ -22787,13 +22849,13 @@
     call$0() {
       return true;
     },
-    $signature: 24
+    $signature: 26
   };
   A.BatchedStreamController__hasEventDuring_closure.prototype = {
     call$0() {
       return false;
     },
-    $signature: 24
+    $signature: 26
   };
   A.SocketClient.prototype = {};
   A.SseSocketClient.prototype = {
@@ -22835,14 +22897,14 @@
     call$1(o) {
       return J.toString$0$(o);
     },
-    $signature: 53
+    $signature: 50
   };
   A.safeUnawaited_closure.prototype = {
     call$2(error, stackTrace) {
       type$.StackTrace._as(stackTrace);
       return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace);
     },
-    $signature: 17
+    $signature: 16
   };
   A.Int32.prototype = {
     _toInt$1(val) {
@@ -23053,7 +23115,7 @@
         $parent._children.$indexSet(0, thisName, t1);
       return t1;
     },
-    $signature: 54
+    $signature: 51
   };
   A.Pool.prototype = {
     request$0(_) {
@@ -23153,7 +23215,7 @@
     },
     _runOnRelease$1(onRelease) {
       var t1, t2;
-      A.Future_Future$sync(type$.dynamic_Function._as(onRelease), type$.dynamic).then$1$1(0, new A.Pool__runOnRelease_closure(this), type$.Null).catchError$1(new A.Pool__runOnRelease_closure0(this));
+      A.Future_Future$sync(type$.dynamic_Function._as(onRelease), type$.dynamic).then$1$1(new A.Pool__runOnRelease_closure(this), type$.Null).catchError$1(new A.Pool__runOnRelease_closure0(this));
       t1 = new A._Future($.Zone__current, type$._Future_PoolResource);
       t2 = this._onReleaseCompleters;
       t2._collection$_add$1(0, t2.$ti._precomputed1._as(new A._SyncCompleter(t1, type$._SyncCompleter_PoolResource)));
@@ -23186,7 +23248,7 @@
       type$.StackTrace._as(stackTrace);
       this.$this._onReleaseCompleters.removeFirst$0().completeError$2(error, stackTrace);
     },
-    $signature: 8
+    $signature: 5
   };
   A.PoolResource.prototype = {};
   A.SseClient.prototype = {
@@ -23276,7 +23338,7 @@
       t2 = t1._outgoingController;
       new A._ControllerStream(t2, A._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$2$onDone(t1.get$_onOutgoingMessage(), t1.get$_onOutgoingDone());
     },
-    $signature: 4
+    $signature: 2
   };
   A.SseClient_closure0.prototype = {
     call$1(_) {
@@ -23377,25 +23439,25 @@
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 25
+    $signature: 24
   };
   A.generateUuidV4_generateBits.prototype = {
     call$1(bitCount) {
       return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount));
     },
-    $signature: 22
+    $signature: 21
   };
   A.generateUuidV4_printDigits.prototype = {
     call$2(value, count) {
       return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0");
     },
-    $signature: 29
+    $signature: 27
   };
   A.generateUuidV4_bitsDigits.prototype = {
     call$2(bitCount, digitCount) {
       return this.printDigits.call$2(this.generateBits.call$1(bitCount), digitCount);
     },
-    $signature: 29
+    $signature: 27
   };
   A.GuaranteeChannel.prototype = {
     GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) {
@@ -23785,12 +23847,12 @@
       } else {
         if (t3 === 2 || t3 === 3)
           t1.completeError$1(new A.WebSocketChannelException("WebSocket state error: " + t3));
-        new A._EventStream0(t2, "open", false, type$._EventStream_Event).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure(_this), type$.Null);
+        new A._EventStream0(t2, "open", false, type$._EventStream_Event).get$first(0).then$1$1(new A.HtmlWebSocketChannel_closure(_this), type$.Null);
       }
       t1 = type$.Null;
-      new A._EventStream0(t2, "error", false, type$._EventStream_Event).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure0(_this), t1);
+      new A._EventStream0(t2, "error", false, type$._EventStream_Event).get$first(0).then$1$1(new A.HtmlWebSocketChannel_closure0(_this), t1);
       A._EventStreamSubscription$0(t2, "message", type$.nullable_void_Function_MessageEvent._as(new A.HtmlWebSocketChannel_closure1(_this)), false, type$.MessageEvent);
-      new A._EventStream0(t2, "close", false, type$._EventStream_CloseEvent).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t1);
+      new A._EventStream0(t2, "close", false, type$._EventStream_CloseEvent).get$first(0).then$1$1(new A.HtmlWebSocketChannel_closure2(_this), t1);
     },
     _listen$0() {
       var t1 = this._html0$_controller.__StreamChannelController__local_F;
@@ -23811,7 +23873,7 @@
       t2.complete$0(0);
       t1._listen$0();
     },
-    $signature: 30
+    $signature: 28
   };
   A.HtmlWebSocketChannel_closure0.prototype = {
     call$1(_) {
@@ -23831,7 +23893,7 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.close$0(0);
     },
-    $signature: 30
+    $signature: 28
   };
   A.HtmlWebSocketChannel_closure1.prototype = {
     call$1($event) {
@@ -23847,7 +23909,7 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.add$1(0, data);
     },
-    $signature: 59
+    $signature: 56
   };
   A.HtmlWebSocketChannel_closure2.prototype = {
     call$1($event) {
@@ -23861,7 +23923,7 @@
       t1 === $ && A.throwLateFieldNI("_sink");
       t1.close$0(0);
     },
-    $signature: 91
+    $signature: 57
   };
   A.HtmlWebSocketChannel__listen_closure.prototype = {
     call$0() {
@@ -23880,7 +23942,7 @@
     call$0() {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.void),
-        uri, t1, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, t5, t6, debugEventController, t7;
+        uri, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, t5, t6, t7, t8, debugEventController, t9, t1;
       var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -23888,10 +23950,10 @@
           switch ($async$goto) {
             case 0:
               // Function start
-              if (self.$dartAppInstanceId == null)
-                self.$dartAppInstanceId = B.C_Uuid.v1$0();
-              uri = A.Uri_parse(self.$dwdsDevHandlerPath);
               t1 = self;
+              if (A._asStringQ(t1.$dartAppInstanceId) == null)
+                t1.$dartAppInstanceId = B.C_Uuid.v1$0();
+              uri = A.Uri_parse(A._asString(t1.$dwdsDevHandlerPath));
               t2 = type$.JavaScriptObject;
               if (A._asString(t2._as(t2._as(t1.window).location).protocol) === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost")
                 uri = uri.replace$1$scheme(0, "https");
@@ -23900,7 +23962,7 @@
               fixedPath = uri.toString$0(0);
               fixedUri = A.Uri_parse(fixedPath);
               client = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.HtmlWebSocketChannel$connect(fixedUri, null)) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient"));
-              $async$goto = J.$eq$(self.$dartModuleStrategy, "require-js") ? 2 : 4;
+              $async$goto = A._asString(t1.$dartModuleStrategy) === "require-js" ? 2 : 4;
               break;
             case 2:
               // then
@@ -23914,30 +23976,32 @@
               break;
             case 4:
               // else
-              if (J.$eq$(self.$dartModuleStrategy, "legacy"))
+              if (A._asString(t1.$dartModuleStrategy) === "legacy")
                 restarter = new A.LegacyRestarter();
               else
-                throw A.wrapException(A.StateError$("Unknown module strategy: " + A.S(self.$dartModuleStrategy)));
+                throw A.wrapException(A.StateError$("Unknown module strategy: " + A.S(A.getProperty(A.staticInteropGlobalContext(), "$dartModuleStrategy", type$.String))));
             case 3:
               // join
               manager = new A.ReloadingManager(client, restarter);
-              self.$dartHotRestartDwds = A.allowInterop(new A.main__closure(manager), type$.Promise_bool_Function_String);
-              t3 = $.Zone__current;
-              t4 = Math.max(100, 1);
-              t5 = A.StreamController_StreamController(null, null, false, type$.DebugEvent);
-              t6 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent);
-              debugEventController = new A.BatchedStreamController(t4, 1000, t5, t6, new A._AsyncCompleter(new A._Future(t3, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent);
-              t3 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent);
-              t4 = A.ListQueue$(type$._EventRequest_dynamic);
-              t7 = type$.StreamQueue_DebugEvent;
-              debugEventController.set$__BatchedStreamController__inputQueue_A(t7._as(new A.StreamQueue(new A._ControllerStream(t5, A._instanceType(t5)._eval$1("_ControllerStream<1>")), new A.QueueList(t3, 0, 0, type$.QueueList_Result_DebugEvent), t4, t7)));
+              t3 = type$.Function;
+              t4 = type$.LegacyJavaScriptObject;
+              t1.$dartHotRestartDwds = t4._as(A.allowInterop(new A.main__closure(manager), t3));
+              t5 = $.Zone__current;
+              t6 = Math.max(100, 1);
+              t7 = A.StreamController_StreamController(null, null, false, type$.DebugEvent);
+              t8 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent);
+              debugEventController = new A.BatchedStreamController(t6, 1000, t7, t8, new A._AsyncCompleter(new A._Future(t5, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent);
+              t5 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent);
+              t6 = A.ListQueue$(type$._EventRequest_dynamic);
+              t9 = type$.StreamQueue_DebugEvent;
+              debugEventController.set$__BatchedStreamController__inputQueue_A(t9._as(new A.StreamQueue(new A._ControllerStream(t7, A._instanceType(t7)._eval$1("_ControllerStream<1>")), new A.QueueList(t5, 0, 0, type$.QueueList_Result_DebugEvent), t6, t9)));
               A.safeUnawaited(debugEventController._batchAndSendEvents$0());
-              new A._ControllerStream(t6, A._instanceType(t6)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client));
-              self.$emitDebugEvent = A.allowInterop(new A.main__closure1(debugEventController), type$.void_Function_String_String);
-              self.$emitRegisterEvent = A.allowInterop(new A.main__closure2(client), type$.void_Function_String);
-              self.$launchDevTools = A.allowInterop(new A.main__closure3(client), type$.void_Function);
+              new A._ControllerStream(t8, A._instanceType(t8)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client));
+              t1.$emitDebugEvent = t4._as(A.allowInterop(new A.main__closure1(debugEventController), t3));
+              t1.$emitRegisterEvent = t4._as(A.allowInterop(new A.main__closure2(client), t3));
+              t1.$launchDevTools = t4._as(A.allowInterop(new A.main__closure3(client), t3));
               client.get$stream(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5());
-              if (A.boolConversionCheck(self.$dwdsEnableDevToolsLaunch))
+              if (A._asBool(t1.$dwdsEnableDevToolsLaunch))
                 A._EventStreamSubscription$(t2._as(t1.window), "keydown", type$.nullable_void_Function_JavaScriptObject._as(new A.main__closure6()), false, t2);
               if (A._isChromium()) {
                 t1 = client.get$sink();
@@ -23954,19 +24018,19 @@
       });
       return A._asyncStartSync($async$call$0, $async$completer);
     },
-    $signature: 61
+    $signature: 58
   };
   A.main__closure.prototype = {
     call$1(runId) {
-      return A.toPromise(this.manager.hotRestart$1$runId(A._asString(runId)), type$.bool);
+      return A.FutureOfVoidToJSPromise_get_toJS(this.manager.hotRestart$1$runId(A._asString(runId)));
     },
-    $signature: 62
+    $signature: 59
   };
   A.main__closure0.prototype = {
     call$1(events) {
       var t1, t2, t3;
       type$.List_DebugEvent._as(events);
-      if (A.boolConversionCheck(self.$dartEmitDebugEvents)) {
+      if (A._asBool(self.$dartEmitDebugEvents)) {
         t1 = this.client.get$sink();
         t2 = $.$get$serializers();
         t3 = new A.BatchedDebugEventsBuilder();
@@ -23974,7 +24038,7 @@
         A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._debug_event$_build$0()), null), type$.dynamic);
       }
     },
-    $signature: 63
+    $signature: 90
   };
   A.main___closure2.prototype = {
     call$1(b) {
@@ -23983,21 +24047,21 @@
       b.get$_debug_event$_$this().set$_events(t1);
       return t1;
     },
-    $signature: 90
+    $signature: 61
   };
   A.main__closure1.prototype = {
     call$2(kind, eventData) {
       var t1, t2;
       A._asString(kind);
       A._asString(eventData);
-      if (A.boolConversionCheck(self.$dartEmitDebugEvents)) {
+      if (A._asBool(self.$dartEmitDebugEvents)) {
         t1 = this.debugEventController._inputController;
         t2 = new A.DebugEventBuilder();
         type$.nullable_void_Function_DebugEventBuilder._as(new A.main___closure1(kind, eventData)).call$1(t2);
         A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent);
       }
     },
-    $signature: 26
+    $signature: 62
   };
   A.main___closure1.prototype = {
     call$1(b) {
@@ -24007,7 +24071,7 @@
       b.get$_debug_event$_$this()._eventData = this.eventData;
       return b;
     },
-    $signature: 65
+    $signature: 63
   };
   A.main__closure2.prototype = {
     call$1(eventData) {
@@ -24019,7 +24083,7 @@
       type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3);
       A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic);
     },
-    $signature: 15
+    $signature: 64
   };
   A.main___closure0.prototype = {
     call$1(b) {
@@ -24028,7 +24092,7 @@
       b.get$_register_event$_$this()._register_event$_eventData = this.eventData;
       return b;
     },
-    $signature: 67
+    $signature: 65
   };
   A.main__closure3.prototype = {
     call$0() {
@@ -24043,17 +24107,18 @@
       type$.nullable_void_Function_DevToolsRequestBuilder._as(new A.main___closure()).call$1(t3);
       A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._devtools_request$_build$0()), null), type$.dynamic);
     },
-    $signature: 0
+    $signature: 2
   };
   A.main___closure.prototype = {
     call$1(b) {
-      var t1 = A._asStringQ(self.$dartAppId);
-      b.get$_devtools_request$_$this()._devtools_request$_appId = t1;
-      t1 = A._asStringQ(self.$dartAppInstanceId);
+      var t1 = self,
+        t2 = A._asString(t1.$dartAppId);
+      b.get$_devtools_request$_$this()._devtools_request$_appId = t2;
+      t1 = A._asStringQ(t1.$dartAppInstanceId);
       b.get$_devtools_request$_$this()._devtools_request$_instanceId = t1;
       return b;
     },
-    $signature: 68
+    $signature: 66
   };
   A.main__closure4.prototype = {
     call$1(serialized) {
@@ -24062,7 +24127,7 @@
     $call$body$main__closure(serialized) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.void),
-        $async$self = this, t1, $alert, t2, $event;
+        $async$self = this, t1, t2, $alert, $event;
       var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -24075,18 +24140,19 @@
               break;
             case 2:
               // then
-              $async$goto = J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.liveReload") ? 5 : 7;
+              t1 = self;
+              $async$goto = A._asString(t1.$dartReloadConfiguration) === "ReloadConfiguration.liveReload" ? 5 : 7;
               break;
             case 5:
               // then
-              t1 = type$.JavaScriptObject;
-              t1._as(t1._as(self.window).location).reload();
+              t2 = type$.JavaScriptObject;
+              t2._as(t2._as(t1.window).location).reload();
               // goto join
               $async$goto = 6;
               break;
             case 7:
               // else
-              $async$goto = J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.hotRestart") ? 8 : 10;
+              $async$goto = A._asString(t1.$dartReloadConfiguration) === "ReloadConfiguration.hotRestart" ? 8 : 10;
               break;
             case 8:
               // then
@@ -24099,7 +24165,7 @@
               break;
             case 10:
               // else
-              if (J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.hotReload"))
+              if (A._asString(t1.$dartReloadConfiguration) === "ReloadConfiguration.hotReload")
                 A.print("Hot reload is currently unsupported. Ignoring change.");
             case 9:
               // join
@@ -24132,7 +24198,7 @@
       });
       return A._asyncStartSync($async$call$1, $async$completer);
     },
-    $signature: 69
+    $signature: 67
   };
   A.main__closure5.prototype = {
     call$1(error) {
@@ -24143,22 +24209,23 @@
     call$1(e) {
       if (B.JSArray_methods.contains$1(B.List_er0, A._asString(e.key)) && A._asBool(e.altKey) && !A._asBool(e.ctrlKey) && !A._asBool(e.metaKey)) {
         e.preventDefault();
-        self.$launchDevTools.call$0();
+        type$.LegacyJavaScriptObject._as(self.$launchDevTools).call();
       }
     },
     $signature: 1
   };
   A.main__closure7.prototype = {
     call$1(b) {
-      var t1 = A._asStringQ(self.$dartAppId);
-      b.get$_connect_request$_$this()._appId = t1;
-      t1 = A._asStringQ(self.$dartAppInstanceId);
-      b.get$_connect_request$_$this()._instanceId = t1;
-      t1 = A._asStringQ(self.$dartEntrypointPath);
+      var t1 = self,
+        t2 = A._asString(t1.$dartAppId);
+      b.get$_connect_request$_$this()._appId = t2;
+      t2 = A._asStringQ(t1.$dartAppInstanceId);
+      b.get$_connect_request$_$this()._instanceId = t2;
+      t1 = A._asString(t1.$dartEntrypointPath);
       b.get$_connect_request$_$this()._entrypointPath = t1;
       return b;
     },
-    $signature: 70
+    $signature: 68
   };
   A.main_closure0.prototype = {
     call$2(error, stackTrace) {
@@ -24166,48 +24233,49 @@
       type$.StackTrace._as(stackTrace);
       A.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" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n");
     },
-    $signature: 11
+    $signature: 10
   };
   A._launchCommunicationWithDebugExtension_closure.prototype = {
     call$1(b) {
-      var t2, t3,
-        t1 = A._asStringQ(self.$dartEntrypointPath);
-      b.get$_$this()._appEntrypointPath = t1;
-      t1 = self;
-      t2 = type$.JavaScriptObject;
-      t3 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$dartAppId"));
+      var t3, t4,
+        t1 = self,
+        t2 = A._asString(t1.$dartEntrypointPath);
+      b.get$_$this()._appEntrypointPath = t2;
+      t2 = type$.JSObject;
+      t3 = A._asStringQ(A.dartify(t2._as(t1.window).$dartAppId));
       b.get$_$this()._debug_info$_appId = t3;
-      t3 = A._asStringQ(self.$dartAppInstanceId);
+      t3 = A._asStringQ(t1.$dartAppInstanceId);
       b.get$_$this()._appInstanceId = t3;
-      t3 = A._asString(t2._as(t2._as(t1.window).location).origin);
-      b.get$_$this()._appOrigin = t3;
-      t3 = A._asString(t2._as(t2._as(t1.window).location).href);
+      t3 = type$.JavaScriptObject;
+      t4 = A._asString(t3._as(t3._as(t1.window).location).origin);
+      b.get$_$this()._appOrigin = t4;
+      t3 = A._asString(t3._as(t3._as(t1.window).location).href);
       b.get$_$this()._appUrl = t3;
       t3 = A._authUrl();
       b.get$_$this()._authUrl = t3;
-      t3 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$dartExtensionUri"));
+      t3 = A._asStringQ(A.dartify(t2._as(t1.window).$dartExtensionUri));
       b.get$_$this()._extensionUrl = t3;
-      t3 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$isInternalBuild"));
+      t3 = A._asBoolQ(A.dartify(t2._as(t1.window).$isInternalBuild));
       b.get$_$this()._isInternalBuild = t3;
-      t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$isFlutterApp"));
-      b.get$_$this()._isFlutterApp = t1;
-      t1 = A._asStringQ(self.$dartWorkspaceName);
+      t2 = A._asBoolQ(A.dartify(t2._as(t1.window).$isFlutterApp));
+      b.get$_$this()._isFlutterApp = t2;
+      t1 = A._asStringQ(t1.$dartWorkspaceName);
       b.get$_$this()._workspaceName = t1;
       return b;
     },
-    $signature: 71
+    $signature: 69
   };
   A._handleAuthRequest_closure.prototype = {
     call$1(isAuthenticated) {
       return A._dispatchEvent("dart-auth-response", "" + A._asBool(isAuthenticated));
     },
-    $signature: 72
+    $signature: 70
   };
   A.LegacyRestarter.prototype = {
     restart$1$runId(runId) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
-        $async$returnValue, t1, t2, dartLibrary;
+        $async$returnValue, t3, t1, t2, dartLibrary;
       var $async$restart$1$runId = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -24215,17 +24283,17 @@
           switch ($async$goto) {
             case 0:
               // Function start
-              dartLibrary = type$.JsObject._as($.$get$_context().$index(0, "dart_library"));
+              t1 = self;
+              t2 = type$.JSObject;
+              dartLibrary = t2._as(t2._as(t1.window).dart_library);
+              t2 = type$.nullable_Object;
               if (runId == null)
-                dartLibrary.callMethod$1("reload");
-              else {
-                t1 = type$.String;
-                t1 = A.LinkedHashMap_LinkedHashMap$_literal(["runId", runId], t1, t1);
-                dartLibrary.callMethod$2("reload", [A._wrapToDart(A.JsObject__convertDataTree(t1))]);
-              }
-              t1 = new A._Future($.Zone__current, type$._Future_bool);
-              t2 = type$.JavaScriptObject;
-              $async$returnValue = t1.then$1$1(0, new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t2._as(self.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t1, type$._AsyncCompleter_bool))), false, t2)), type$.bool);
+                A.JSObjectUnsafeUtilExtension_callMethod(dartLibrary, "reload", null, null, t2);
+              else
+                A.JSObjectUnsafeUtilExtension_callMethod(dartLibrary, "reload", runId, null, t2);
+              t2 = new A._Future($.Zone__current, type$._Future_bool);
+              t3 = type$.JavaScriptObject;
+              $async$returnValue = t2.then$1$1(new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t3._as(t1.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t2, type$._AsyncCompleter_bool))), false, t3)), type$.bool);
               // goto return
               $async$goto = 1;
               break;
@@ -24258,7 +24326,7 @@
       this.sub.cancel$0(0);
       return value;
     },
-    $signature: 73
+    $signature: 71
   };
   A.ReloadingManager.prototype = {
     hotRestart$1$runId(runId) {
@@ -24304,25 +24372,6 @@
       t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(new A.IsolateStartBuilder()._isolate_events$_build$0()), null));
     }
   };
-  A.Promise.prototype = {};
-  A.toPromise_closure.prototype = {
-    call$2(resolve, reject) {
-      this.T._eval$1("~(0)")._as(resolve);
-      type$.void_Function_dynamic._as(reject);
-      this.future.then$1$1(0, resolve, type$.void).catchError$1(reject);
-    },
-    $signature() {
-      return this.T._eval$1("~(~(0),~(@))");
-    }
-  };
-  A.toFuture_closure.prototype = {
-    call$1(e) {
-      var t1 = e == null ? type$.Object._as(e) : e;
-      return this.completer.completeError$2(t1, A.StackTrace_current());
-    },
-    $signature: 5
-  };
-  A.RequireLoader.prototype = {};
   A.HotReloadFailedException.prototype = {
     toString$0(_) {
       return "HotReloadFailedException: '" + this._s + "'";
@@ -24332,7 +24381,7 @@
     restart$1$runId(runId) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
-        $async$returnValue, $async$self = this, newDigests, modulesToLoad, t4, t5, t6, t7, line, toZone, t8, result, developer, t1, t2, t3;
+        $async$returnValue, $async$self = this, newDigests, modulesToLoad, t4, t5, t6, t7, t8, line, toZone, t9, result, t1, t2, t3, sdk, dart, developer;
       var $async$restart$1$runId = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -24340,17 +24389,18 @@
           switch ($async$goto) {
             case 0:
               // Function start
-              developer = self.$loadModuleConfig.call$1("dart_sdk").developer;
-              t1 = developer == null;
-              t2 = t1 ? type$.Object._as(developer) : developer;
-              t3 = type$.Object;
-              $async$goto = A._asBool(t3._as(t2._extensions).containsKey("ext.flutter.disassemble")) ? 3 : 4;
+              t1 = self;
+              t2 = type$.nullable_Object;
+              t3 = type$.JSObject;
+              sdk = t3._as(A.callMethod(type$.LegacyJavaScriptObject._as(t1.$loadModuleConfig), "call", [null, "dart_sdk"], t2));
+              dart = t3._as(sdk.dart);
+              developer = t3._as(sdk.developer);
+              $async$goto = A._asBool(A.dartify(A.JSObjectUnsafeUtilExtension_callMethod(t3._as(developer._extensions), "containsKey", "ext.flutter.disassemble", null, t2))) ? 3 : 4;
               break;
             case 3:
               // then
-              t1 = t1 ? t3._as(developer) : developer;
               $async$goto = 5;
-              return A._asyncAwait(A.toFuture(type$.Promise_void._as(t1.invokeExtension("ext.flutter.disassemble", "{}")), type$.void), $async$restart$1$runId);
+              return A._asyncAwait(type$.Future_nullable_Object._as(A.dartify(A.JSObjectUnsafeUtilExtension_callMethod(developer, "invokeExtension", "ext.flutter.disassemble", "{}", t2))), $async$restart$1$runId);
             case 5:
               // returning from await.
             case 4:
@@ -24361,31 +24411,31 @@
               // returning from await.
               newDigests = $async$result;
               modulesToLoad = A._setArrayType([], type$.JSArray_String);
-              for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests.__late_helper$_name, t5 = type$.JavaScriptObject; t2.moveNext$0();) {
-                t6 = t2.get$current(t2);
-                t7 = $.___lastKnownDigests.__late_helper$_value;
-                if (t7 === $.___lastKnownDigests)
-                  A.throwExpression(A.LateError$fieldNI(t4));
-                if (!J.containsKey$1$x(t7, t6)) {
-                  line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + t6 + ".";
+              for (t3 = J.getInterceptor$x(newDigests), t4 = J.get$iterator$ax(t3.get$keys(newDigests)), t5 = $.RequireRestarter____lastKnownDigests._name, t6 = type$.JavaScriptObject; t4.moveNext$0();) {
+                t7 = t4.get$current(t4);
+                t8 = $.RequireRestarter____lastKnownDigests.__late_helper$_value;
+                if (t8 === $.RequireRestarter____lastKnownDigests)
+                  A.throwExpression(A.LateError$fieldNI(t5));
+                if (!J.containsKey$1$x(t8, t7)) {
+                  line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + t7 + ".";
                   toZone = $.printToZone;
                   if (toZone == null)
                     A.printString(line);
                   else
                     toZone.call$1(line);
-                  t5._as(t5._as(self.window).location).reload();
+                  t6._as(t6._as(t1.window).location).reload();
                 } else {
-                  t7 = $.___lastKnownDigests.__late_helper$_value;
-                  if (t7 === $.___lastKnownDigests)
-                    A.throwExpression(A.LateError$fieldNI(t4));
-                  if (!J.$eq$(J.$index$asx(t7, t6), t1.$index(newDigests, t6))) {
-                    t7 = $.___lastKnownDigests.__late_helper$_value;
-                    if (t7 === $.___lastKnownDigests)
-                      A.throwExpression(A.LateError$fieldNI(t4));
-                    t8 = t1.$index(newDigests, t6);
-                    t8.toString;
-                    J.$indexSet$ax(t7, t6, t8);
-                    B.JSArray_methods.add$1(modulesToLoad, t6);
+                  t8 = $.RequireRestarter____lastKnownDigests.__late_helper$_value;
+                  if (t8 === $.RequireRestarter____lastKnownDigests)
+                    A.throwExpression(A.LateError$fieldNI(t5));
+                  if (!J.$eq$(J.$index$asx(t8, t7), t3.$index(newDigests, t7))) {
+                    t8 = $.RequireRestarter____lastKnownDigests.__late_helper$_value;
+                    if (t8 === $.RequireRestarter____lastKnownDigests)
+                      A.throwExpression(A.LateError$fieldNI(t5));
+                    t9 = t3.$index(newDigests, t7);
+                    t9.toString;
+                    J.$indexSet$ax(t8, t7, t9);
+                    B.JSArray_methods.add$1(modulesToLoad, t7);
                   }
                 }
               }
@@ -24407,7 +24457,7 @@
               result = true;
             case 8:
               // join
-              t3._as(self.$loadModuleConfig.call$1("dart_sdk").dart).hotRestart();
+              A.JSObjectUnsafeUtilExtension_callMethod(dart, "hotRestart", runId == null ? null : runId, null, t2);
               A.runMain();
               $async$returnValue = result;
               // goto return
@@ -24436,10 +24486,10 @@
               $async$temp2 = type$.Map_dynamic_dynamic;
               $async$temp3 = A;
               $async$goto = 3;
-              return A._asyncAwait(A.HttpRequest_request(J.get$digestsPath$x(self.$requireLoader), "GET", "json", null), $async$_getDigests$0);
+              return A._asyncAwait(A.HttpRequest_request(A._asString(type$.JavaScriptObject._as(self.$requireLoader).digestsPath), "GET", "json", null), $async$_getDigests$0);
             case 3:
               // returning from await.
-              $async$returnValue = $async$temp1.cast$2$0$x($async$temp2._as($async$temp3.dartify($async$result.response)), t1, t1);
+              $async$returnValue = $async$temp1.cast$2$0$ax($async$temp2._as($async$temp3.dartify($async$result.response)), t1, t1);
               // goto return
               $async$goto = 1;
               break;
@@ -24461,7 +24511,7 @@
           switch ($async$goto) {
             case 0:
               // Function start
-              $async$temp1 = $.___lastKnownDigests;
+              $async$temp1 = $.RequireRestarter____lastKnownDigests;
               $async$goto = 2;
               return A._asyncAwait($async$self._getDigests$0(), $async$_initialize$0);
             case 2:
@@ -24476,7 +24526,8 @@
     _moduleParents$1(module) {
       var t1;
       A._asString(module);
-      t1 = type$.nullable_JSArray_nullable_Object._as(J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module));
+      t1 = type$.JavaScriptObject;
+      t1 = A.callMethod(t1._as(t1._as(self.$requireLoader).moduleParentsGraph), "get", [module], type$.nullable_JSArray_nullable_Object);
       if (t1 == null)
         t1 = null;
       else {
@@ -24508,7 +24559,7 @@
     _reload$body$RequireRestarter(modules) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
-        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, t6, t7, t8, parentIds0, exception, t1, $async$exception;
+        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, mainLibrary, e, t6, t7, t8, t9, exception, t1, t2, t3, t4, dart, t5, $async$exception;
       var $async$_reload$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1) {
           $async$currentError = $async$result;
@@ -24518,13 +24569,18 @@
           switch ($async$goto) {
             case 0:
               // Function start
-              t1 = $async$self._running.future;
-              $async$goto = (t1._state & 30) === 0 ? 3 : 4;
+              t1 = self;
+              t2 = type$.LegacyJavaScriptObject;
+              t3 = type$.nullable_Object;
+              t4 = type$.JSObject;
+              dart = t4._as(t4._as(A.callMethod(t2._as(t1.$loadModuleConfig), "call", [null, "dart_sdk"], t3)).dart);
+              t5 = $async$self._running.future;
+              $async$goto = (t5._state & 30) === 0 ? 3 : 4;
               break;
             case 3:
               // then
               $async$goto = 5;
-              return A._asyncAwait(t1, $async$_reload$1);
+              return A._asyncAwait(t5, $async$_reload$1);
             case 5:
               // returning from await.
               $async$returnValue = $async$result;
@@ -24536,56 +24592,58 @@
               $async$self.set$_running(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool));
               reloadedModules = 0;
               $async$handler = 7;
-              t1 = $async$self.__RequireRestarter__dirtyModules_A;
-              t1 === $ && A.throwLateFieldNI("_dirtyModules");
-              t1.addAll$1(0, modules);
+              t5 = $async$self.__RequireRestarter__dirtyModules_A;
+              t5 === $ && A.throwLateFieldNI("_dirtyModules");
+              t5.addAll$1(0, modules);
               previousModuleId = null;
-              t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.String, t3 = type$.nullable_JSArray_nullable_Object, t4 = type$.JSArray_String, t5 = type$.Object, t6 = type$.JSObject, t7 = type$.dynamic_Function;
+              t5 = $async$self.get$_moduleTopologicalCompare(), t6 = type$.JavaScriptObject, t7 = type$.Function, t8 = type$.JSArray_nullable_Object;
             case 10:
               // for condition
-              if (!(t8 = $async$self.__RequireRestarter__dirtyModules_A, t8._root != null)) {
+              if (!(t9 = $async$self.__RequireRestarter__dirtyModules_A, t9._root != null)) {
                 // goto after for
                 $async$goto = 11;
                 break;
               }
-              if (t8._count === 0)
+              if (t9._count === 0)
                 A.throwExpression(A.IterableElementError_noElement());
-              moduleId = t8.get$_collection$_first().key;
+              moduleId = t9.get$_collection$_first().key;
               $async$self.__RequireRestarter__dirtyModules_A.remove$1(0, moduleId);
-              t8 = A._asString(moduleId);
-              t8 = t3._as(J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t8));
-              if (t8 == null)
-                parentIds0 = null;
-              else {
-                t8 = A.JSArrayExtension_toDartIterable(t8, t2);
-                t8 = A.List_List$of(t8, true, t8.$ti._eval$1("ListIterable.E"));
-                parentIds0 = t8;
-              }
-              parentIds = parentIds0 == null ? A._setArrayType([], t4) : parentIds0;
+              t9 = A._asString(moduleId);
+              parentIds = A.ModuleDependencyGraph_parents(t6._as(t6._as(t1.$requireLoader).moduleParentsGraph), t9);
               $async$goto = J.get$length$asx(parentIds) === 0 ? 12 : 14;
               break;
             case 12:
               // then
-              childModule = t6._as(t5._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId));
-              self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t7);
+              t9 = previousModuleId;
+              if (t9 == null)
+                t9 = null;
+              childModule = t4._as(A.JSObjectUnsafeUtilExtension__callMethod(dart, "getModuleLibraries", t9, null, null, null));
+              t9 = t1.Object;
+              t9 = A.JSArrayExtension_toDartIterable(t8._as(t9.values.apply(t9, [childModule])), t3);
+              if (t9.get$length(0) === 0)
+                A.throwExpression(A.IterableElementError_noElement());
+              t9 = t9.elementAt$1(0, 0);
+              t9.toString;
+              mainLibrary = t4._as(t9);
+              t1.$dartRunMain = t2._as(A.allowInterop(new A.RequireRestarter__reload_closure(mainLibrary), t7));
               // goto join
               $async$goto = 13;
               break;
             case 14:
               // else
-              t8 = reloadedModules;
-              if (typeof t8 !== "number") {
-                $async$returnValue = t8.$add();
+              t9 = reloadedModules;
+              if (typeof t9 !== "number") {
+                $async$returnValue = t9.$add();
                 // goto return
                 $async$goto = 1;
                 break;
               }
-              reloadedModules = t8 + 1;
+              reloadedModules = t9 + 1;
               $async$goto = 15;
               return A._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1);
             case 15:
               // returning from await.
-              J.sort$1$ax(parentIds, t1);
+              J.sort$1$ax(parentIds, t5);
               $async$self.__RequireRestarter__dirtyModules_A.addAll$1(0, parentIds);
               previousModuleId = moduleId;
             case 13:
@@ -24605,12 +24663,12 @@
               // catch
               $async$handler = 6;
               $async$exception = $async$currentError;
-              t1 = A.unwrapException($async$exception);
-              if (t1 instanceof A.HotReloadFailedException) {
-                e = t1;
+              t2 = A.unwrapException($async$exception);
+              if (t2 instanceof A.HotReloadFailedException) {
+                e = t2;
                 A.print("Error during script reloading. Firing full page reload. " + A.S(e));
-                t1 = type$.JavaScriptObject;
-                t1._as(t1._as(self.window).location).reload();
+                t2 = type$.JavaScriptObject;
+                t2._as(t2._as(t1.window).location).reload();
                 $async$self._running.complete$1(0, false);
               } else
                 throw $async$exception;
@@ -24641,22 +24699,27 @@
     _reloadModule$1(moduleId) {
       var t1 = new A._Future($.Zone__current, type$._Future_dynamic),
         completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_dynamic),
-        stackTrace = A.StackTrace_current();
-      J.forceLoadModule$3$x(self.$requireLoader, moduleId, A.allowInterop(type$.void_Function_$opt_dynamic._as(completer.get$complete(completer)), type$.void_Function), A.allowInterop(new A.RequireRestarter__reloadModule_closure(completer, stackTrace), type$.void_Function_JsError));
+        stackTrace = A.StackTrace_current(),
+        t2 = type$.Function,
+        t3 = type$.LegacyJavaScriptObject;
+      A.callMethod(type$.JavaScriptObject._as(self.$requireLoader), "forceLoadModule", [moduleId, t3._as(A.allowInterop(new A.RequireRestarter__reloadModule_closure(completer), t2)), t3._as(A.allowInterop(new A.RequireRestarter__reloadModule_closure0(completer, stackTrace), t2))], type$.void);
       return t1;
     },
     _updateGraph$0() {
-      var i, t2, t3, _i,
-        t1 = type$.String,
-        stronglyConnectedComponents = A.stronglyConnectedComponents(A.JSArrayExtension_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1), this.get$_moduleParents(), t1);
-      t1 = this._moduleOrdering;
-      if (t1._collection$_length > 0) {
-        t1._collection$_strings = t1._collection$_nums = t1._collection$_rest = t1._keys = null;
-        t1._collection$_length = 0;
+      var t3, stronglyConnectedComponents, i, _i,
+        t1 = self,
+        t2 = type$.JavaScriptObject;
+      t2 = t2._as(t2._as(t1.$requireLoader).moduleParentsGraph);
+      t3 = type$.String;
+      stronglyConnectedComponents = A.stronglyConnectedComponents(A.JSArrayExtension_toDartIterable(A.callMethod(t1.Array, "from", [type$.JSObject._as(t2.keys())], type$.JSArray_nullable_Object), t3), this.get$_moduleParents(), t3);
+      t3 = this._moduleOrdering;
+      if (t3._collection$_length > 0) {
+        t3._collection$_strings = t3._collection$_nums = t3._collection$_rest = t3._keys = null;
+        t3._collection$_length = 0;
       }
       for (i = 0; i < stronglyConnectedComponents.length; ++i)
-        for (t2 = stronglyConnectedComponents[i], t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i)
-          t1.$indexSet(0, t2[_i], i);
+        for (t1 = stronglyConnectedComponents[i], t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
+          t3.$indexSet(0, t1[_i], i);
     },
     set$__RequireRestarter__dirtyModules_A(__RequireRestarter__dirtyModules_A) {
       this.__RequireRestarter__dirtyModules_A = type$.SplayTreeSet_String._as(__RequireRestarter__dirtyModules_A);
@@ -24668,15 +24731,21 @@
   };
   A.RequireRestarter__reload_closure.prototype = {
     call$0() {
-      A.JSArrayExtension_toDartIterable(self.Object.values(this.childModule), type$.nullable_Object).get$first(0).main();
+      A.JSObjectUnsafeUtilExtension_callMethod(this.mainLibrary, "main", null, null, type$.nullable_Object);
     },
-    $signature: 4
+    $signature: 2
   };
   A.RequireRestarter__reloadModule_closure.prototype = {
+    call$0() {
+      this.completer.complete$0(0);
+    },
+    $signature: 2
+  };
+  A.RequireRestarter__reloadModule_closure0.prototype = {
     call$1(e) {
-      this.completer.completeError$2(new A.HotReloadFailedException(J.get$message$x(type$.JsError._as(e))), this.stackTrace);
+      this.completer.completeError$2(new A.HotReloadFailedException(A._asString(type$.JavaScriptObject._as(e).message)), this.stackTrace);
     },
-    $signature: 76
+    $signature: 74
   };
   A.runMain_closure.prototype = {
     call$0() {
@@ -24684,8 +24753,6 @@
     },
     $signature: 0
   };
-  A.JsError.prototype = {};
-  A.JsMap.prototype = {};
   A.JSArrayExtension_toDartIterable_closure.prototype = {
     call$1(e) {
       return this.T._as(A.dartify(e));
@@ -24706,13 +24773,6 @@
     _.super$_HashMap$_containsKey = _._containsKey$1;
     _.super$_HashMap$_get = _._get$1;
     _.super$_HashMap$_set = _._set$2;
-    _ = A.Object.prototype;
-    _.super$Object$toString = _.toString$0;
-    _ = A.JsObject.prototype;
-    _.super$JsObject$$index = _.$index;
-    _.super$JsObject$$indexSet = _.$indexSet;
-    _ = A._JsArray_JsObject_ListMixin.prototype;
-    _.super$_JsArray_JsObject_ListMixin$$indexSet = _.$indexSet;
   })();
   (function installTearOffs() {
     var _static_2 = hunkHelpers._static_2,
@@ -24724,101 +24784,97 @@
       _instance_1_i = hunkHelpers._instance_1i,
       _instance_0_u = hunkHelpers._instance_0u,
       _instance_1_u = hunkHelpers._instance_1u;
-    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 77);
-    _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 10);
-    _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 10);
-    _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 10);
+    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 75);
+    _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 9);
+    _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 9);
+    _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 9);
     _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
-    _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 5);
-    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11);
+    _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 8);
+    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 10);
     _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
-    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 79, 0);
+    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 77, 0);
     _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
       return A._rootRun($self, $parent, zone, f, type$.dynamic);
-    }], 80, 1);
+    }], 78, 1);
     _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
       return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic);
-    }], 81, 1);
+    }], 79, 1);
     _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
       return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 82, 1);
+    }], 80, 1);
     _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
       return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic);
-    }], 83, 0);
+    }], 81, 0);
     _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
       return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic);
-    }], 84, 0);
+    }], 82, 0);
     _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
       return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic);
-    }], 85, 0);
-    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 86, 0);
-    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 87, 0);
-    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 88, 0);
-    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 89, 0);
-    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 64, 0);
-    _static_1(A, "async___printToZone$closure", "_printToZone", 15);
+    }], 83, 0);
+    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 84, 0);
+    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 85, 0);
+    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 86, 0);
+    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 87, 0);
+    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 88, 0);
+    _static_1(A, "async___printToZone$closure", "_printToZone", 89);
     _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 60, 0);
-    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 28, 0, 0);
-    _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() {
-      return [null];
-    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 55, 0, 0);
-    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 11);
+    _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 14, 0, 0);
+    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 10);
     var _;
-    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 16);
+    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 15);
     _instance(_, "get$addError", 0, 1, function() {
       return [null];
-    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 28, 0, 0);
+    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 14, 0, 0);
     _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
     _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
     _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
-    _instance_1_u(_, "get$_handleData", "_handleData$1", 16);
-    _instance_2_u(_, "get$_handleError", "_handleError$2", 17);
+    _instance_1_u(_, "get$_handleData", "_handleData$1", 15);
+    _instance_2_u(_, "get$_handleError", "_handleError$2", 16);
     _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
-    _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 12);
-    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 13);
-    _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 2);
-    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 13);
-    _static_2(A, "core__identical$closure", "identical", 12);
-    _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 5);
-    _static_1(A, "js___convertToJS$closure", "_convertToJS", 9);
-    _static_1(A, "js___convertToDart$closure", "_convertToDart", 3);
-    _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 12);
-    _instance_1_i(_, "get$hash", "hash$1", 13);
-    _instance_1_u(_, "get$isValidKey", "isValidKey$1", 49);
+    _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 13);
+    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 11);
+    _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 4);
+    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 11);
+    _static_2(A, "core__identical$closure", "identical", 13);
+    _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 8);
+    _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 13);
+    _instance_1_i(_, "get$hash", "hash$1", 11);
+    _instance_1_u(_, "get$isValidKey", "isValidKey$1", 46);
     _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 1);
     _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 1);
     _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0);
-    _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 56);
+    _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 53);
     _static_1(A, "client___handleAuthRequest$closure", "_handleAuthRequest", 1);
-    _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 74);
-    _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 75);
+    _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 72);
+    _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 73);
   })();
   (function inheritance() {
     var _mixin = hunkHelpers.mixin,
-      _mixinHard = hunkHelpers.mixinHard,
       _inherit = hunkHelpers.inherit,
       _inheritMany = hunkHelpers.inheritMany;
     _inherit(A.Object, null);
-    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.MapBase, A.Closure, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription0, A.ImmutableListMixin, A.FixedSizeListIterator, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.EventStreamProvider0, A._EventStreamSubscription, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
+    _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.MapBase, A.Closure, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.TakeIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription0, A.ImmutableListMixin, A.FixedSizeListIterator, A._AcceptStructuredClone, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.EventStreamProvider0, A._EventStreamSubscription, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
     _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]);
-    _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.KeyRange, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]);
-    _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A.Promise, A.RequireLoader, A.JsError, A.JsMap]);
+    _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]);
+    _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]);
     _inherit(J.JSUnmodifiableArray, J.JSArray);
     _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]);
-    _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]);
+    _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.TakeIterable, A.SkipIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]);
     _inherit(A.CastIterable, A._CastIterableBase);
     _inherit(A._EfficientLengthCastIterable, A.CastIterable);
     _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]);
-    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A.JSArrayExtension_toDartIterable_closure]);
-    _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]);
+    _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.FutureOfVoidToJSPromise_get_toJS__closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.RequireRestarter__reloadModule_closure0, A.JSArrayExtension_toDartIterable_closure]);
+    _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.FutureOfVoidToJSPromise_get_toJS_closure, A.FutureOfVoidToJSPromise_get_toJS__closure0, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0]);
     _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]);
-    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.runMain_closure]);
+    _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.RequireRestarter__reloadModule_closure, A.runMain_closure]);
     _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable]);
     _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable]);
     _inherit(A.EfficientLengthMappedIterable, A.MappedIterable);
+    _inherit(A.EfficientLengthTakeIterable, A.TakeIterable);
+    _inherit(A.EfficientLengthSkipIterable, A.SkipIterable);
     _inherit(A.UnmodifiableListBase, A.ListBase);
     _inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView);
     _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin);
@@ -24860,7 +24916,7 @@
     _inherit(A.Utf8Codec, A.Encoding);
     _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]);
     _inherit(A._DataUri, A._Uri);
-    _inheritMany(A.EventTarget, [A.Node, A.FileWriter, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.WebSocket, A.Window, A.WorkerGlobalScope, A.AudioTrackList, A.BaseAudioContext]);
+    _inheritMany(A.EventTarget, [A.Node, A.FileWriter, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.WebSocket, A.AudioTrackList, A.BaseAudioContext]);
     _inheritMany(A.Node, [A.Element, A.CharacterData]);
     _inherit(A.HtmlElement, A.Element);
     _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.FormElement, A.SelectElement]);
@@ -24909,8 +24965,6 @@
     _inherit(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin);
     _inherit(A._StyleSheetList, A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin);
     _inherit(A._AcceptStructuredCloneDart2Js, A._AcceptStructuredClone);
-    _inheritMany(A.JsObject, [A.JsFunction, A._JsArray_JsObject_ListMixin]);
-    _inherit(A.JsArray, A._JsArray_JsObject_ListMixin);
     _inherit(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A._LengthList_JavaScriptObject_ListMixin);
     _inherit(A.LengthList, A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin);
     _inherit(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NumberList_JavaScriptObject_ListMixin);
@@ -24998,7 +25052,6 @@
     _mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
     _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin, A.ListBase);
     _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
-    _mixinHard(A._JsArray_JsObject_ListMixin, A.ListBase);
     _mixin(A._LengthList_JavaScriptObject_ListMixin, A.ListBase);
     _mixin(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
     _mixin(A._NumberList_JavaScriptObject_ListMixin, A.ListBase);
@@ -25014,13 +25067,13 @@
     typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
     mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"},
     mangledNames: {},
-    types: ["~()", "~(JavaScriptObject)", "@(@)", "Object?(@)", "Null()", "~(@)", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "Object?(Object?)", "~(~())", "~(Object,StackTrace)", "bool(Object?,Object?)", "int(Object?)", "~(Uint8List,String,int)", "~(String)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "bool()", "Future<Null>()", "~(String,String)", "~(Event)", "~(Object[StackTrace?])", "String(int,int)", "Null(Event)", "IndentingBuiltValueToStringHelper(String)", "_Future<@>(@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "Null(~())", "int(int,@)", "@(@,String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "SetMultimapBuilder<Object,Object>()", "Null(@,StackTrace)", "~(int,@)", "String(String)", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "~(String,int?)", "String(@)", "Logger()", "~([Object?])", "~(String?)", "Uint8List(@,@)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "~(MessageEvent)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "Future<~>()", "Promise<1&>(String)", "~(List<DebugEvent>)", "~(Zone,ZoneDelegate,Zone,String)", "DebugEventBuilder(DebugEventBuilder)", "~(String,int)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List<String>(String)", "int(String,String)", "~(JsError)", "int(@,@)", "@(String)", "~(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))", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "Null(CloseEvent)"],
+    types: ["~()", "~(JavaScriptObject)", "Null()", "Object?(@)", "@(@)", "Null(Object,StackTrace)", "~(String,@)", "Null(@)", "~(@)", "~(~())", "~(Object,StackTrace)", "int(Object?)", "Object?(Object?)", "bool(Object?,Object?)", "~(Object[StackTrace?])", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "~(Uint8List,String,int)", "Future<Null>()", "~(Event)", "bool()", "String(int,int)", "Null(Event)", "~(String,String)", "Null(~())", "Null(@,StackTrace)", "@(@,@)", "Null(LegacyJavaScriptObject,LegacyJavaScriptObject)", "Object?(~)", "~(int,@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder<Object>()", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "SetMultimapBuilder<Object,Object>()", "@(String)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "_Future<@>(@)", "bool(Object?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "~(String,int)", "String(@)", "Logger()", "~(String,int?)", "~(String?)", "String(String)", "Uint8List(@,@)", "~(MessageEvent)", "Null(CloseEvent)", "Future<~>()", "JSObject(String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "Null(String,String)", "DebugEventBuilder(DebugEventBuilder)", "Null(String)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List<String>(String)", "int(String,String)", "Null(JavaScriptObject)", "int(@,@)", "@(@,String)", "~(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)", "~(List<DebugEvent>)"],
     interceptorsByTag: null,
     leafTags: null,
     arrayRti: Symbol("$ti")
   };
-  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","Accelerometer0":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"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":[]}}'));
-  A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
+  A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Accelerometer0":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_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"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"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"},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"TakeIterator":{"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":{"ListBase":["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"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.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":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.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"]},"_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":["@"]},"_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.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.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"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"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":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>","Iterable.E":"Rectangle<num>"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"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"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"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"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"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":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$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":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}'));
+  A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
   var string$ = {
     ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
     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",
@@ -25036,7 +25089,6 @@
       BatchedEvents: findType("BatchedEvents"),
       BatchedStreamController_DebugEvent: findType("BatchedStreamController<DebugEvent>"),
       BigInt: findType("BigInt"),
-      Blob: findType("Blob"),
       BuildResult: findType("BuildResult"),
       BuildStatus: findType("BuildStatus"),
       BuiltListMultimap_dynamic_dynamic: findType("BuiltListMultimap<@,@>"),
@@ -25074,8 +25126,8 @@
       FullType: findType("FullType"),
       Function: findType("Function"),
       Future_dynamic: findType("Future<@>"),
+      Future_nullable_Object: findType("Future<Object?>"),
       Future_void: findType("Future<~>"),
-      ImageData: findType("ImageData"),
       Int16List: findType("Int16List"),
       Int32: findType("Int32"),
       Int32List: findType("Int32List"),
@@ -25093,18 +25145,15 @@
       JSArray_Type: findType("JSArray<Type>"),
       JSArray_dynamic: findType("JSArray<@>"),
       JSArray_int: findType("JSArray<int>"),
+      JSArray_nullable_Object: findType("JSArray<Object?>"),
       JSNull: findType("JSNull"),
       JSObject: findType("JSObject"),
       JavaScriptFunction: findType("JavaScriptFunction"),
       JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
       JavaScriptObject: findType("JavaScriptObject"),
-      JsArray_dynamic: findType("JsArray<@>"),
-      JsError: findType("JsError"),
       JsLinkedHashMap_String_dynamic: findType("JsLinkedHashMap<String,@>"),
       JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap<Symbol0,@>"),
-      JsObject: findType("JsObject"),
       JsonObject: findType("JsonObject"),
-      KeyRange: findType("KeyRange"),
       LegacyJavaScriptObject: findType("LegacyJavaScriptObject"),
       Length: findType("Length"),
       Level: findType("Level"),
@@ -25136,8 +25185,6 @@
       Plugin: findType("Plugin"),
       PoolResource: findType("PoolResource"),
       PrimitiveSerializer_dynamic: findType("PrimitiveSerializer<@>"),
-      Promise_bool_Function_String: findType("Promise<1&>(String)"),
-      Promise_void: findType("Promise<1&>"),
       QueueList_Result_DebugEvent: findType("QueueList<Result<DebugEvent>>"),
       Record: findType("Record"),
       Rectangle_num: findType("Rectangle<num>"),
@@ -25172,7 +25219,6 @@
       TrustedGetRuntimeType: findType("TrustedGetRuntimeType"),
       Type: findType("Type"),
       TypeError: findType("TypeError"),
-      TypedData: findType("TypedData"),
       Uint16List: findType("Uint16List"),
       Uint32List: findType("Uint32List"),
       Uint8ClampedList: findType("Uint8ClampedList"),
@@ -25181,8 +25227,6 @@
       UnmodifiableListView_nullable_Object: findType("UnmodifiableListView<Object?>"),
       UnmodifiableMapView_of_String_and_nullable_Object: findType("UnmodifiableMapView<String,Object?>"),
       Uri: findType("Uri"),
-      Window: findType("Window"),
-      WorkerGlobalScope: findType("WorkerGlobalScope"),
       Zone: findType("Zone"),
       _AsyncCompleter_JavaScriptObject: findType("_AsyncCompleter<JavaScriptObject>"),
       _AsyncCompleter_PoolResource: findType("_AsyncCompleter<PoolResource>"),
@@ -25201,7 +25245,6 @@
       _Future_dynamic: findType("_Future<@>"),
       _Future_int: findType("_Future<int>"),
       _Future_void: findType("_Future<~>"),
-      _IdentityHashMap_dynamic_dynamic: findType("_IdentityHashMap<@,@>"),
       _IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap<Object?,Object?>"),
       _MapEntry: findType("_MapEntry"),
       _StreamControllerAddStreamState_nullable_Object: findType("_StreamControllerAddStreamState<Object?>"),
@@ -25214,7 +25257,6 @@
       dynamic_Function: findType("@()"),
       dynamic_Function_Object: findType("@(Object)"),
       dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"),
-      dynamic_Function_dynamic: findType("@(@)"),
       dynamic_Function_dynamic_dynamic: findType("@(@,@)"),
       int: findType("int"),
       legacy_Never: findType("0&*"),
@@ -25249,15 +25291,11 @@
       num: findType("num"),
       void: findType("~"),
       void_Function: findType("~()"),
-      void_Function_$opt_dynamic: findType("~([@])"),
-      void_Function_JsError: findType("~(JsError)"),
       void_Function_Object: findType("~(Object)"),
       void_Function_Object_StackTrace: findType("~(Object,StackTrace)"),
-      void_Function_String: findType("~(String)"),
       void_Function_String_String: findType("~(String,String)"),
       void_Function_String_dynamic: findType("~(String,@)"),
-      void_Function_Timer: findType("~(Timer)"),
-      void_Function_dynamic: findType("~(@)")
+      void_Function_Timer: findType("~(Timer)")
     };
   })();
   (function constants() {
@@ -25517,8 +25555,8 @@
     B.Type__$DevToolsRequest_cDy = A.typeLiteral("_$DevToolsRequest");
     B.List_yT3 = A._setArrayType(makeConstList([B.Type_DevToolsRequest_A0n, B.Type__$DevToolsRequest_cDy]), type$.JSArray_Type);
     B.Object_empty = {};
-    B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<Symbol0,@>"));
-    B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<@,@>"));
+    B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<Symbol0,@>"));
+    B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<@,@>"));
     B.Symbol_call = new A.Symbol("call");
     B.Type_BigInt_8OV = A.typeLiteral("BigInt");
     B.Type_BoolJsonObject_8HQ = A.typeLiteral("BoolJsonObject");
@@ -25593,7 +25631,7 @@
     $._indentingBuiltValueToStringHelperIndent = 0;
     $.LogRecord__nextNumber = 0;
     $.Logger__loggers = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger);
-    $.___lastKnownDigests = A._Cell$named("_lastKnownDigests");
+    $.RequireRestarter____lastKnownDigests = A._Cell$named("_lastKnownDigests");
   })();
   (function lazyInitializers() {
     var _lazyFinal = hunkHelpers.lazyFinal,
@@ -25660,11 +25698,7 @@
     _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false));
     _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_xQ6));
     _lazyFinal($, "_scannerTables", "$get$_scannerTables", () => A._createTables());
-    _lazyFinal($, "_context", "$get$_context", () => A._castToJsObject(A._wrapToDart(self)));
-    _lazyFinal($, "_DART_OBJECT_PROPERTY_NAME", "$get$_DART_OBJECT_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartObject"));
-    _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", () => function DartObject(o) {
-      this.o = o;
-    });
+    _lazyFinal($, "_jsBoxedDartObjectProperty", "$get$_jsBoxedDartObjectProperty", () => Symbol("jsBoxedDartObjectProperty"));
     _lazyFinal($, "isSoundMode", "$get$isSoundMode", () => !type$.List_int._is(A._setArrayType([], A.findType("JSArray<int?>"))));
     _lazy($, "newBuiltValueToStringHelper", "$get$newBuiltValueToStringHelper", () => new A.newBuiltValueToStringHelper_closure());
     _lazyFinal($, "_runtimeType", "$get$_runtimeType", () => A.getRuntimeTypeOfDartObject(A.RegExp_RegExp("", true, false)));
@@ -25755,8 +25789,8 @@
       }
       init.dispatchPropertyName = init.getIsolateTag("dispatch_record");
     }();
-    hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, DOMImplementation: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SharedArrayBuffer: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLBaseElement: A.HtmlElement, HTMLBodyElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, Blob: A.Blob, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CloseEvent: A.CloseEvent, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, DataTransferItemList: A.DataTransferItemList, DOMException: A.DomException, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, SVGAElement: A.Element, SVGAnimateElement: A.Element, SVGAnimateMotionElement: A.Element, SVGAnimateTransformElement: A.Element, SVGAnimationElement: A.Element, SVGCircleElement: A.Element, SVGClipPathElement: A.Element, SVGDefsElement: A.Element, SVGDescElement: A.Element, SVGDiscardElement: A.Element, SVGEllipseElement: A.Element, SVGFEBlendElement: A.Element, SVGFEColorMatrixElement: A.Element, SVGFEComponentTransferElement: A.Element, SVGFECompositeElement: A.Element, SVGFEConvolveMatrixElement: A.Element, SVGFEDiffuseLightingElement: A.Element, SVGFEDisplacementMapElement: A.Element, SVGFEDistantLightElement: A.Element, SVGFEFloodElement: A.Element, SVGFEFuncAElement: A.Element, SVGFEFuncBElement: A.Element, SVGFEFuncGElement: A.Element, SVGFEFuncRElement: A.Element, SVGFEGaussianBlurElement: A.Element, SVGFEImageElement: A.Element, SVGFEMergeElement: A.Element, SVGFEMergeNodeElement: A.Element, SVGFEMorphologyElement: A.Element, SVGFEOffsetElement: A.Element, SVGFEPointLightElement: A.Element, SVGFESpecularLightingElement: A.Element, SVGFESpotLightElement: A.Element, SVGFETileElement: A.Element, SVGFETurbulenceElement: A.Element, SVGFilterElement: A.Element, SVGForeignObjectElement: A.Element, SVGGElement: A.Element, SVGGeometryElement: A.Element, SVGGraphicsElement: A.Element, SVGImageElement: A.Element, SVGLineElement: A.Element, SVGLinearGradientElement: A.Element, SVGMarkerElement: A.Element, SVGMaskElement: A.Element, SVGMetadataElement: A.Element, SVGPathElement: A.Element, SVGPatternElement: A.Element, SVGPolygonElement: A.Element, SVGPolylineElement: A.Element, SVGRadialGradientElement: A.Element, SVGRectElement: A.Element, SVGScriptElement: A.Element, SVGSetElement: A.Element, SVGStopElement: A.Element, SVGStyleElement: A.Element, SVGElement: A.Element, SVGSVGElement: A.Element, SVGSwitchElement: A.Element, SVGSymbolElement: A.Element, SVGTSpanElement: A.Element, SVGTextContentElement: A.Element, SVGTextElement: A.Element, SVGTextPathElement: A.Element, SVGTextPositioningElement: A.Element, SVGTitleElement: A.Element, SVGUseElement: A.Element, SVGViewElement: A.Element, SVGGradientElement: A.Element, SVGComponentTransferFunctionElement: A.Element, SVGFEDropShadowElement: A.Element, SVGMPathElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, CompositionEvent: A.Event, CustomEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FocusEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, KeyboardEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MouseEvent: A.Event, DragEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PointerEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, ProgressEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TextEvent: A.Event, TouchEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, UIEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, WheelEvent: A.Event, MojoInterfaceRequestEvent: A.Event, ResourceProgressEvent: A.Event, USBConnectionEvent: A.Event, IDBVersionChangeEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, EventSource: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, XMLHttpRequest: A.EventTarget, XMLHttpRequestEventTarget: A.EventTarget, XMLHttpRequestUpload: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MessagePort: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, Worker: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, ImageData: A.ImageData, Location: A.Location, MediaList: A.MediaList, MessageEvent: A.MessageEvent, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, Document: A.Node, DocumentFragment: A.Node, HTMLDocument: A.Node, ShadowRoot: A.Node, XMLDocument: A.Node, Attr: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, RTCStatsReport: A.RtcStatsReport, HTMLSelectElement: A.SelectElement, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, URL: A.Url, VideoTrackList: A.VideoTrackList, WebSocket: A.WebSocket, Window: A.Window, DOMWindow: A.Window, DedicatedWorkerGlobalScope: A.WorkerGlobalScope, ServiceWorkerGlobalScope: A.WorkerGlobalScope, SharedWorkerGlobalScope: A.WorkerGlobalScope, WorkerGlobalScope: A.WorkerGlobalScope, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, IDBKeyRange: A.KeyRange, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext});
-    hunkHelpers.setOrUpdateLeafTags({WebGL: true, 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, webkitFileSystemDirectoryEntry: true, FileSystemDirectoryEntry: true, DirectoryReader: true, WebKitDirectoryReader: true, webkitFileSystemDirectoryReader: true, FileSystemDirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMError: true, DOMImplementation: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, Entry: true, webkitFileSystemEntry: true, FileSystemEntry: true, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: 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, WebGL2RenderingContextBase: 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, HTMLBaseElement: true, HTMLBodyElement: 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, HTMLScriptElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: 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, Blob: false, 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, DataTransferItemList: true, DOMException: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, MathMLElement: 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, SVGScriptElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGElement: 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, 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, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, ProgressEvent: 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, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, ResourceProgressEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, BroadcastChannel: true, CanvasCaptureMediaStreamTrack: true, EventSource: true, FileReader: true, FontFaceSet: true, Gyroscope: true, XMLHttpRequest: true, XMLHttpRequestEventTarget: true, XMLHttpRequestUpload: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaKeySession: true, MediaQueryList: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MediaStreamTrack: true, MessagePort: 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, webkitSpeechRecognition: 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, ImageData: true, Location: true, MediaList: true, MessageEvent: true, MIDIInputMap: true, MIDIOutputMap: true, MimeType: true, MimeTypeArray: true, Document: true, DocumentFragment: true, HTMLDocument: true, ShadowRoot: true, XMLDocument: true, Attr: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, Plugin: true, PluginArray: true, RTCStatsReport: true, HTMLSelectElement: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionResult: true, Storage: true, CSSStyleSheet: true, StyleSheet: true, TextTrack: true, TextTrackCue: true, VTTCue: true, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchList: true, TrackDefaultList: true, URL: true, VideoTrackList: true, WebSocket: true, Window: true, DOMWindow: true, DedicatedWorkerGlobalScope: true, ServiceWorkerGlobalScope: true, SharedWorkerGlobalScope: true, WorkerGlobalScope: 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, SVGStringList: true, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true});
+    hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, DOMImplementation: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, ImageData: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SharedArrayBuffer: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBKeyRange: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLBaseElement: A.HtmlElement, HTMLBodyElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, Blob: A.Blob, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CloseEvent: A.CloseEvent, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, DataTransferItemList: A.DataTransferItemList, DOMException: A.DomException, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, SVGAElement: A.Element, SVGAnimateElement: A.Element, SVGAnimateMotionElement: A.Element, SVGAnimateTransformElement: A.Element, SVGAnimationElement: A.Element, SVGCircleElement: A.Element, SVGClipPathElement: A.Element, SVGDefsElement: A.Element, SVGDescElement: A.Element, SVGDiscardElement: A.Element, SVGEllipseElement: A.Element, SVGFEBlendElement: A.Element, SVGFEColorMatrixElement: A.Element, SVGFEComponentTransferElement: A.Element, SVGFECompositeElement: A.Element, SVGFEConvolveMatrixElement: A.Element, SVGFEDiffuseLightingElement: A.Element, SVGFEDisplacementMapElement: A.Element, SVGFEDistantLightElement: A.Element, SVGFEFloodElement: A.Element, SVGFEFuncAElement: A.Element, SVGFEFuncBElement: A.Element, SVGFEFuncGElement: A.Element, SVGFEFuncRElement: A.Element, SVGFEGaussianBlurElement: A.Element, SVGFEImageElement: A.Element, SVGFEMergeElement: A.Element, SVGFEMergeNodeElement: A.Element, SVGFEMorphologyElement: A.Element, SVGFEOffsetElement: A.Element, SVGFEPointLightElement: A.Element, SVGFESpecularLightingElement: A.Element, SVGFESpotLightElement: A.Element, SVGFETileElement: A.Element, SVGFETurbulenceElement: A.Element, SVGFilterElement: A.Element, SVGForeignObjectElement: A.Element, SVGGElement: A.Element, SVGGeometryElement: A.Element, SVGGraphicsElement: A.Element, SVGImageElement: A.Element, SVGLineElement: A.Element, SVGLinearGradientElement: A.Element, SVGMarkerElement: A.Element, SVGMaskElement: A.Element, SVGMetadataElement: A.Element, SVGPathElement: A.Element, SVGPatternElement: A.Element, SVGPolygonElement: A.Element, SVGPolylineElement: A.Element, SVGRadialGradientElement: A.Element, SVGRectElement: A.Element, SVGScriptElement: A.Element, SVGSetElement: A.Element, SVGStopElement: A.Element, SVGStyleElement: A.Element, SVGElement: A.Element, SVGSVGElement: A.Element, SVGSwitchElement: A.Element, SVGSymbolElement: A.Element, SVGTSpanElement: A.Element, SVGTextContentElement: A.Element, SVGTextElement: A.Element, SVGTextPathElement: A.Element, SVGTextPositioningElement: A.Element, SVGTitleElement: A.Element, SVGUseElement: A.Element, SVGViewElement: A.Element, SVGGradientElement: A.Element, SVGComponentTransferFunctionElement: A.Element, SVGFEDropShadowElement: A.Element, SVGMPathElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, CompositionEvent: A.Event, CustomEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FocusEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, KeyboardEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MouseEvent: A.Event, DragEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PointerEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, ProgressEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TextEvent: A.Event, TouchEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, UIEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, WheelEvent: A.Event, MojoInterfaceRequestEvent: A.Event, ResourceProgressEvent: A.Event, USBConnectionEvent: A.Event, IDBVersionChangeEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, DedicatedWorkerGlobalScope: A.EventTarget, EventSource: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, XMLHttpRequest: A.EventTarget, XMLHttpRequestEventTarget: A.EventTarget, XMLHttpRequestUpload: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MessagePort: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerGlobalScope: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SharedWorkerGlobalScope: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, Window: A.EventTarget, DOMWindow: A.EventTarget, Worker: A.EventTarget, WorkerGlobalScope: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, Location: A.Location, MediaList: A.MediaList, MessageEvent: A.MessageEvent, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, Document: A.Node, DocumentFragment: A.Node, HTMLDocument: A.Node, ShadowRoot: A.Node, XMLDocument: A.Node, Attr: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, RTCStatsReport: A.RtcStatsReport, HTMLSelectElement: A.SelectElement, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, URL: A.Url, VideoTrackList: A.VideoTrackList, WebSocket: A.WebSocket, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext});
+    hunkHelpers.setOrUpdateLeafTags({WebGL: true, 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, webkitFileSystemDirectoryEntry: true, FileSystemDirectoryEntry: true, DirectoryReader: true, WebKitDirectoryReader: true, webkitFileSystemDirectoryReader: true, FileSystemDirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMError: true, DOMImplementation: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, Entry: true, webkitFileSystemEntry: true, FileSystemEntry: true, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: 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, ImageData: 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, IDBKeyRange: 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, WebGL2RenderingContextBase: 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, HTMLBaseElement: true, HTMLBodyElement: 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, HTMLScriptElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: 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, Blob: false, 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, DataTransferItemList: true, DOMException: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, MathMLElement: 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, SVGScriptElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGElement: 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, 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, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, ProgressEvent: 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, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, ResourceProgressEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, BroadcastChannel: true, CanvasCaptureMediaStreamTrack: true, DedicatedWorkerGlobalScope: true, EventSource: true, FileReader: true, FontFaceSet: true, Gyroscope: true, XMLHttpRequest: true, XMLHttpRequestEventTarget: true, XMLHttpRequestUpload: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaKeySession: true, MediaQueryList: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MediaStreamTrack: true, MessagePort: 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, ServiceWorkerGlobalScope: true, ServiceWorkerRegistration: true, SharedWorker: true, SharedWorkerGlobalScope: true, SpeechRecognition: true, webkitSpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, Window: true, DOMWindow: true, Worker: true, WorkerGlobalScope: 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, Location: true, MediaList: true, MessageEvent: true, MIDIInputMap: true, MIDIOutputMap: true, MimeType: true, MimeTypeArray: true, Document: true, DocumentFragment: true, HTMLDocument: true, ShadowRoot: true, XMLDocument: true, Attr: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, Plugin: true, PluginArray: true, RTCStatsReport: true, HTMLSelectElement: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionResult: true, Storage: true, CSSStyleSheet: true, StyleSheet: true, TextTrack: true, TextTrackCue: true, VTTCue: true, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchList: true, TrackDefaultList: true, URL: true, VideoTrackList: true, WebSocket: true, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, SVGLength: true, SVGLengthList: true, SVGNumber: true, SVGNumberList: true, SVGPointList: true, SVGStringList: true, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true});
     A.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
     A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
     A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
diff --git a/dwds/web/client.dart b/dwds/web/client.dart
index a7a01d4c7..f59c3e4fb 100644
--- a/dwds/web/client.dart
+++ b/dwds/web/client.dart
@@ -2,13 +2,10 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-@JS()
-library hot_reload_client;
-
 import 'dart:async';
 import 'dart:convert';
-import 'dart:js';
 import 'dart:js_interop';
+import 'dart:js_interop_unsafe';
 
 import 'package:built_collection/built_collection.dart';
 import 'package:dwds/data/build_result.dart';
@@ -23,18 +20,17 @@ import 'package:dwds/data/run_request.dart';
 import 'package:dwds/data/serializers.dart';
 import 'package:dwds/shared/batched_stream.dart';
 import 'package:dwds/src/sockets.dart';
-import 'package:js/js.dart';
 import 'package:sse/client/sse_client.dart';
 import 'package:uuid/uuid.dart';
 import 'package:web/helpers.dart';
 import 'package:web_socket_channel/web_socket_channel.dart';
 
-import 'promise.dart';
 import 'reloader/legacy_restarter.dart';
 import 'reloader/manager.dart';
 import 'reloader/require_restarter.dart';
 import 'reloader/restarter.dart';
 import 'run_main.dart';
+import 'web_utils.dart';
 
 const _batchDelayMilliseconds = 1000;
 
@@ -63,9 +59,9 @@ Future<void>? main() {
 
     final manager = ReloadingManager(client, restarter);
 
-    hotRestartJs = allowInterop((String runId) {
-      return toPromise(manager.hotRestart(runId: runId));
-    });
+    hotRestartJs = (String runId) {
+      return manager.hotRestart(runId: runId).toJS;
+    }.toJS;
 
     final debugEventController =
         BatchedStreamController<DebugEvent>(delay: _batchDelayMilliseconds);
@@ -84,7 +80,7 @@ Future<void>? main() {
       }
     });
 
-    emitDebugEvent = allowInterop((String kind, String eventData) {
+    emitDebugEvent = (String kind, String eventData) {
       if (dartEmitDebugEvents) {
         _trySendEvent(
           debugEventController.sink,
@@ -96,9 +92,9 @@ Future<void>? main() {
           ),
         );
       }
-    });
+    }.toJS;
 
-    emitRegisterEvent = allowInterop((String eventData) {
+    emitRegisterEvent = (String eventData) {
       _trySendEvent(
         client.sink,
         jsonEncode(
@@ -111,9 +107,9 @@ Future<void>? main() {
           ),
         ),
       );
-    });
+    }.toJS;
 
-    launchDevToolsJs = allowInterop(() {
+    launchDevToolsJs = () {
       if (!_isChromium) {
         window.alert(
           'Dart DevTools is only supported on Chromium based browsers.',
@@ -132,7 +128,7 @@ Future<void>? main() {
           ),
         ),
       );
-    });
+    }.toJS;
 
     client.stream.listen(
       (serialized) async {
@@ -186,7 +182,7 @@ Future<void>? main() {
             !e.ctrlKey &&
             !e.metaKey) {
           e.preventDefault();
-          launchDevToolsJs();
+          launchDevToolsJs.callAsFunction();
         }
       });
     }
@@ -284,12 +280,8 @@ void _launchCommunicationWithDebugExtension() {
 }
 
 void _dispatchEvent(String message, String detail) {
-  window.dispatchEvent(
-    CustomEvent(
-      'dart-auth-response',
-      CustomEventInit(detail: detail.toJS),
-    ),
-  );
+  final event = CustomEvent(message, CustomEventInit(detail: detail.toJS));
+  document.dispatchEvent(event);
 }
 
 void _listenForDebugExtensionAuthRequest() {
@@ -339,13 +331,13 @@ external set dartAppInstanceId(String? id);
 external String get dartModuleStrategy;
 
 @JS(r'$dartHotRestartDwds')
-external set hotRestartJs(Promise<bool> Function(String runId) cb);
+external set hotRestartJs(JSFunction cb);
 
 @JS(r'$launchDevTools')
-external void Function() get launchDevToolsJs;
+external JSFunction get launchDevToolsJs;
 
 @JS(r'$launchDevTools')
-external set launchDevToolsJs(void Function() cb);
+external set launchDevToolsJs(JSFunction cb);
 
 @JS(r'$dartReloadConfiguration')
 external String get reloadConfiguration;
@@ -363,10 +355,10 @@ external void dispatchEvent(CustomEvent event);
 external bool get dartEmitDebugEvents;
 
 @JS(r'$emitDebugEvent')
-external set emitDebugEvent(void Function(String, String) func);
+external set emitDebugEvent(JSFunction func);
 
 @JS(r'$emitRegisterEvent')
-external set emitRegisterEvent(void Function(String) func);
+external set emitRegisterEvent(JSFunction func);
 
 @JS(r'$isInternalBuild')
 external bool get isInternalBuild;
@@ -379,15 +371,15 @@ external String? get dartWorkspaceName;
 
 bool get _isChromium => window.navigator.vendor.contains('Google');
 
-JsObject get _windowContext => JsObject.fromBrowserObject(window);
-
-bool? get _isInternalBuild => _windowContext['\$isInternalBuild'];
+bool? get _isInternalBuild =>
+    windowContext['\$isInternalBuild'].dartify() as bool?;
 
-bool? get _isFlutterApp => _windowContext['\$isFlutterApp'];
+bool? get _isFlutterApp => windowContext['\$isFlutterApp'].dartify() as bool?;
 
-String? get _appId => _windowContext['\$dartAppId'];
+String? get _appId => windowContext['\$dartAppId'].dartify() as String?;
 
-String? get _extensionUrl => _windowContext['\$dartExtensionUri'];
+String? get _extensionUrl =>
+    windowContext['\$dartExtensionUri'].dartify() as String?;
 
 String? get _authUrl {
   final extensionUrl = _extensionUrl;
diff --git a/dwds/web/promise.dart b/dwds/web/promise.dart
index 30781e51b..6a097ad5c 100644
--- a/dwds/web/promise.dart
+++ b/dwds/web/promise.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
-
+/*
 @JS()
 library webdev.web.promise;
 
@@ -56,3 +56,4 @@ Future<T> toFuture<T>(Promise<T> promise) {
   );
   return completer.future;
 }
+*/
\ No newline at end of file
diff --git a/dwds/web/reloader/legacy_restarter.dart b/dwds/web/reloader/legacy_restarter.dart
index 7ea98826e..cf5238d19 100644
--- a/dwds/web/reloader/legacy_restarter.dart
+++ b/dwds/web/reloader/legacy_restarter.dart
@@ -3,23 +3,22 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'dart:async';
-import 'dart:js';
 import 'dart:js_interop';
+import 'dart:js_interop_unsafe';
 
 import 'package:web/helpers.dart';
 
+import '../web_utils.dart';
 import 'restarter.dart';
 
 class LegacyRestarter implements Restarter {
   @override
   Future<bool> restart({String? runId}) async {
-    final dartLibrary = context['dart_library'] as JsObject;
+    final dartLibrary = windowContext['dart_library'] as JSObject;
     if (runId == null) {
-      dartLibrary.callMethod('reload');
+      dartLibrary.callMethod('reload'.toJS);
     } else {
-      dartLibrary.callMethod('reload', [
-        JsObject.jsify({'runId': runId}),
-      ]);
+      dartLibrary.callMethod('reload'.toJS, runId.toJS);
     }
     final reloadCompleter = Completer<bool>();
     final sub = window.onMessage.listen((event) {
diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart
index 1995306cb..5bf95c62c 100644
--- a/dwds/web/reloader/require_restarter.dart
+++ b/dwds/web/reloader/require_restarter.dart
@@ -2,56 +2,44 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-@JS()
-library require_reloading_manager;
-
 import 'dart:async';
 import 'dart:collection';
 import 'dart:js_interop';
-import 'dart:js_util';
+import 'dart:js_interop_unsafe';
 
 import 'package:graphs/graphs.dart' as graphs;
-import 'package:js/js.dart';
-import 'package:js/js_util.dart';
 import 'package:web/helpers.dart';
 
-import '../promise.dart';
 import '../run_main.dart';
 import '../web_utils.dart';
 import 'restarter.dart';
 
-/// The last known digests of all the modules in the application.
-///
-/// This is updated in place during calls to hotRestart.
-/// TODO(annagrin): can this be a private field in RequireRestarter?
-late Map<String, String> _lastKnownDigests;
-
 @JS(r'$requireLoader')
 external RequireLoader get requireLoader;
 
 @JS(r'$loadModuleConfig')
-external Object Function(String module) get require;
+external JSFunction get require;
 
 @JS(r'$dartRunMain')
-external set dartRunMain(Function() func);
+external set dartRunMain(JSFunction func);
 
 @JS(r'$dartRunMain')
-external Function() get dartRunMain;
+external JSFunction get dartRunMain;
 
 @anonymous
 @JS()
-class RequireLoader {
-  @JS()
+@staticInterop
+class RequireLoader {}
+
+extension RequireLoaderExtension on RequireLoader {
   external String get digestsPath;
 
-  @JS()
-  external JsMap<String, List<String>> get moduleParentsGraph;
+  external JsMap<JSString, JSArray> get moduleParentsGraph;
 
-  @JS()
   external void forceLoadModule(
-    String moduleId,
-    void Function() callback,
-    void Function(JsError e) onError,
+    JSString moduleId,
+    JSFunction callback,
+    JSFunction onError,
   );
 }
 
@@ -65,6 +53,11 @@ class HotReloadFailedException implements Exception {
 
 /// Handles hot restart reloading for use with the require module system.
 class RequireRestarter implements Restarter {
+  /// The last known digests of all the modules in the application.
+  ///
+  /// This is updated in place during calls to hotRestart.
+  static late Map<String, String> _lastKnownDigests;
+
   final _moduleOrdering = HashMap<String, int>();
   late SplayTreeSet<String> _dirtyModules;
   var _running = Completer<bool>()..complete(true);
@@ -77,19 +70,24 @@ class RequireRestarter implements Restarter {
 
   @override
   Future<bool> restart({String? runId}) async {
-    final developer = getProperty(require('dart_sdk'), 'developer');
-    if (callMethod(
-      getProperty(developer, '_extensions'),
-      'containsKey',
-      ['ext.flutter.disassemble'],
-    ) as bool) {
-      await toFuture(
-        callMethod(
-          developer,
-          'invokeExtension',
-          ['ext.flutter.disassemble', '{}'],
-        ) as Promise<void>,
-      );
+    final sdk = require.callAsFunction(null, 'dart_sdk'.toJS) as JSObject;
+    final dart = sdk['dart'] as JSObject;
+    final developer = sdk['developer'] as JSObject;
+    final extensions = developer['_extensions'] as JSObject;
+
+    if (extensions
+        .callMethod(
+          'containsKey'.toJS,
+          'ext.flutter.disassemble'.toJS,
+        )
+        .dartify() as bool) {
+      await (developer
+          .callMethod(
+            'invokeExtension'.toJS,
+            'ext.flutter.disassemble'.toJS,
+            '{}'.toJS,
+          )
+          .dartify() as Future<Object?>);
     }
 
     final newDigests = await _getDigests();
@@ -110,7 +108,7 @@ class RequireRestarter implements Restarter {
       _updateGraph();
       result = await _reload(modulesToLoad);
     }
-    callMethod(getProperty(require('dart_sdk'), 'dart'), 'hotRestart', []);
+    dart.callMethod('hotRestart'.toJS, runId?.toJS);
     runMain();
     return result;
   }
@@ -165,6 +163,9 @@ class RequireRestarter implements Restarter {
   /// Returns `true` if the reload was fully handled, `false` if it failed
   /// explicitly, or `null` for an unhandled reload.
   Future<bool> _reload(List<String> modules) async {
+    final sdk = require.callAsFunction(null, 'dart_sdk'.toJS) as JSObject;
+    final dart = sdk['dart'] as JSObject;
+
     // As function is async, it can potentially be called second time while
     // first invocation is still running. In this case just mark as dirty and
     // wait until loop from the first call will do the work
@@ -183,18 +184,14 @@ class RequireRestarter implements Restarter {
         if (parentIds.isEmpty) {
           // The bootstrap module is not reloaded but we need to update the
           // $dartRunMain reference to the newly loaded child module.
-          final childModule = callMethod<JSObject>(
-            getProperty(require('dart_sdk'), 'dart'),
-            'getModuleLibraries',
-            [previousModuleId],
+          final childModule = dart.callMethod<JSObject>(
+            'getModuleLibraries'.toJS,
+            previousModuleId?.toJS,
           );
-          dartRunMain = allowInterop(() {
-            callMethod(
-              childModule.values.first!,
-              'main',
-              [],
-            );
-          });
+          final mainLibrary = childModule.values.first! as JSObject;
+          dartRunMain = () {
+            mainLibrary.callMethod('main'.toJS);
+          }.toJS;
         } else {
           ++reloadedModules;
           await _reloadModule(moduleId);
@@ -217,14 +214,18 @@ class RequireRestarter implements Restarter {
     final completer = Completer();
     final stackTrace = StackTrace.current;
     requireLoader.forceLoadModule(
-      moduleId,
-      allowInterop(completer.complete),
-      allowInterop((e) {
+      moduleId.toJS,
+      // Removing the argument type in complete()
+      // ignore: unnecessary_lambdas
+      () {
+        completer.complete();
+      }.toJS,
+      (JsError e) {
         completer.completeError(
           HotReloadFailedException(e.message),
           stackTrace,
         );
-      }),
+      }.toJS,
     );
     return completer.future;
   }
diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart
index b404b7311..8c690fdbe 100644
--- a/dwds/web/web_utils.dart
+++ b/dwds/web/web_utils.dart
@@ -2,49 +2,47 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-@JS()
-library require_reloading_manager;
-
 import 'dart:js_interop';
 
-import 'package:js/js.dart';
+@JS('window')
+external JSObject get windowContext;
 
 @JS('Array.from')
-external JSArray _jsArrayFrom(Object any);
+external JSArray _jsArrayFrom(JSAny any);
 
 @JS('Object.values')
-external JSArray _jsObjectValues(Object any);
+external JSArray _jsObjectValues(JSAny any);
 
 @JS('Error')
-abstract class JsError {
-  @JS()
-  external String get message;
+@staticInterop
+abstract class JsError {}
 
-  @JS()
+extension JsErrorExtension on JsError {
+  external String get message;
   external String get stack;
 }
 
 @JS('Map')
-abstract class JsMap<K, V> {
-  @JS('Map.get')
-  external V? get(K key);
+@staticInterop
+abstract class JsMap<K extends JSAny, V extends JSAny> {}
 
-  @JS()
-  external Object keys();
+extension JsMapExtension<K extends JSAny, V extends JSAny> on JsMap<K, V> {
+  external V? get(K key);
+  external JSObject keys();
 }
 
-extension ObjectExtension on JSObject {
+extension JSObjectExtension on JSObject {
   Iterable<Object?> get values => _jsObjectValues(this).toDartIterable();
 }
 
 extension JSArrayExtension on JSArray {
   Iterable<T> toDartIterable<T>() => toDart.map((e) => e.dartify() as T);
+
   List<T> toDartList<T>() => toDartIterable<T>().toList();
 }
 
-extension ModuleDependencyGraph on JsMap<String, List<String>> {
-  Iterable<String> get modules => _jsArrayFrom(keys()).toDartIterable<String>();
+extension ModuleDependencyGraph on JsMap<JSString, JSArray> {
+  Iterable<String> get modules => _jsArrayFrom(keys()).toDartIterable();
 
-  List<String> parents(String key) =>
-      (get(key) as JSArray?)?.toDartList<String>() ?? [];
+  List<String> parents(String key) => get(key.toJS)?.toDartList() ?? [];
 }

From 37870afac2ccc45b1f7d574c609f50cd8a92acc1 Mon Sep 17 00:00:00 2001
From: Elliott Brooks <21270878+elliette@users.noreply.github.com>
Date: Tue, 9 Jan 2024 15:23:08 -0800
Subject: [PATCH 09/16] Reset DWDS after release

---
 dwds/CHANGELOG.md                                             | 4 ++++
 dwds/lib/src/version.dart                                     | 2 +-
 dwds/pubspec.yaml                                             | 2 +-
 .../{ignore_pubspec_overrides.yaml => pubspec_overrides.yaml} | 0
 4 files changed, 6 insertions(+), 2 deletions(-)
 rename dwds/{ignore_pubspec_overrides.yaml => pubspec_overrides.yaml} (100%)

diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md
index e11841138..893bacbec 100644
--- a/dwds/CHANGELOG.md
+++ b/dwds/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 23.2.0-wip
+
+## 23.2.0-wip
+
 ## 23.1.0
 
 - Update `package:vm_service` constraints to allow version `14.x.x` - [#2307](https://github.com/dart-lang/webdev/pull/2307)
diff --git a/dwds/lib/src/version.dart b/dwds/lib/src/version.dart
index 9dbf4fcd4..dc527920e 100644
--- a/dwds/lib/src/version.dart
+++ b/dwds/lib/src/version.dart
@@ -1,2 +1,2 @@
 // Generated code. Do not modify.
-const packageVersion = '23.1.0';
+const packageVersion = '23.2.0-wip';
diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml
index 1049cee95..0b9402c51 100644
--- a/dwds/pubspec.yaml
+++ b/dwds/pubspec.yaml
@@ -1,6 +1,6 @@
 name: dwds
 # Every time this changes you need to run `dart run build_runner build`.
-version: 23.1.0
+version: 23.2.0-wip
 description: >-
   A service that proxies between the Chrome debug protocol and the Dart VM
   service protocol.
diff --git a/dwds/ignore_pubspec_overrides.yaml b/dwds/pubspec_overrides.yaml
similarity index 100%
rename from dwds/ignore_pubspec_overrides.yaml
rename to dwds/pubspec_overrides.yaml

From b7a739d5f6bade4672d2609dc931127f9ee1987e Mon Sep 17 00:00:00 2001
From: Elliott Brooks <21270878+elliette@users.noreply.github.com>
Date: Tue, 9 Jan 2024 15:26:10 -0800
Subject: [PATCH 10/16] Re-build to fix version file

---
 dwds/lib/src/version.dart | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dwds/lib/src/version.dart b/dwds/lib/src/version.dart
index 8425df978..dc527920e 100644
--- a/dwds/lib/src/version.dart
+++ b/dwds/lib/src/version.dart
@@ -1,2 +1,2 @@
 // Generated code. Do not modify.
-const packageVersion = '23.2.0-wip';
\ No newline at end of file
+const packageVersion = '23.2.0-wip';

From fe2b8425e59705b802265f6464dc5efa58bbd811 Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Wed, 10 Jan 2024 10:14:09 -0800
Subject: [PATCH 11/16] Addressed more CR comments

---
 dwds/lib/src/injected/client.js |  8 ++---
 dwds/web/client.dart            |  6 ++--
 dwds/web/promise.dart           | 59 ---------------------------------
 3 files changed, 8 insertions(+), 65 deletions(-)
 delete mode 100644 dwds/web/promise.dart

diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 7df4dab26..9fd57219e 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -8562,11 +8562,11 @@
       A._asBool(t2._as(t1.document).dispatchEvent($event));
     },
     _handleAuthRequest($event) {
-      var t1;
-      type$.JavaScriptObject._as($event);
-      if (typeof $event.data != "string")
+      var t1,
+        data = type$.JavaScriptObject._as($event).data;
+      if (!(typeof data === "string"))
         return;
-      if (A._asString($event.data) !== "dart-auth-request")
+      if (A._asString(data) !== "dart-auth-request")
         return;
       if (A._authUrl() != null) {
         t1 = A._authUrl();
diff --git a/dwds/web/client.dart b/dwds/web/client.dart
index f59c3e4fb..a38b399d5 100644
--- a/dwds/web/client.dart
+++ b/dwds/web/client.dart
@@ -293,8 +293,10 @@ void _listenForDebugExtensionAuthRequest() {
 
 void _handleAuthRequest(Event event) {
   final messageEvent = event as MessageEvent;
-  if (messageEvent.data is! String) return;
-  if (messageEvent.data as String != 'dart-auth-request') return;
+  final data = messageEvent.data;
+
+  if (!data.typeofEquals('string')) return;
+  if ((data as JSString).toDart != 'dart-auth-request') return;
 
   // Notify the Dart Debug Extension of authentication status:
   if (_authUrl != null) {
diff --git a/dwds/web/promise.dart b/dwds/web/promise.dart
deleted file mode 100644
index 6a097ad5c..000000000
--- a/dwds/web/promise.dart
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-/*
-@JS()
-library webdev.web.promise;
-
-import 'dart:async';
-
-import 'package:js/js.dart';
-
-/// Dart wrapper for native JavaScript Promise class.
-@JS('Promise')
-class Promise<T> {
-  /// Constructs a new [Promise] object.
-  ///
-  /// The executor function is executed immediately by the Promise
-  /// implementation. The resolve and reject functions, when called, resolve or
-  /// reject the promise, respectively. If an error is thrown in the executor
-  /// function, the promise is rejected.
-  external Promise(
-    void Function(void Function(T) resolve, void Function(dynamic) reject)
-        executor,
-  );
-
-  /// Appends fulfillment and rejection handlers to the promise.
-  ///
-  /// Returns a new promise resolving to the return value of the called handler,
-  /// or to its original settled value if the promise was not handled.
-  external Promise<dynamic> then(
-    dynamic Function(T value) onSuccess, [
-    dynamic Function(dynamic reason) onError,
-  ]);
-}
-
-/// Returns a [Promise] that resolves once the given [future] resolves.
-///
-/// This also propagates errors to the returned [Promise].
-Promise<T> toPromise<T>(Future<T> future) {
-  return Promise(
-    allowInterop((void Function(T) resolve, void Function(dynamic) reject) {
-      future.then(resolve).catchError(reject);
-    }),
-  );
-}
-
-/// Returns a [Future] that resolves once the given [promise] resolves.
-///
-/// This also propagates [Promise] rejection through to the returned [Future].
-Future<T> toFuture<T>(Promise<T> promise) {
-  final completer = Completer<T>();
-  promise.then(
-    allowInterop(completer.complete),
-    // TODO(annagrin): propagate stack trace from promise instead.
-    allowInterop((e) => completer.completeError(e, StackTrace.current)),
-  );
-  return completer.future;
-}
-*/
\ No newline at end of file

From 2e7ebfe48d712017bbab856288814e221e862bea Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Tue, 16 Jan 2024 11:13:14 -0800
Subject: [PATCH 12/16] Addressed CR comments

---
 dwds/CHANGELOG.md                        |  1 -
 dwds/web/client.dart                     | 13 +++++++------
 dwds/web/reloader/require_restarter.dart | 13 ++++++-------
 3 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md
index ea3934741..987a3fa0d 100644
--- a/dwds/CHANGELOG.md
+++ b/dwds/CHANGELOG.md
@@ -18,7 +18,6 @@
 - Add `FrontendServerLegacyStrategyProvider` and update bootstrap generation logic for `LegacyStrategy` - [#2285](https://github.com/dart-lang/webdev/pull/2285)
 - Tolerate failures to detect a Dart execution context. - [#2286](https://github.com/dart-lang/webdev/pull/2286)
 - Fix a null cast error when debugging a `Class` from VS Code. - [#2303](https://github.com/dart-lang/webdev/pull/2303)
-
 - Update `package:vm_service` constraint to `^14.0.0`. - [#2307](https://github.com/dart-lang/webdev/pull/2307)
 - Update `package:vm_service_interface` constraint to `1.0.1`. - [#2307](https://github.com/dart-lang/webdev/pull/2307)
 
diff --git a/dwds/web/client.dart b/dwds/web/client.dart
index a38b399d5..3522daab2 100644
--- a/dwds/web/client.dart
+++ b/dwds/web/client.dart
@@ -373,15 +373,13 @@ external String? get dartWorkspaceName;
 
 bool get _isChromium => window.navigator.vendor.contains('Google');
 
-bool? get _isInternalBuild =>
-    windowContext['\$isInternalBuild'].dartify() as bool?;
+bool? get _isInternalBuild => _toBool(windowContext['\$isInternalBuild']);
 
-bool? get _isFlutterApp => windowContext['\$isFlutterApp'].dartify() as bool?;
+bool? get _isFlutterApp => _toBool(windowContext['\$isFlutterApp']);
 
-String? get _appId => windowContext['\$dartAppId'].dartify() as String?;
+String? get _appId => _toString(windowContext['\$dartAppId']);
 
-String? get _extensionUrl =>
-    windowContext['\$dartExtensionUri'].dartify() as String?;
+String? get _extensionUrl => _toString(windowContext['\$dartExtensionUri']);
 
 String? get _authUrl {
   final extensionUrl = _extensionUrl;
@@ -396,3 +394,6 @@ String? get _authUrl {
       return authUrl.toString();
   }
 }
+
+bool? _toBool(JSAny? object) => (object as JSBoolean?)?.toDart;
+String? _toString(JSAny? object) => (object as JSString?)?.toDart;
diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart
index 5bf95c62c..99171340b 100644
--- a/dwds/web/reloader/require_restarter.dart
+++ b/dwds/web/reloader/require_restarter.dart
@@ -81,13 +81,12 @@ class RequireRestarter implements Restarter {
           'ext.flutter.disassemble'.toJS,
         )
         .dartify() as bool) {
-      await (developer
-          .callMethod(
-            'invokeExtension'.toJS,
-            'ext.flutter.disassemble'.toJS,
-            '{}'.toJS,
-          )
-          .dartify() as Future<Object?>);
+      await (developer.callMethod(
+        'invokeExtension'.toJS,
+        'ext.flutter.disassemble'.toJS,
+        '{}'.toJS,
+      ) as JSPromise)
+          .toDart;
     }
 
     final newDigests = await _getDigests();

From 82bb2a803ce3c1a466118267ba15fe6ba89b7696 Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Tue, 16 Jan 2024 11:29:37 -0800
Subject: [PATCH 13/16] Addressed CR comments

---
 dwds/web/reloader/require_restarter.dart | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart
index 99171340b..bc3fa9c4e 100644
--- a/dwds/web/reloader/require_restarter.dart
+++ b/dwds/web/reloader/require_restarter.dart
@@ -43,6 +43,16 @@ extension RequireLoaderExtension on RequireLoader {
   );
 }
 
+extension RequireExtension on JSFunction {
+  JSObject get sdk => callAsFunction(null, 'dart-sdk'.toJS) as JSObject;
+}
+
+extension SDK on JSObject {
+  JSObject get dart => this['dart'] as JSObject;
+  JSObject get developer => this['developer'] as JSObject;
+  JSObject get extensions => developer['_extensions'] as JSObject;
+}
+
 class HotReloadFailedException implements Exception {
   final String _s;
 
@@ -70,10 +80,10 @@ class RequireRestarter implements Restarter {
 
   @override
   Future<bool> restart({String? runId}) async {
-    final sdk = require.callAsFunction(null, 'dart_sdk'.toJS) as JSObject;
-    final dart = sdk['dart'] as JSObject;
-    final developer = sdk['developer'] as JSObject;
-    final extensions = developer['_extensions'] as JSObject;
+    final sdk = require.sdk;
+    final dart = sdk.dart;
+    final developer = sdk.developer;
+    final extensions = sdk.extensions;
 
     if (extensions
         .callMethod(
@@ -162,8 +172,8 @@ class RequireRestarter implements Restarter {
   /// Returns `true` if the reload was fully handled, `false` if it failed
   /// explicitly, or `null` for an unhandled reload.
   Future<bool> _reload(List<String> modules) async {
-    final sdk = require.callAsFunction(null, 'dart_sdk'.toJS) as JSObject;
-    final dart = sdk['dart'] as JSObject;
+    final sdk = require.sdk;
+    final dart = sdk.dart;
 
     // As function is async, it can potentially be called second time while
     // first invocation is still running. In this case just mark as dirty and

From c946782019115f9765a70ee14d3705498a6e862a Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Wed, 24 Jan 2024 16:08:25 -0800
Subject: [PATCH 14/16] Do not use unsafe interop methods

---
 dwds/lib/src/injected/client.js          | 191 ++++++++++-------------
 dwds/web/client.dart                     |  19 +--
 dwds/web/reloader/legacy_restarter.dart  |  21 ++-
 dwds/web/reloader/require_restarter.dart |  84 ++++++----
 dwds/web/web_utils.dart                  |  13 +-
 5 files changed, 172 insertions(+), 156 deletions(-)

diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index 9a0284834..e2ba715fb 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -8608,9 +8608,7 @@
     },
     _authUrl() {
       var authUrl,
-        extensionUrl = A._asStringQ(type$.JSObject._as(self.window).$dartExtensionUri);
-      if (extensionUrl == null)
-        extensionUrl = null;
+        extensionUrl = A._asStringQ(type$.JavaScriptObject._as(self.window).$dartExtensionUri);
       if (extensionUrl == null)
         return null;
       authUrl = A.Uri_parse(extensionUrl).replace$1$path("$dwdsExtensionAuthentication");
@@ -8679,6 +8677,32 @@
       this._client = t0;
       this._restarter = t1;
     },
+    SdkDeveloperExtension_maybeInvokeFlutterDisassemble(_this) {
+      var $async$goto = 0,
+        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
+      var $async$SdkDeveloperExtension_maybeInvokeFlutterDisassemble = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
+        if ($async$errorCode === 1)
+          return A._asyncRethrow($async$result, $async$completer);
+        while (true)
+          switch ($async$goto) {
+            case 0:
+              // Function start
+              $async$goto = A._asBool(type$.JavaScriptObject._as(_this._extensions).containsKey("ext.flutter.disassemble")) ? 2 : 3;
+              break;
+            case 2:
+              // then
+              $async$goto = 4;
+              return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(_this.invokeExtension("ext.flutter.disassemble", "{}")), type$.String), $async$SdkDeveloperExtension_maybeInvokeFlutterDisassemble);
+            case 4:
+              // returning from await.
+            case 3:
+              // join
+              // implicit return
+              return A._asyncReturn(null, $async$completer);
+          }
+      });
+      return A._asyncStartSync($async$SdkDeveloperExtension_maybeInvokeFlutterDisassemble, $async$completer);
+    },
     HotReloadFailedException$(_s) {
       return new A.HotReloadFailedException(_s);
     },
@@ -8797,20 +8821,6 @@
       }
       throw "Unable to print message: " + String(string);
     },
-    JSObjectUnsafeUtilExtension__callMethod(_this, method, arg1, arg2, arg3, arg4) {
-      var t1;
-      if (arg1 == null)
-        return _this[method]();
-      else if (arg2 == null)
-        return _this[method](arg1);
-      else {
-        t1 = _this[method](arg1, arg2);
-        return t1;
-      }
-    },
-    JSObjectUnsafeUtilExtension_callMethod(_this, method, arg1, arg2, $T) {
-      return $T._as(A.JSObjectUnsafeUtilExtension__callMethod(_this, method, arg1, arg2, null, null));
-    },
     decodeDigit(c) {
       var letter,
         digit = c ^ 48;
@@ -22165,35 +22175,26 @@
   };
   A._launchCommunicationWithDebugExtension_closure.prototype = {
     call$1(b) {
-      var t3, t4, _null = null,
+      var t3,
         t1 = self,
         t2 = A._asString(t1.$dartEntrypointPath);
       b.get$_$this()._appEntrypointPath = t2;
-      t2 = type$.JSObject;
+      t2 = type$.JavaScriptObject;
       t3 = A._asStringQ(t2._as(t1.window).$dartAppId);
-      if (t3 == null)
-        t3 = _null;
       b.get$_$this()._debug_info$_appId = t3;
       t3 = A._asStringQ(t1.$dartAppInstanceId);
       b.get$_$this()._appInstanceId = t3;
-      t3 = type$.JavaScriptObject;
-      t4 = A._asString(t3._as(t3._as(t1.window).location).origin);
-      b.get$_$this()._appOrigin = t4;
-      t3 = A._asString(t3._as(t3._as(t1.window).location).href);
+      t3 = A._asString(t2._as(t2._as(t1.window).location).origin);
+      b.get$_$this()._appOrigin = t3;
+      t3 = A._asString(t2._as(t2._as(t1.window).location).href);
       b.get$_$this()._appUrl = t3;
       t3 = A._authUrl();
       b.get$_$this()._authUrl = t3;
       t3 = A._asStringQ(t2._as(t1.window).$dartExtensionUri);
-      if (t3 == null)
-        t3 = _null;
       b.get$_$this()._extensionUrl = t3;
       t3 = A._asBoolQ(t2._as(t1.window).$isInternalBuild);
-      if (t3 == null)
-        t3 = _null;
       b.get$_$this()._isInternalBuild = t3;
       t2 = A._asBoolQ(t2._as(t1.window).$isFlutterApp);
-      if (t2 == null)
-        t2 = _null;
       b.get$_$this()._isFlutterApp = t2;
       t1 = A._asStringQ(t1.$dartWorkspaceName);
       b.get$_$this()._workspaceName = t1;
@@ -22211,7 +22212,7 @@
     restart$1$runId(runId) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
-        $async$returnValue, t3, t1, t2, dartLibrary;
+        $async$returnValue, t3, t1, t2;
       var $async$restart$1$runId = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -22220,16 +22221,10 @@
             case 0:
               // Function start
               t1 = self;
-              t2 = type$.JSObject;
-              dartLibrary = t2._as(t2._as(t1.window).dart_library);
-              t2 = type$.nullable_Object;
-              if (runId == null)
-                A.JSObjectUnsafeUtilExtension_callMethod(dartLibrary, "reload", null, null, t2);
-              else
-                A.JSObjectUnsafeUtilExtension_callMethod(dartLibrary, "reload", runId, null, t2);
-              t2 = new A._Future($.Zone__current, type$._Future_bool);
-              t3 = type$.JavaScriptObject;
-              $async$returnValue = t2.then$1$1(new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t3._as(t1.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t2, type$._AsyncCompleter_bool))), false, t3)), type$.bool);
+              t2 = type$.JavaScriptObject;
+              t2._as(t1.dart_library).reload(runId);
+              t3 = new A._Future($.Zone__current, type$._Future_bool);
+              $async$returnValue = t3.then$1$1(new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t2._as(t1.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t3, type$._AsyncCompleter_bool))), false, t2)), type$.bool);
               // goto return
               $async$goto = 1;
               break;
@@ -22312,7 +22307,7 @@
     restart$1$runId(runId) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
-        $async$returnValue, $async$self = this, newDigests, modulesToLoad, t5, t6, t7, line, toZone, t8, result, t1, t2, t3, dart, developer, t4;
+        $async$returnValue, $async$self = this, newDigests, modulesToLoad, t3, t4, t5, t6, line, toZone, t7, result, t1, t2;
       var $async$restart$1$runId = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1)
           return A._asyncRethrow($async$result, $async$completer);
@@ -22322,33 +22317,23 @@
               // Function start
               t1 = self;
               t2 = type$.JavaScriptObject;
-              t3 = type$.JSObject;
-              dart = t3._as(t2._as(t1.$loadModuleConfig("dart_sdk")).dart);
-              developer = t3._as(t2._as(t1.$loadModuleConfig("dart_sdk")).developer);
-              t4 = type$.nullable_Object;
-              $async$goto = A._asBool(A.dartify(A.JSObjectUnsafeUtilExtension_callMethod(t3._as(t3._as(t2._as(t1.$loadModuleConfig("dart_sdk")).developer)._extensions), "containsKey", "ext.flutter.disassemble", null, t4))) ? 3 : 4;
-              break;
+              $async$goto = 3;
+              return A._asyncAwait(A.SdkDeveloperExtension_maybeInvokeFlutterDisassemble(t2._as(t2._as(t1.$loadModuleConfig("dart_sdk")).developer)), $async$restart$1$runId);
             case 3:
-              // then
-              $async$goto = 5;
-              return A._asyncAwait(A.promiseToFuture(t3._as(A.JSObjectUnsafeUtilExtension_callMethod(developer, "invokeExtension", "ext.flutter.disassemble", "{}", t4)), t4), $async$restart$1$runId);
-            case 5:
               // returning from await.
-            case 4:
-              // join
-              $async$goto = 6;
+              $async$goto = 4;
               return A._asyncAwait($async$self._getDigests$0(), $async$restart$1$runId);
-            case 6:
+            case 4:
               // returning from await.
               newDigests = $async$result;
               modulesToLoad = A._setArrayType([], type$.JSArray_String);
-              for (t3 = newDigests.get$keys(), t3 = t3.get$iterator(t3), t5 = $.RequireRestarter____lastKnownDigests._name; t3.moveNext$0();) {
-                t6 = t3.get$current();
-                t7 = $.RequireRestarter____lastKnownDigests.__late_helper$_value;
-                if (t7 === $.RequireRestarter____lastKnownDigests)
-                  A.throwExpression(A.LateError$fieldNI(t5));
-                if (!t7.containsKey$1(t6)) {
-                  line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + t6 + ".";
+              for (t3 = newDigests.get$keys(), t3 = t3.get$iterator(t3), t4 = $.RequireRestarter____lastKnownDigests._name; t3.moveNext$0();) {
+                t5 = t3.get$current();
+                t6 = $.RequireRestarter____lastKnownDigests.__late_helper$_value;
+                if (t6 === $.RequireRestarter____lastKnownDigests)
+                  A.throwExpression(A.LateError$fieldNI(t4));
+                if (!t6.containsKey$1(t5)) {
+                  line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + t5 + ".";
                   toZone = $.printToZone;
                   if (toZone == null)
                     A.printString(line);
@@ -22356,39 +22341,39 @@
                     toZone.call$1(line);
                   t2._as(t2._as(t1.window).location).reload();
                 } else {
-                  t7 = $.RequireRestarter____lastKnownDigests.__late_helper$_value;
-                  if (t7 === $.RequireRestarter____lastKnownDigests)
-                    A.throwExpression(A.LateError$fieldNI(t5));
-                  if (!J.$eq$(t7.$index(0, t6), newDigests.$index(0, t6))) {
-                    t7 = $.RequireRestarter____lastKnownDigests.__late_helper$_value;
-                    if (t7 === $.RequireRestarter____lastKnownDigests)
-                      A.throwExpression(A.LateError$fieldNI(t5));
-                    t8 = newDigests.$index(0, t6);
-                    t8.toString;
-                    t7.$indexSet(0, t6, t8);
-                    B.JSArray_methods.add$1(modulesToLoad, t6);
+                  t6 = $.RequireRestarter____lastKnownDigests.__late_helper$_value;
+                  if (t6 === $.RequireRestarter____lastKnownDigests)
+                    A.throwExpression(A.LateError$fieldNI(t4));
+                  if (!J.$eq$(t6.$index(0, t5), newDigests.$index(0, t5))) {
+                    t6 = $.RequireRestarter____lastKnownDigests.__late_helper$_value;
+                    if (t6 === $.RequireRestarter____lastKnownDigests)
+                      A.throwExpression(A.LateError$fieldNI(t4));
+                    t7 = newDigests.$index(0, t5);
+                    t7.toString;
+                    t6.$indexSet(0, t5, t7);
+                    B.JSArray_methods.add$1(modulesToLoad, t5);
                   }
                 }
               }
-              $async$goto = modulesToLoad.length !== 0 ? 7 : 9;
+              $async$goto = modulesToLoad.length !== 0 ? 5 : 7;
               break;
-            case 7:
+            case 5:
               // then
               $async$self._updateGraph$0();
-              $async$goto = 10;
+              $async$goto = 8;
               return A._asyncAwait($async$self._reload$1(modulesToLoad), $async$restart$1$runId);
-            case 10:
+            case 8:
               // returning from await.
               result = $async$result;
               // goto join
-              $async$goto = 8;
+              $async$goto = 6;
               break;
-            case 9:
+            case 7:
               // else
               result = true;
-            case 8:
+            case 6:
               // join
-              A.JSObjectUnsafeUtilExtension_callMethod(dart, "hotRestart", runId == null ? null : runId, null, t4);
+              t2._as(t2._as(t1.$loadModuleConfig("dart_sdk")).dart).hotRestart();
               A.runMain();
               $async$returnValue = result;
               // goto return
@@ -22489,7 +22474,7 @@
     _reload$body$RequireRestarter(modules) {
       var $async$goto = 0,
         $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
-        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, mainLibrary, e, t5, t6, t7, t8, t9, exception, t1, t2, t3, dart, t4, $async$exception;
+        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, mainLibrary, e, t4, t5, t6, t7, t8, t9, t10, libraries, exception, t1, t2, dart, t3, $async$exception;
       var $async$_reload$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
         if ($async$errorCode === 1) {
           $async$currentError = $async$result;
@@ -22501,15 +22486,14 @@
               // Function start
               t1 = self;
               t2 = type$.JavaScriptObject;
-              t3 = type$.JSObject;
-              dart = t3._as(t2._as(t1.$loadModuleConfig("dart_sdk")).dart);
-              t4 = $async$self._running.future;
-              $async$goto = (t4._state & 30) === 0 ? 3 : 4;
+              dart = t2._as(t2._as(t1.$loadModuleConfig("dart_sdk")).dart);
+              t3 = $async$self._running.future;
+              $async$goto = (t3._state & 30) === 0 ? 3 : 4;
               break;
             case 3:
               // then
               $async$goto = 5;
-              return A._asyncAwait(t4, $async$_reload$1);
+              return A._asyncAwait(t3, $async$_reload$1);
             case 5:
               // returning from await.
               $async$returnValue = $async$result;
@@ -22521,11 +22505,11 @@
               $async$self.set$_running(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool));
               reloadedModules = 0;
               $async$handler = 7;
-              t4 = $async$self.__RequireRestarter__dirtyModules_A;
-              t4 === $ && A.throwLateFieldNI("_dirtyModules");
-              t4.addAll$1(0, modules);
+              t3 = $async$self.__RequireRestarter__dirtyModules_A;
+              t3 === $ && A.throwLateFieldNI("_dirtyModules");
+              t3.addAll$1(0, modules);
               previousModuleId = null;
-              t4 = $async$self.get$_moduleTopologicalCompare(), t5 = type$.Function, t6 = type$.JavaScriptFunction, t7 = type$.JSArray_nullable_Object, t8 = type$.nullable_Object;
+              t3 = $async$self.get$_moduleTopologicalCompare(), t4 = type$.Function, t5 = type$.JavaScriptFunction, t6 = type$.JSObject, t7 = type$.JSArray_nullable_Object, t8 = type$.nullable_Object;
             case 10:
               // for condition
               if (!(t9 = $async$self.__RequireRestarter__dirtyModules_A, t9._root != null)) {
@@ -22543,18 +22527,15 @@
               break;
             case 12:
               // then
-              t9 = previousModuleId;
-              if (t9 == null)
-                t9 = null;
-              childModule = t3._as(A.JSObjectUnsafeUtilExtension__callMethod(dart, "getModuleLibraries", t9, null, null, null));
-              t9 = t1.Object;
-              t9 = A.JSArrayExtension_toDartIterable(t7._as(t9.values.apply(t9, [childModule])), t8);
-              if (t9.get$length(0) === 0)
+              t9 = t6._as(dart.getModuleLibraries(previousModuleId));
+              t10 = t1.Object;
+              libraries = A.JSArrayExtension_toDartIterable(t7._as(t10.values.apply(t10, [t9])), t8);
+              if (libraries.get$length(0) === 0)
                 A.throwExpression(A.IterableElementError_noElement());
-              t9 = t9.elementAt$1(0, 0);
+              t9 = libraries.elementAt$1(0, 0);
               t9.toString;
-              mainLibrary = t3._as(t9);
-              t1.$dartRunMain = t6._as(A.allowInterop(new A.RequireRestarter__reload_closure(mainLibrary), t5));
+              mainLibrary = t2._as(t9);
+              t1.$dartRunMain = t5._as(A.allowInterop(new A.RequireRestarter__reload_closure(mainLibrary), t4));
               // goto join
               $async$goto = 13;
               break;
@@ -22572,7 +22553,7 @@
               return A._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1);
             case 15:
               // returning from await.
-              J.sort$1$ax(parentIds, t4);
+              J.sort$1$ax(parentIds, t3);
               $async$self.__RequireRestarter__dirtyModules_A.addAll$1(0, parentIds);
               previousModuleId = moduleId;
             case 13:
@@ -22659,7 +22640,7 @@
   };
   A.RequireRestarter__reload_closure.prototype = {
     call$0() {
-      A.JSObjectUnsafeUtilExtension_callMethod(this.mainLibrary, "main", null, null, type$.nullable_Object);
+      this.mainLibrary.main();
     },
     $signature: 2
   };
diff --git a/dwds/web/client.dart b/dwds/web/client.dart
index 31eb6d72d..4d3a7c8ca 100644
--- a/dwds/web/client.dart
+++ b/dwds/web/client.dart
@@ -5,7 +5,6 @@
 import 'dart:async';
 import 'dart:convert';
 import 'dart:js_interop';
-import 'dart:js_interop_unsafe';
 
 import 'package:built_collection/built_collection.dart';
 import 'package:dwds/data/build_result.dart';
@@ -264,14 +263,14 @@ void _launchCommunicationWithDebugExtension() {
       DebugInfo(
         (b) => b
           ..appEntrypointPath = dartEntrypointPath
-          ..appId = _appId
+          ..appId = windowContext.$dartAppId
           ..appInstanceId = dartAppInstanceId
           ..appOrigin = window.location.origin
           ..appUrl = window.location.href
           ..authUrl = _authUrl
-          ..extensionUrl = _extensionUrl
-          ..isInternalBuild = _isInternalBuild
-          ..isFlutterApp = _isFlutterApp
+          ..extensionUrl = windowContext.$dartExtensionUri
+          ..isInternalBuild = windowContext.$isInternalBuild
+          ..isFlutterApp = windowContext.$isFlutterApp
           ..workspaceName = dartWorkspaceName,
       ),
     ),
@@ -373,16 +372,8 @@ external String? get dartWorkspaceName;
 
 bool get _isChromium => window.navigator.vendor.contains('Google');
 
-bool? get _isInternalBuild => toDartBool(windowContext['\$isInternalBuild']);
-
-bool? get _isFlutterApp => toDartBool(windowContext['\$isFlutterApp']);
-
-String? get _appId => toDartString(windowContext['\$dartAppId']);
-
-String? get _extensionUrl => toDartString(windowContext['\$dartExtensionUri']);
-
 String? get _authUrl {
-  final extensionUrl = _extensionUrl;
+  final extensionUrl = windowContext.$dartExtensionUri;
   if (extensionUrl == null) return null;
   final authUrl = Uri.parse(extensionUrl).replace(path: authenticationPath);
   switch (authUrl.scheme) {
diff --git a/dwds/web/reloader/legacy_restarter.dart b/dwds/web/reloader/legacy_restarter.dart
index cf5238d19..97bd5c550 100644
--- a/dwds/web/reloader/legacy_restarter.dart
+++ b/dwds/web/reloader/legacy_restarter.dart
@@ -4,22 +4,27 @@
 
 import 'dart:async';
 import 'dart:js_interop';
-import 'dart:js_interop_unsafe';
 
 import 'package:web/helpers.dart';
 
-import '../web_utils.dart';
 import 'restarter.dart';
 
+@anonymous
+@JS()
+@staticInterop
+class DartLibrary {}
+
+@JS(r'dart_library')
+external DartLibrary dartLibrary;
+
+extension DartLibraryExtension on DartLibrary {
+  external void reload(String? runId);
+}
+
 class LegacyRestarter implements Restarter {
   @override
   Future<bool> restart({String? runId}) async {
-    final dartLibrary = windowContext['dart_library'] as JSObject;
-    if (runId == null) {
-      dartLibrary.callMethod('reload'.toJS);
-    } else {
-      dartLibrary.callMethod('reload'.toJS, runId.toJS);
-    }
+    dartLibrary.reload(runId);
     final reloadCompleter = Completer<bool>();
     final sub = window.onMessage.listen((event) {
       final message = event.data?.dartify();
diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart
index 0802c1da4..fe9039d9f 100644
--- a/dwds/web/reloader/require_restarter.dart
+++ b/dwds/web/reloader/require_restarter.dart
@@ -5,7 +5,6 @@
 import 'dart:async';
 import 'dart:collection';
 import 'dart:js_interop';
-import 'dart:js_interop_unsafe';
 
 import 'package:graphs/graphs.dart' as graphs;
 import 'package:web/helpers.dart';
@@ -45,15 +44,64 @@ extension RequireLoaderExtension on RequireLoader {
 @staticInterop
 class Sdk {}
 
+@anonymous
+@JS()
+@staticInterop
+class SdkDeveloper {}
+
+@anonymous
+@JS()
+@staticInterop
+class SdkDart {}
+
+@anonymous
+@JS()
+@staticInterop
+class SdkExt {}
+
+@anonymous
+@JS()
+@staticInterop
+class MainLibrary {}
+
 @JS(r'$loadModuleConfig')
 external Sdk require(String value);
 
 Sdk get sdk => require('dart_sdk');
 
 extension SdkExtension on Sdk {
-  JSObject get dart => (this as JSObject)['dart'] as JSObject;
-  JSObject get developer => (this as JSObject)['developer'] as JSObject;
-  JSObject get extensions => developer['_extensions'] as JSObject;
+  external SdkDart get dart;
+  external SdkDeveloper get developer;
+}
+
+extension SdkDeveloperExtension on SdkDeveloper {
+  external JSPromise<JSString> invokeExtension(String key, String params);
+  external SdkExt get _extensions;
+
+  Future<void> maybeInvokeFlutterDisassemble() async {
+    final method = 'ext.flutter.disassemble';
+    if (_extensions.containsKey(method)) {
+      await invokeExtension(method, '{}').toDart;
+    }
+  }
+}
+
+extension SdkDartExtension on SdkDart {
+  external void hotRestart();
+  external JSObject getModuleLibraries(String? moduleId);
+
+  MainLibrary getMainLibrary(String? moduleId) {
+    final libraries = getModuleLibraries(moduleId).values;
+    return libraries.first! as MainLibrary;
+  }
+}
+
+extension SdkExtExtension on SdkExt {
+  external bool containsKey(String key);
+}
+
+extension MainLibraryExtension on MainLibrary {
+  external void main();
 }
 
 class HotReloadFailedException implements Exception {
@@ -83,23 +131,7 @@ class RequireRestarter implements Restarter {
 
   @override
   Future<bool> restart({String? runId}) async {
-    final dart = sdk.dart;
-    final developer = sdk.developer;
-    final extensions = sdk.extensions;
-
-    if (extensions
-        .callMethod(
-          'containsKey'.toJS,
-          'ext.flutter.disassemble'.toJS,
-        )
-        .dartify() as bool) {
-      await (developer.callMethod(
-        'invokeExtension'.toJS,
-        'ext.flutter.disassemble'.toJS,
-        '{}'.toJS,
-      ) as JSPromise)
-          .toDart;
-    }
+    await sdk.developer.maybeInvokeFlutterDisassemble();
 
     final newDigests = await _getDigests();
     final modulesToLoad = <String>[];
@@ -119,7 +151,7 @@ class RequireRestarter implements Restarter {
       _updateGraph();
       result = await _reload(modulesToLoad);
     }
-    dart.callMethod('hotRestart'.toJS, runId?.toJS);
+    sdk.dart.hotRestart();
     runMain();
     return result;
   }
@@ -194,13 +226,9 @@ class RequireRestarter implements Restarter {
         if (parentIds.isEmpty) {
           // The bootstrap module is not reloaded but we need to update the
           // $dartRunMain reference to the newly loaded child module.
-          final childModule = dart.callMethod<JSObject>(
-            'getModuleLibraries'.toJS,
-            previousModuleId?.toJS,
-          );
-          final mainLibrary = childModule.values.first! as JSObject;
+          // ignore: unnecessary_lambdas
           dartRunMain = () {
-            mainLibrary.callMethod('main'.toJS);
+            dart.getMainLibrary(previousModuleId).main();
           }.toJS;
         } else {
           ++reloadedModules;
diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart
index 59e4d046e..399f2f2ab 100644
--- a/dwds/web/web_utils.dart
+++ b/dwds/web/web_utils.dart
@@ -5,7 +5,18 @@
 import 'dart:js_interop';
 
 @JS('window')
-external JSObject get windowContext;
+external WindowContext get windowContext;
+
+@JS('Error')
+@staticInterop
+abstract class WindowContext {}
+
+extension WindowContextExtension on WindowContext {
+  external bool? get $isInternalBuild;
+  external bool? get $isFlutterApp;
+  external String? get $dartAppId;
+  external String? get $dartExtensionUri;
+}
 
 @JS('Array.from')
 external JSArray _jsArrayFrom(JSAny any);

From 2fc16357ebfbbd040d7a13c19960df9cee78c33a Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Fri, 26 Jan 2024 11:23:31 -0800
Subject: [PATCH 15/16] Fixed some issues

---
 dwds/lib/src/handlers/dev_handler.dart        |  2 +-
 dwds/lib/src/handlers/injector.dart           | 52 +++++--------------
 dwds/lib/src/loaders/require.dart             |  2 -
 dwds/test/evaluate_common.dart                |  3 --
 .../frontend_server_evaluate_sound_test.dart  |  2 +-
 fixtures/_webdevSoundSmoke/web/main.dart      |  3 --
 frontend_server_common/lib/src/bootstrap.dart |  2 +-
 7 files changed, 16 insertions(+), 50 deletions(-)

diff --git a/dwds/lib/src/handlers/dev_handler.dart b/dwds/lib/src/handlers/dev_handler.dart
index 949b5b417..ff631854f 100644
--- a/dwds/lib/src/handlers/dev_handler.dart
+++ b/dwds/lib/src/handlers/dev_handler.dart
@@ -42,7 +42,7 @@ import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart';
 /// traffic to disk.
 ///
 /// Note: this should not be checked in enabled.
-const _enableLogging = false;
+const _enableLogging = true;
 
 /// SSE handler to enable development features like hot reload and
 /// opening DevTools.
diff --git a/dwds/lib/src/handlers/injector.dart b/dwds/lib/src/handlers/injector.dart
index 743871e83..8408f0350 100644
--- a/dwds/lib/src/handlers/injector.dart
+++ b/dwds/lib/src/handlers/injector.dart
@@ -143,10 +143,21 @@ String _injectClientAndHoistMain(
   String entrypointPath,
   String? extensionUri,
 ) {
+  // TODO(annagrin): google3 already sets appName in the bootstrap file, so we need
+  // other build system to do the same before rolling this to google3, or figure a
+  // way to set appName here only if not defined already.
   final bodyLines = body.split('\n');
+  final entrypointExtensionIndex =
+      bodyLines.indexWhere((line) => line.contains(entrypointExtensionMarker));
+  var result = bodyLines.sublist(0, entrypointExtensionIndex).join('\n');
+  result += '''
+    var appName = 'TestApp';
+  ''';
+
   final extensionIndex =
       bodyLines.indexWhere((line) => line.contains(mainExtensionMarker));
-  var result = bodyLines.sublist(0, extensionIndex).join('\n');
+  result +=
+      bodyLines.sublist(entrypointExtensionIndex, extensionIndex).join('\n');
   // The line after the marker calls `main`. We prevent `main` from
   // being called and make it runnable through a global variable.
   final mainFunction =
@@ -173,9 +184,7 @@ String _injectClientAndHoistMain(
     }
     $injectedClientSnippet
   } else {
-    console.log("INJECTOR: registering entrypoint...");
     if (typeof window.\$dartRegisterEntrypoint != "undefined") {
-      console.log("INJECTOR: registering entrypoint with dev handler");
       window.\$dartRegisterEntrypoint(
           /* app name */ appName,
           /* entrypoint */ "$entrypointPath",
@@ -220,48 +229,13 @@ String _injectedClientSnippet(
     workspaceName: appMetadata.workspaceName,
   );
 
-  final injectedBody = '\n'
-      //'    console.log("INJECTOR: registering app: " +  appName);\n'
+  return '\n'
       // Used by DDC runtime to detect if a debugger is attached.
       '    window.\$dwdsVersion = "$packageVersion";\n'
       // Used by the injected client to communicate with the debugger.
       '    window.\$dartAppInfo = ${appInfo.toJs()};\n'
       // Load the injected client.
       '    ${loadStrategy.loadClientSnippet(_clientScript)};\n';
-
-  Logger.root.warning(injectedBody);
-
-  // injectedBody += '\n'
-  //     '    let appRecord = {};\n'
-  //     '    appRecord.moduleStrategy = "${loadStrategy.id}";\n'
-  //     '    appRecord.reloadConfiguration = "${loadStrategy.reloadConfiguration}";\n'
-  //     '    appRecord.loadModuleConfig = ${loadStrategy.loadModuleSnippet};\n'
-  //     '    appRecord.dwdsVersion = "$packageVersion";\n'
-  //     '    appRecord.enableDevToolsLaunch = ${debugSettings.enableDevToolsLaunch};\n'
-  //     '    appRecord.emitDebugEvents = ${debugSettings.emitDebugEvents};\n'
-  //     '    appRecord.isInternalBuild = ${appMetadata.isInternalBuild};\n'
-  //     '    appRecord.appName = appName;\n'
-  //     '    appRecord.appId = "$appId";\n'
-  //     '    appRecord.isFlutterApp = ${buildSettings.isFlutterApp};\n'
-  //     '    appRecord.devHandlerPath = "$devHandlerPath";\n'
-  //     '    appRecord.entrypoints = new Array();\n'
-  //     '    appRecord.entrypoints.push("$entrypointPath");\n';
-
-  // if (extensionUri != null) {
-  //   injectedBody += '    appRecord.extensionUrl = "$extensionUri";\n';
-  // }
-
-  // final workspaceName = appMetadata.workspaceName;
-  // if (workspaceName != null) {
-  //   injectedBody += '    appRecord.workspaceName = "$workspaceName";\n';
-  // }
-
-  // injectedBody += '\n'
-  //     '    window.\$dartAppInfo = $appInfo;\n'
-  //     '    console.log("INJECTOR: Loading injected client...");\n'
-  //     '    ${loadStrategy.loadClientSnippet(_clientScript)};\n';
-
-  return injectedBody;
 }
 
 /// Generate JS app info object for the injected client.
diff --git a/dwds/lib/src/loaders/require.dart b/dwds/lib/src/loaders/require.dart
index 700162ca2..c1802f34a 100644
--- a/dwds/lib/src/loaders/require.dart
+++ b/dwds/lib/src/loaders/require.dart
@@ -175,7 +175,6 @@ class RequireStrategy extends LoadStrategy {
   /// Adds error handler code for require.js which requests a `.errors` file for
   /// any failed module, and logs it to the console.
   String get _requireJsConfig => '''
-$_baseUrlScript;
 require.config({
     baseUrl: baseUrl,
     waitSeconds: 0,
@@ -224,7 +223,6 @@ requirejs.onResourceLoad = function (context, map, depArray) {
     final moduleNames =
         modulePaths.map((key, value) => MapEntry<String, String>(value, key));
     return '''
-let appName = "TestApp"; // TODO: this needs to be set by the build's bootstrap.
 $_baseUrlScript
 let modulePaths = ${const JsonEncoder.withIndent(" ").convert(modulePaths)};
 let moduleNames = ${const JsonEncoder.withIndent(" ").convert(moduleNames)};
diff --git a/dwds/test/evaluate_common.dart b/dwds/test/evaluate_common.dart
index 533da2ea6..faed9f0d6 100644
--- a/dwds/test/evaluate_common.dart
+++ b/dwds/test/evaluate_common.dart
@@ -69,7 +69,6 @@ void testAll({
     () {
       setUpAll(() async {
         setCurrentLogWriter(debug: debug);
-        print('SETUP1');
         await context.setUp(
           testSettings: TestSettings(
             compilationMode: compilationMode,
@@ -79,7 +78,6 @@ void testAll({
             verboseCompiler: debug,
           ),
         );
-        print('SETUP2');
       });
 
       tearDownAll(() async {
@@ -113,7 +111,6 @@ void testAll({
               }
             },
           );
-          print('SETUP3');
           context.service.onEvent('Stdout').listen(Logger.root.info);
           context.service.onEvent('Stderr').listen(Logger.root.warning);
 
diff --git a/dwds/test/frontend_server_evaluate_sound_test.dart b/dwds/test/frontend_server_evaluate_sound_test.dart
index 6bf103094..753438833 100644
--- a/dwds/test/frontend_server_evaluate_sound_test.dart
+++ b/dwds/test/frontend_server_evaluate_sound_test.dart
@@ -17,7 +17,7 @@ import 'fixtures/project.dart';
 
 void main() async {
   // Enable verbose logging for debugging.
-  final debug = true;
+  final debug = false;
 
   final provider = TestSdkConfigurationProvider(verbose: debug);
   tearDownAll(provider.dispose);
diff --git a/fixtures/_webdevSoundSmoke/web/main.dart b/fixtures/_webdevSoundSmoke/web/main.dart
index 14f31c959..907bfdbba 100644
--- a/fixtures/_webdevSoundSmoke/web/main.dart
+++ b/fixtures/_webdevSoundSmoke/web/main.dart
@@ -7,11 +7,8 @@ import 'dart:convert';
 import 'dart:developer';
 import 'dart:html';
 
-int global = 3;
-
 void main() {
   print('Initial Print');
-  global = 4;
 
   registerExtension('ext.print', (_, __) async {
     print('Hello World');
diff --git a/frontend_server_common/lib/src/bootstrap.dart b/frontend_server_common/lib/src/bootstrap.dart
index ec239e2f2..17742b341 100644
--- a/frontend_server_common/lib/src/bootstrap.dart
+++ b/frontend_server_common/lib/src/bootstrap.dart
@@ -362,7 +362,7 @@ String generateDDCMainModule(
   return '''/* ENTRYPOINT_EXTENTION_MARKER */
 
 (function() {
-  let appName = "$entrypoint";
+  //let appName = "$entrypoint";
 
   // A uuid that identifies a subapp.
   let uuid = "00000000-0000-0000-0000-000000000000";

From 6b48bec736a8b495ec8844835a0ca43e5fc766ee Mon Sep 17 00:00:00 2001
From: Anna Gringauze <annagrin@google.com>
Date: Fri, 26 Jan 2024 11:27:07 -0800
Subject: [PATCH 16/16] Update changelog

---
 webdev/CHANGELOG.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/webdev/CHANGELOG.md b/webdev/CHANGELOG.md
index d25f88f67..527aa75fb 100644
--- a/webdev/CHANGELOG.md
+++ b/webdev/CHANGELOG.md
@@ -1,5 +1,7 @@
 ## 3.5.0-wip
 
+- Support lazy build debugging - [#2364](https://github.com/dart-lang/webdev/pull/2364)
+
 ## 3.4.0
 
 - Update `dwds` constraint to `23.3.0`.