From 4fe82dc3db3a29169130bdca87e6f7966207b716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Gonz=C3=A1lez?= Date: Sat, 14 Feb 2026 19:16:32 +0100 Subject: [PATCH] Working on linux and web --- lib/database/formulas_database_web.dart | 12 +- web/drift_worker.js | 30129 ++++++++++++++++++++++ web/index.html | 1 - web/sqlite3.wasm | Bin 0 -> 706316 bytes web/worker.dart | 9 + 5 files changed, 30146 insertions(+), 5 deletions(-) create mode 100644 web/drift_worker.js create mode 100644 web/sqlite3.wasm create mode 100644 web/worker.dart diff --git a/lib/database/formulas_database_web.dart b/lib/database/formulas_database_web.dart index 6ccbed0..8aaa89a 100644 --- a/lib/database/formulas_database_web.dart +++ b/lib/database/formulas_database_web.dart @@ -1,12 +1,16 @@ import 'package:drift/drift.dart'; -import 'package:drift/web.dart'; +import 'package:drift/wasm.dart'; LazyDatabase openConnection() { return LazyDatabase(() async { - // For web, use the web implementation - return WebDatabase.withStorage( - await DriftWebStorage.indexedDb('formulas_db'), + final db = await WasmDatabase.open( + databaseName: 'd4rt_formulas', + sqlite3Uri: Uri.parse('sqlite3.wasm'), + driftWorkerUri: Uri.parse('drift_worker.js'), ); + + return db.resolvedExecutor; + }); } \ No newline at end of file diff --git a/web/drift_worker.js b/web/drift_worker.js new file mode 100644 index 0000000..8fbccd6 --- /dev/null +++ b/web/drift_worker.js @@ -0,0 +1,30129 @@ +// Generated by dart2js (, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.10.4. +// The code supports the following hooks: +// dartPrint(message): +// if this function is defined it is called instead of the Dart [print] +// method. +// +// dartMainRunner(main, args): +// if this function is defined, the Dart [main] method will not be invoked +// directly. Instead, a closure that will invoke [main], and its arguments +// [args] is passed to [dartMainRunner]. +// +// dartDeferredLibraryLoader(uri, 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 `uri`, 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 an arbitrary argument +// string forwarded from the 'dart2js:load-priority' pragma option. +// 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 an +// arbitrary argument string forwarded from the 'dart2js:load-priority' +// pragma option. +// +// dartCallInstrumentation(id, qualifiedName): +// if this function is defined, it will be called at each entry of a +// method or constructor. Used only when compiling programs with +// --experiment-call-instrumentation. +(function dartProgram() { + function copyProperties(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + to[key] = from[key]; + } + } + function mixinPropertiesHard(from, to) { + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!to.hasOwnProperty(key)) { + to[key] = from[key]; + } + } + } + function mixinPropertiesEasy(from, to) { + Object.assign(to, from); + } + var supportsDirectProtoAccess = function() { + var cls = function() { + }; + cls.prototype = {p: {}}; + var object = new cls(); + if (!(Object.getPrototypeOf(object) && Object.getPrototypeOf(object).p === cls.prototype.p)) + return false; + try { + if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) + return true; + if (typeof version == "function" && version.length == 0) { + var v = version(); + if (/^\d+\.\d+\.\d+\.\d+$/.test(v)) + return true; + } + } catch (_) { + } + return false; + }(); + function inherit(cls, sup) { + cls.prototype.constructor = cls; + cls.prototype["$is" + cls.name] = cls; + if (sup != null) { + if (supportsDirectProtoAccess) { + Object.setPrototypeOf(cls.prototype, sup.prototype); + return; + } + var clsPrototype = Object.create(sup.prototype); + copyProperties(cls.prototype, clsPrototype); + cls.prototype = clsPrototype; + } + } + function inheritMany(sup, classes) { + for (var i = 0; i < classes.length; i++) { + inherit(classes[i], sup); + } + } + function mixinEasy(cls, mixin) { + mixinPropertiesEasy(mixin.prototype, cls.prototype); + cls.prototype.constructor = cls; + } + function mixinHard(cls, mixin) { + mixinPropertiesHard(mixin.prototype, cls.prototype); + cls.prototype.constructor = cls; + } + function lazy(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) { + holder[name] = initializer(); + } + holder[getterName] = function() { + return this[name]; + }; + return holder[name]; + }; + } + function lazyFinal(holder, name, getterName, initializer) { + var uninitializedSentinel = holder; + holder[name] = uninitializedSentinel; + holder[getterName] = function() { + if (holder[name] === uninitializedSentinel) { + var value = initializer(); + if (holder[name] !== uninitializedSentinel) { + A.throwLateFieldADI(name); + } + holder[name] = value; + } + var finalValue = holder[name]; + holder[getterName] = function() { + return finalValue; + }; + return finalValue; + }; + } + function makeConstList(list, rti) { + if (rti != null) + A._setArrayType(list, rti); + list.$flags = 7; + return list; + } + function convertToFastObject(properties) { + function t() { + } + t.prototype = properties; + new t(); + return properties; + } + function convertAllToFastObject(arrayOfObjects) { + for (var i = 0; i < arrayOfObjects.length; ++i) { + convertToFastObject(arrayOfObjects[i]); + } + } + var functionCounter = 0; + function instanceTearOffGetter(isIntercepted, parameters) { + var cache = null; + return isIntercepted ? function(receiver) { + if (cache === null) + cache = A.closureFromTearOff(parameters); + return new cache(receiver, this); + } : function() { + if (cache === null) + cache = A.closureFromTearOff(parameters); + return new cache(this, null); + }; + } + function staticTearOffGetter(parameters) { + var cache = null; + return function() { + if (cache === null) + cache = A.closureFromTearOff(parameters).prototype; + return cache; + }; + } + var typesOffset = 0; + function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { + if (typeof funType == "number") { + funType += typesOffset; + } + return {co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess}; + } + function installStaticTearOff(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + var parameters = tearOffParameters(holder, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, false); + var getterFunction = staticTearOffGetter(parameters); + holder[getterName] = getterFunction; + } + function installInstanceTearOff(prototype, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { + isIntercepted = !!isIntercepted; + var parameters = tearOffParameters(prototype, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, !!needsDirectAccess); + var getterFunction = instanceTearOffGetter(isIntercepted, parameters); + prototype[getterName] = getterFunction; + } + function setOrUpdateInterceptorsByTag(newTags) { + var tags = init.interceptorsByTag; + if (!tags) { + init.interceptorsByTag = newTags; + return; + } + copyProperties(newTags, tags); + } + function setOrUpdateLeafTags(newTags) { + var tags = init.leafTags; + if (!tags) { + init.leafTags = newTags; + return; + } + copyProperties(newTags, tags); + } + function updateTypes(newTypes) { + var types = init.types; + var length = types.length; + types.push.apply(types, newTypes); + return length; + } + function updateHolder(holder, newHolder) { + copyProperties(newHolder, holder); + return holder; + } + var hunkHelpers = function() { + var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex, false); + }; + }, + mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { + return function(container, getterName, name, funType) { + return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); + }; + }; + return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags}; + }(); + function initializeDeferredHunk(hunk) { + typesOffset = init.types.length; + hunk(hunkHelpers, init, holders, $); + } + var J = { + makeDispatchRecord(interceptor, proto, extension, indexability) { + return {i: interceptor, p: proto, e: extension, x: indexability}; + }, + getNativeInterceptor(object) { + var proto, objectProto, $constructor, interceptor, t1, + record = object[init.dispatchPropertyName]; + if (record == null) + if ($.initNativeDispatchFlag == null) { + A.initNativeDispatch(); + record = object[init.dispatchPropertyName]; + } + if (record != null) { + proto = record.p; + if (false === proto) + return record.i; + if (true === proto) + return object; + objectProto = Object.getPrototypeOf(object); + if (proto === objectProto) + return record.i; + if (record.e === objectProto) + throw A.wrapException(A.UnimplementedError$("Return interceptor for " + A.S(proto(object, record)))); + } + $constructor = object.constructor; + if ($constructor == null) + interceptor = null; + else { + t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + if (t1 == null) + t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); + interceptor = $constructor[t1]; + } + if (interceptor != null) + return interceptor; + interceptor = A.lookupAndCacheInterceptor(object); + if (interceptor != null) + return interceptor; + if (typeof object == "function") + return B.JavaScriptFunction_methods; + proto = Object.getPrototypeOf(object); + if (proto == null) + return B.PlainJavaScriptObject_methods; + if (proto === Object.prototype) + return B.PlainJavaScriptObject_methods; + if (typeof $constructor == "function") { + t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + if (t1 == null) + t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js"); + Object.defineProperty($constructor, t1, {value: B.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true}); + return B.UnknownJavaScriptObject_methods; + } + return B.UnknownJavaScriptObject_methods; + }, + JSArray_JSArray$fixed($length, $E) { + if ($length < 0 || $length > 4294967295) + throw A.wrapException(A.RangeError$range($length, 0, 4294967295, "length", null)); + return J.JSArray_JSArray$markFixed(new Array($length), $E); + }, + JSArray_JSArray$growable($length, $E) { + if ($length < 0) + throw A.wrapException(A.ArgumentError$("Length must be a non-negative integer: " + $length, null)); + return A._setArrayType(new Array($length), $E._eval$1("JSArray<0>")); + }, + JSArray_JSArray$markFixed(allocation, $E) { + var t1 = A._setArrayType(allocation, $E._eval$1("JSArray<0>")); + t1.$flags = 1; + return t1; + }, + JSArray__compareAny(a, b) { + var t1 = type$.Comparable_dynamic; + return J.compareTo$1$ns(t1._as(a), t1._as(b)); + }, + JSString__isWhitespace(codeUnit) { + if (codeUnit < 256) + switch (codeUnit) { + case 9: + case 10: + case 11: + case 12: + case 13: + case 32: + case 133: + case 160: + return true; + default: + return false; + } + switch (codeUnit) { + case 5760: + case 8192: + case 8193: + case 8194: + case 8195: + case 8196: + case 8197: + case 8198: + case 8199: + case 8200: + case 8201: + case 8202: + case 8232: + case 8233: + case 8239: + case 8287: + case 12288: + case 65279: + return true; + default: + return false; + } + }, + JSString__skipLeadingWhitespace(string, index) { + var t1, codeUnit; + for (t1 = string.length; index < t1;) { + codeUnit = string.charCodeAt(index); + if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit)) + break; + ++index; + } + return index; + }, + JSString__skipTrailingWhitespace(string, index) { + var t1, index0, codeUnit; + for (t1 = string.length; index > 0; index = index0) { + index0 = index - 1; + if (!(index0 < t1)) + return A.ioore(string, index0); + codeUnit = string.charCodeAt(index0); + if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit)) + break; + } + return index; + }, + getInterceptor$(receiver) { + if (typeof receiver == "number") { + if (Math.floor(receiver) == receiver) + return J.JSInt.prototype; + return J.JSNumNotInt.prototype; + } + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return J.JSNull.prototype; + if (typeof receiver == "boolean") + return J.JSBool.prototype; + if (Array.isArray(receiver)) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$asx(receiver) { + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (Array.isArray(receiver)) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$ax(receiver) { + if (receiver == null) + return receiver; + if (Array.isArray(receiver)) + return J.JSArray.prototype; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$ns(receiver) { + if (typeof receiver == "number") + return J.JSNumber.prototype; + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (!(receiver instanceof A.Object)) + return J.UnknownJavaScriptObject.prototype; + return receiver; + }, + getInterceptor$s(receiver) { + if (typeof receiver == "string") + return J.JSString.prototype; + if (receiver == null) + return receiver; + if (!(receiver instanceof A.Object)) + return J.UnknownJavaScriptObject.prototype; + return receiver; + }, + getInterceptor$x(receiver) { + if (receiver == null) + return receiver; + if (typeof receiver != "object") { + if (typeof receiver == "function") + return J.JavaScriptFunction.prototype; + if (typeof receiver == "symbol") + return J.JavaScriptSymbol.prototype; + if (typeof receiver == "bigint") + return J.JavaScriptBigInt.prototype; + return receiver; + } + if (receiver instanceof A.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + get$first$ax(receiver) { + return J.getInterceptor$ax(receiver).get$first(receiver); + }, + get$hashCode$(receiver) { + return J.getInterceptor$(receiver).get$hashCode(receiver); + }, + get$isEmpty$asx(receiver) { + return J.getInterceptor$asx(receiver).get$isEmpty(receiver); + }, + get$iterator$ax(receiver) { + return J.getInterceptor$ax(receiver).get$iterator(receiver); + }, + get$last$ax(receiver) { + return J.getInterceptor$ax(receiver).get$last(receiver); + }, + get$length$asx(receiver) { + return J.getInterceptor$asx(receiver).get$length(receiver); + }, + get$runtimeType$(receiver) { + return J.getInterceptor$(receiver).get$runtimeType(receiver); + }, + $eq$(receiver, a0) { + if (receiver == null) + return a0 == null; + if (typeof receiver != "object") + return a0 != null && receiver === a0; + return J.getInterceptor$(receiver).$eq(receiver, a0); + }, + $index$asx(receiver, a0) { + if (typeof a0 === "number") + if (Array.isArray(receiver) || typeof receiver == "string" || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) + if (a0 >>> 0 === a0 && a0 < receiver.length) + return receiver[a0]; + return J.getInterceptor$asx(receiver).$index(receiver, a0); + }, + $indexSet$ax(receiver, a0, a1) { + return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1); + }, + add$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).add$1(receiver, a0); + }, + allMatches$1$s(receiver, a0) { + return J.getInterceptor$s(receiver).allMatches$1(receiver, a0); + }, + allMatches$2$s(receiver, a0, a1) { + return J.getInterceptor$s(receiver).allMatches$2(receiver, a0, a1); + }, + asByteData$0$x(receiver) { + return J.getInterceptor$x(receiver).asByteData$0(receiver); + }, + asUint8List$2$x(receiver, a0, a1) { + return J.getInterceptor$x(receiver).asUint8List$2(receiver, a0, a1); + }, + cast$1$0$ax(receiver, $T1) { + return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1); + }, + codeUnitAt$1$s(receiver, a0) { + return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0); + }, + compareTo$1$ns(receiver, a0) { + return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0); + }, + elementAt$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); + }, + getRange$2$ax(receiver, a0, a1) { + return J.getInterceptor$ax(receiver).getRange$2(receiver, a0, a1); + }, + map$1$1$ax(receiver, a0, $T1) { + return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1); + }, + matchAsPrefix$2$s(receiver, a0, a1) { + return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1); + }, + setRange$4$ax(receiver, a0, a1, a2, a3) { + return J.getInterceptor$ax(receiver).setRange$4(receiver, a0, a1, a2, a3); + }, + skip$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).skip$1(receiver, a0); + }, + startsWith$1$s(receiver, a0) { + return J.getInterceptor$s(receiver).startsWith$1(receiver, a0); + }, + sublist$2$ax(receiver, a0, a1) { + return J.getInterceptor$ax(receiver).sublist$2(receiver, a0, a1); + }, + take$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).take$1(receiver, a0); + }, + toList$0$ax(receiver) { + return J.getInterceptor$ax(receiver).toList$0(receiver); + }, + toString$0$(receiver) { + return J.getInterceptor$(receiver).toString$0(receiver); + }, + Interceptor: function Interceptor() { + }, + JSBool: function JSBool() { + }, + JSNull: function JSNull() { + }, + JavaScriptObject: function JavaScriptObject() { + }, + LegacyJavaScriptObject: function LegacyJavaScriptObject() { + }, + PlainJavaScriptObject: function PlainJavaScriptObject() { + }, + UnknownJavaScriptObject: function UnknownJavaScriptObject() { + }, + JavaScriptFunction: function JavaScriptFunction() { + }, + JavaScriptBigInt: function JavaScriptBigInt() { + }, + JavaScriptSymbol: function JavaScriptSymbol() { + }, + JSArray: function JSArray(t0) { + this.$ti = t0; + }, + JSArraySafeToStringHook: function JSArraySafeToStringHook() { + }, + JSUnmodifiableArray: function JSUnmodifiableArray(t0) { + this.$ti = t0; + }, + ArrayIterator: function ArrayIterator(t0, t1, t2) { + var _ = this; + _._iterable = t0; + _._length = t1; + _._index = 0; + _._current = null; + _.$ti = t2; + }, + JSNumber: function JSNumber() { + }, + JSInt: function JSInt() { + }, + JSNumNotInt: function JSNumNotInt() { + }, + JSString: function JSString() { + } + }, + A = {JS_CONST: function JS_CONST() { + }, + CastIterable_CastIterable(source, $S, $T) { + if (type$.EfficientLengthIterable_dynamic._is(source)) + return new A._EfficientLengthCastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("_EfficientLengthCastIterable<1,2>")); + return new A.CastIterable(source, $S._eval$1("@<0>")._bind$1($T)._eval$1("CastIterable<1,2>")); + }, + LateError$fieldADI(fieldName) { + return new A.LateError("Field '" + fieldName + "' has been assigned during initialization."); + }, + LateError$fieldNI(fieldName) { + return new A.LateError("Field '" + fieldName + "' has not been initialized."); + }, + LateError$fieldAI(fieldName) { + return new A.LateError("Field '" + fieldName + "' has already been initialized."); + }, + hexDigitValue(char) { + var digit, letter; + A.assertHelper(char <= 65535); + digit = char ^ 48; + if (digit <= 9) + return digit; + letter = char | 32; + if (97 <= letter && letter <= 102) + return letter - 87; + return -1; + }, + SystemHash_combine(hash, value) { + hash = hash + value & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + return hash ^ hash >>> 6; + }, + SystemHash_finish(hash) { + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >>> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + checkNotNullable(value, $name, $T) { + return value; + }, + isToStringVisiting(object) { + var t1, i; + for (t1 = $.toStringVisiting.length, i = 0; i < t1; ++i) + if (object === $.toStringVisiting[i]) + return true; + return false; + }, + SubListIterable$(_iterable, _start, _endOrLength, $E) { + A.RangeError_checkNotNegative(_start, "start"); + if (_endOrLength != null) { + A.RangeError_checkNotNegative(_endOrLength, "end"); + if (_start > _endOrLength) + A.throwExpression(A.RangeError$range(_start, 0, _endOrLength, "start", null)); + } + return new A.SubListIterable(_iterable, _start, _endOrLength, $E._eval$1("SubListIterable<0>")); + }, + MappedIterable_MappedIterable(iterable, $function, $S, $T) { + if (type$.EfficientLengthIterable_dynamic._is(iterable)) + 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>")); + }, + IndexedIterable_IndexedIterable(source, start, $T) { + return new A.EfficientLengthIndexedIterable(source, start, $T._eval$1("EfficientLengthIndexedIterable<0>")); + }, + IterableElementError_noElement() { + return new A.StateError("No element"); + }, + IterableElementError_tooFew() { + return new A.StateError("Too few elements"); + }, + _CastIterableBase: function _CastIterableBase() { + }, + CastIterator: function CastIterator(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + CastIterable: function CastIterable(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + _EfficientLengthCastIterable: function _EfficientLengthCastIterable(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + _CastListBase: function _CastListBase() { + }, + CastList: function CastList(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + LateError: function LateError(t0) { + this.__internal$_message = t0; + }, + CodeUnits: function CodeUnits(t0) { + this._string = t0; + }, + nullFuture_closure: function nullFuture_closure() { + }, + SentinelValue: function SentinelValue() { + }, + EfficientLengthIterable: function EfficientLengthIterable() { + }, + ListIterable: function ListIterable() { + }, + SubListIterable: function SubListIterable(t0, t1, t2, t3) { + var _ = this; + _.__internal$_iterable = t0; + _._start = t1; + _._endOrLength = t2; + _.$ti = t3; + }, + ListIterator: function ListIterator(t0, t1, t2) { + var _ = this; + _.__internal$_iterable = t0; + _.__internal$_length = t1; + _.__internal$_index = 0; + _.__internal$_current = null; + _.$ti = t2; + }, + MappedIterable: function MappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + MappedIterator: function MappedIterator(t0, t1, t2) { + var _ = this; + _.__internal$_current = null; + _._iterator = t0; + _._f = t1; + _.$ti = t2; + }, + MappedListIterable: function MappedListIterable(t0, t1, t2) { + this._source = t0; + 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; + }, + ExpandIterable: function ExpandIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + ExpandIterator: function ExpandIterator(t0, t1, t2, t3) { + var _ = this; + _._iterator = t0; + _._f = t1; + _._currentExpansion = t2; + _.__internal$_current = null; + _.$ti = t3; + }, + 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; + }, + SkipWhileIterable: function SkipWhileIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._f = t1; + this.$ti = t2; + }, + SkipWhileIterator: function SkipWhileIterator(t0, t1, t2) { + var _ = this; + _._iterator = t0; + _._f = t1; + _._hasSkipped = false; + _.$ti = t2; + }, + EmptyIterable: function EmptyIterable(t0) { + this.$ti = t0; + }, + EmptyIterator: function EmptyIterator(t0) { + this.$ti = t0; + }, + WhereTypeIterable: function WhereTypeIterable(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + WhereTypeIterator: function WhereTypeIterator(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + IndexedIterable: function IndexedIterable(t0, t1, t2) { + this._source = t0; + this._start = t1; + this.$ti = t2; + }, + EfficientLengthIndexedIterable: function EfficientLengthIndexedIterable(t0, t1, t2) { + this._source = t0; + this._start = t1; + this.$ti = t2; + }, + IndexedIterator: function IndexedIterator(t0, t1, t2) { + var _ = this; + _._source = t0; + _._start = t1; + _.__internal$_index = -1; + _.$ti = t2; + }, + FixedLengthListMixin: function FixedLengthListMixin() { + }, + UnmodifiableListMixin: function UnmodifiableListMixin() { + }, + UnmodifiableListBase: function UnmodifiableListBase() { + }, + ReversedListIterable: function ReversedListIterable(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + Symbol: function Symbol(t0) { + this.__internal$_name = t0; + }, + __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() { + }, + unminifyOrTag(rawClassName) { + var preserved = init.mangledGlobalNames[rawClassName]; + if (preserved != null) + return preserved; + return rawClassName; + }, + isJsIndexable(object, record) { + var result; + if (record != null) { + result = record.x; + if (result != null) + return result; + } + return type$.JavaScriptIndexingBehavior_dynamic._is(object); + }, + S(value) { + var result; + if (typeof value == "string") + return value; + if (typeof value == "number") { + if (value !== 0) + return "" + value; + } else if (true === value) + return "true"; + else if (false === value) + return "false"; + else if (value == null) + return "null"; + result = J.toString$0$(value); + return result; + }, + Primitives_objectHashCode(object) { + var hash, + property = $.Primitives__identityHashCodeProperty; + if (property == null) + property = $.Primitives__identityHashCodeProperty = Symbol("identityHashCode"); + hash = object[property]; + if (hash == null) { + hash = Math.random() * 0x3fffffff | 0; + object[property] = hash; + } + return hash; + }, + Primitives_parseInt(source, radix) { + var decimalMatch, maxCharCode, digitsPart, t1, i, _null = null, + match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source); + if (match == null) + return _null; + if (3 >= match.length) + return A.ioore(match, 3); + decimalMatch = match[3]; + if (radix == null) { + if (decimalMatch != null) + return parseInt(source, 10); + if (match[2] != null) + return parseInt(source, 16); + return _null; + } + if (radix < 2 || radix > 36) + throw A.wrapException(A.RangeError$range(radix, 2, 36, "radix", _null)); + if (radix === 10 && decimalMatch != null) + return parseInt(source, 10); + if (radix < 10 || decimalMatch == null) { + maxCharCode = radix <= 10 ? 47 + radix : 86 + radix; + A.assertHelper(typeof match[1] == "string"); + digitsPart = match[1]; + for (t1 = digitsPart.length, i = 0; i < t1; ++i) + if ((digitsPart.charCodeAt(i) | 32) > maxCharCode) + return _null; + } + return parseInt(source, radix); + }, + Primitives_objectTypeName(object) { + var interceptor, dispatchName, $constructor, constructorName; + if (object instanceof A.Object) + return A._rtiToString(A.instanceType(object), null); + interceptor = J.getInterceptor$(object); + if (interceptor === B.Interceptor_methods || interceptor === B.JavaScriptObject_methods || type$.UnknownJavaScriptObject._is(object)) { + dispatchName = B.C_JS_CONST(object); + if (dispatchName !== "Object" && dispatchName !== "") + return dispatchName; + $constructor = object.constructor; + if (typeof $constructor == "function") { + constructorName = $constructor.name; + if (typeof constructorName == "string" && constructorName !== "Object" && constructorName !== "") + return constructorName; + } + } + return A._rtiToString(A.instanceType(object), null); + }, + Primitives_safeToString(object) { + var hooks, i, hookResult; + if (object == null || typeof object == "number" || A._isBool(object)) + return J.toString$0$(object); + if (typeof object == "string") + return JSON.stringify(object); + if (object instanceof A.Closure) + return object.toString$0(0); + if (object instanceof A._Record) + return object._toString$1(true); + hooks = $.$get$_safeToStringHooks(); + for (i = 0; i < 1; ++i) { + hookResult = hooks[i].tryFormat$1(object); + if (hookResult != null) + return hookResult; + } + return "Instance of '" + A.Primitives_objectTypeName(object) + "'"; + }, + Primitives_currentUri() { + if (!!self.location) + return self.location.href; + return null; + }, + Primitives__fromCharCodeApply(array) { + var result, i, i0, chunkEnd, + end = array.length; + if (end <= 500) + return String.fromCharCode.apply(null, array); + for (result = "", i = 0; i < end; i = i0) { + i0 = i + 500; + chunkEnd = i0 < end ? i0 : end; + result += String.fromCharCode.apply(null, array.slice(i, chunkEnd)); + } + return result; + }, + Primitives_stringFromCodePoints(codePoints) { + var t1, _i, i, + a = A._setArrayType([], type$.JSArray_int); + for (t1 = codePoints.length, _i = 0; _i < codePoints.length; codePoints.length === t1 || (0, A.throwConcurrentModificationError)(codePoints), ++_i) { + i = codePoints[_i]; + if (!A._isInt(i)) + throw A.wrapException(A.argumentErrorValue(i)); + if (i <= 65535) + B.JSArray_methods.add$1(a, i); + else if (i <= 1114111) { + B.JSArray_methods.add$1(a, 55296 + (B.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023)); + B.JSArray_methods.add$1(a, 56320 + (i & 1023)); + } else + throw A.wrapException(A.argumentErrorValue(i)); + } + return A.Primitives__fromCharCodeApply(a); + }, + Primitives_stringFromCharCodes(charCodes) { + var t1, _i, i; + for (t1 = charCodes.length, _i = 0; _i < t1; ++_i) { + i = charCodes[_i]; + if (!A._isInt(i)) + throw A.wrapException(A.argumentErrorValue(i)); + if (i < 0) + throw A.wrapException(A.argumentErrorValue(i)); + if (i > 65535) + return A.Primitives_stringFromCodePoints(charCodes); + } + return A.Primitives__fromCharCodeApply(charCodes); + }, + Primitives_stringFromNativeUint8List(charCodes, start, end) { + var i, result, i0, chunkEnd; + if (end <= 500 && start === 0 && end === charCodes.length) + return String.fromCharCode.apply(null, charCodes); + for (i = start, result = ""; i < end; i = i0) { + i0 = i + 500; + chunkEnd = i0 < end ? i0 : end; + result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd)); + } + return result; + }, + Primitives_stringFromCharCode(charCode) { + var bits; + if (0 <= charCode) { + if (charCode <= 65535) + return String.fromCharCode(charCode); + if (charCode <= 1114111) { + bits = charCode - 65536; + return String.fromCharCode((B.JSInt_methods._shrOtherPositive$1(bits, 10) | 55296) >>> 0, bits & 1023 | 56320); + } + } + throw A.wrapException(A.RangeError$range(charCode, 0, 1114111, null, null)); + }, + Primitives_lazyAsJsDate(receiver) { + if (receiver.date === void 0) + receiver.date = new Date(receiver._core$_value); + return receiver.date; + }, + Primitives_getYear(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0 : A.Primitives_lazyAsJsDate(receiver).getFullYear() + 0; + }, + Primitives_getMonth(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1 : A.Primitives_lazyAsJsDate(receiver).getMonth() + 1; + }, + Primitives_getDay(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0 : A.Primitives_lazyAsJsDate(receiver).getDate() + 0; + }, + Primitives_getHours(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0 : A.Primitives_lazyAsJsDate(receiver).getHours() + 0; + }, + Primitives_getMinutes(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0 : A.Primitives_lazyAsJsDate(receiver).getMinutes() + 0; + }, + Primitives_getSeconds(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getSeconds() + 0; + }, + Primitives_getMilliseconds(receiver) { + return receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : A.Primitives_lazyAsJsDate(receiver).getMilliseconds() + 0; + }, + Primitives_getWeekday(receiver) { + return B.JSInt_methods.$mod((receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCDay() + 0 : A.Primitives_lazyAsJsDate(receiver).getDay() + 0) + 6, 7) + 1; + }, + Primitives_extractStackTrace(error) { + var jsError = error.$thrownJsError; + if (jsError == null) + return null; + return A.getTraceFromException(jsError); + }, + Primitives_trySetStackTrace(error, stackTrace) { + var jsError; + if (error.$thrownJsError == null) { + jsError = new Error(); + A.initializeExceptionWrapper(error, jsError); + error.$thrownJsError = jsError; + jsError.stack = stackTrace.toString$0(0); + } + }, + iae(argument) { + throw A.wrapException(A.argumentErrorValue(argument)); + }, + ioore(receiver, index) { + if (receiver == null) + J.get$length$asx(receiver); + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + }, + diagnoseIndexError(indexable, index) { + var $length, _s5_ = "index"; + if (!A._isInt(index)) + return new A.ArgumentError(true, index, _s5_, null); + $length = A._asInt(J.get$length$asx(indexable)); + if (index < 0 || index >= $length) + return A.IndexError$withLength(index, $length, indexable, null, _s5_); + return A.RangeError$value(index, _s5_); + }, + diagnoseRangeError(start, end, $length) { + if (start > $length) + return A.RangeError$range(start, 0, $length, "start", null); + if (end != null) + if (end < start || end > $length) + return A.RangeError$range(end, start, $length, "end", null); + return new A.ArgumentError(true, end, "end", null); + }, + argumentErrorValue(object) { + return new A.ArgumentError(true, object, null, null); + }, + wrapException(ex) { + return A.initializeExceptionWrapper(ex, new Error()); + }, + initializeExceptionWrapper(ex, wrapper) { + var t1; + if (ex == null) + ex = new A.TypeError(); + wrapper.dartException = ex; + t1 = A.toStringWrapper; + if ("defineProperty" in Object) { + Object.defineProperty(wrapper, "message", {get: t1}); + wrapper.name = ""; + } else + wrapper.toString = t1; + return wrapper; + }, + toStringWrapper() { + return J.toString$0$(this.dartException); + }, + throwExpression(ex, wrapper) { + throw A.initializeExceptionWrapper(ex, wrapper == null ? new Error() : wrapper); + }, + throwUnsupportedOperation(o, operation, verb) { + var wrapper; + if (operation == null) + operation = 0; + if (verb == null) + verb = 0; + wrapper = Error(); + A.throwExpression(A._diagnoseUnsupportedOperation(o, operation, verb), wrapper); + }, + _diagnoseUnsupportedOperation(o, encodedOperation, encodedVerb) { + var operation, table, tableLength, index, verb, object, flags, article, adjective; + if (typeof encodedOperation == "string") + operation = encodedOperation; + else { + table = "[]=;add;removeWhere;retainWhere;removeRange;setRange;setInt8;setInt16;setInt32;setUint8;setUint16;setUint32;setFloat32;setFloat64".split(";"); + tableLength = table.length; + index = encodedOperation; + if (index > tableLength) { + encodedVerb = index / tableLength | 0; + index %= tableLength; + } + operation = table[index]; + } + verb = typeof encodedVerb == "string" ? encodedVerb : "modify;remove from;add to".split(";")[encodedVerb]; + object = type$.List_dynamic._is(o) ? "list" : "ByteData"; + flags = o.$flags | 0; + article = "a "; + if ((flags & 4) !== 0) + adjective = "constant "; + else if ((flags & 2) !== 0) { + adjective = "unmodifiable "; + article = "an "; + } else + adjective = (flags & 1) !== 0 ? "fixed-length " : ""; + return new A.UnsupportedError("'" + operation + "': Cannot " + verb + " " + article + adjective + object); + }, + throwConcurrentModificationError(collection) { + throw A.wrapException(A.ConcurrentModificationError$(collection)); + }, + TypeErrorDecoder_extractPattern(message) { + var match, $arguments, argumentsExpr, expr, method, receiver; + message = A.quoteStringForRegExp(message.replace(String({}), "$receiver$")); + match = message.match(/\\\$[a-zA-Z]+\\\$/g); + if (match == null) + match = A._setArrayType([], type$.JSArray_String); + $arguments = match.indexOf("\\$arguments\\$"); + argumentsExpr = match.indexOf("\\$argumentsExpr\\$"); + expr = match.indexOf("\\$expr\\$"); + method = match.indexOf("\\$method\\$"); + receiver = match.indexOf("\\$receiver\\$"); + return new A.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver); + }, + TypeErrorDecoder_provokeCallErrorOn(expression) { + return function($expr$) { + var $argumentsExpr$ = "$arguments$"; + try { + $expr$.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }(expression); + }, + TypeErrorDecoder_provokePropertyErrorOn(expression) { + return function($expr$) { + try { + $expr$.$method$; + } catch (e) { + return e.message; + } + }(expression); + }, + JsNoSuchMethodError$(_message, match) { + var t1 = match == null, + t2 = t1 ? null : match.method; + return new A.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); + }, + unwrapException(ex) { + var t1; + if (ex == null) + return new A.NullThrownFromJavaScriptException(ex); + if (ex instanceof A.ExceptionAndStackTrace) { + t1 = ex.dartException; + return A.saveStackTrace(ex, t1 == null ? A._asObject(t1) : t1); + } + if (typeof ex !== "object") + return ex; + if ("dartException" in ex) + return A.saveStackTrace(ex, ex.dartException); + return A._unwrapNonDartException(ex); + }, + saveStackTrace(ex, error) { + if (type$.Error._is(error)) + if (error.$thrownJsError == null) + error.$thrownJsError = ex; + return error; + }, + _unwrapNonDartException(ex) { + var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match; + if (!("message" in ex)) + return ex; + message = ex.message; + if ("number" in ex && typeof ex.number == "number") { + number = ex.number; + ieErrorCode = number & 65535; + if ((B.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) + switch (ieErrorCode) { + case 438: + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + " (Error " + ieErrorCode + ")", null)); + case 445: + case 5007: + A.S(message); + return A.saveStackTrace(ex, new A.NullError()); + } + } + if (ex instanceof TypeError) { + nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern(); + notClosure = $.$get$TypeErrorDecoder_notClosurePattern(); + nullCall = $.$get$TypeErrorDecoder_nullCallPattern(); + nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern(); + undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern(); + undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern(); + nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern(); + $.$get$TypeErrorDecoder_nullLiteralPropertyPattern(); + undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern(); + undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern(); + match = nsme.matchTypeError$1(message); + if (match != null) + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); + else { + match = notClosure.matchTypeError$1(message); + if (match != null) { + match.method = "call"; + return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); + } else if (nullCall.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefCall.matchTypeError$1(message) != null || undefLiteralCall.matchTypeError$1(message) != null || nullProperty.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefProperty.matchTypeError$1(message) != null || undefLiteralProperty.matchTypeError$1(message) != null) { + A._asString(message); + return A.saveStackTrace(ex, new A.NullError()); + } + } + return A.saveStackTrace(ex, new A.UnknownJsTypeError(typeof message == "string" ? message : "")); + } + if (ex instanceof RangeError) { + if (typeof message == "string" && message.indexOf("call stack") !== -1) + return new A.StackOverflowError(); + message = function(ex) { + try { + return String(ex); + } catch (e) { + } + return null; + }(ex); + return A.saveStackTrace(ex, new A.ArgumentError(false, null, null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message)); + } + if (typeof InternalError == "function" && ex instanceof InternalError) + if (typeof message == "string" && message === "too much recursion") + return new A.StackOverflowError(); + return ex; + }, + getTraceFromException(exception) { + var trace; + if (exception instanceof A.ExceptionAndStackTrace) + return exception.stackTrace; + if (exception == null) + return new A._StackTrace(exception); + trace = exception.$cachedTrace; + if (trace != null) + return trace; + trace = new A._StackTrace(exception); + if (typeof exception === "object") + exception.$cachedTrace = trace; + return trace; + }, + objectHashCode(object) { + if (object == null) + return J.get$hashCode$(object); + if (typeof object == "object") + return A.Primitives_objectHashCode(object); + return J.get$hashCode$(object); + }, + fillLiteralMap(keyValuePairs, result) { + var index, index0, index1, + $length = keyValuePairs.length; + for (index = 0; index < $length; index = index1) { + index0 = index + 1; + index1 = index0 + 1; + result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]); + } + return result; + }, + _invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) { + type$.Function._as(closure); + switch (A._asInt(numberOfArguments)) { + case 0: + return closure.call$0(); + case 1: + return closure.call$1(arg1); + case 2: + return closure.call$2(arg1, arg2); + case 3: + return closure.call$3(arg1, arg2, arg3); + case 4: + return closure.call$4(arg1, arg2, arg3, arg4); + } + throw A.wrapException(A.Exception_Exception("Unsupported number of arguments for wrapped closure")); + }, + convertDartClosureToJS(closure, arity) { + var $function; + if (closure == null) + return null; + $function = closure.$identity; + if (!!$function) + return $function; + $function = A.convertDartClosureToJSUncached(closure, arity); + closure.$identity = $function; + return $function; + }, + convertDartClosureToJSUncached(closure, arity) { + var entry; + switch (arity) { + case 0: + entry = closure.call$0; + break; + case 1: + entry = closure.call$1; + break; + case 2: + entry = closure.call$2; + break; + case 3: + entry = closure.call$3; + break; + case 4: + entry = closure.call$4; + break; + default: + entry = null; + } + if (entry != null) + return entry.bind(closure); + return function(closure, arity, invoke) { + return function(a1, a2, a3, a4) { + return invoke(closure, arity, a1, a2, a3, a4); + }; + }(closure, arity, A._invokeClosure); + }, + Closure_fromTearOff(parameters) { + var $name, callName, $function, t1, $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName, + container = parameters.co, + isStatic = parameters.iS, + isIntercepted = parameters.iI, + needsDirectAccess = parameters.nDA, + applyTrampolineIndex = parameters.aI, + funsOrNames = parameters.fs, + callNames = parameters.cs; + A.assertHelper(typeof funsOrNames[0] == "string"); + $name = funsOrNames[0]; + callName = callNames[0]; + $function = container[$name]; + t1 = parameters.fT; + t1.toString; + $prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype); + $prototype.$initialize = $prototype.constructor; + $constructor = isStatic ? function static_tear_off() { + this.$initialize(); + } : function tear_off(a, b) { + this.$initialize(a, b); + }; + $prototype.constructor = $constructor; + $constructor.prototype = $prototype; + $prototype.$_name = $name; + $prototype.$_target = $function; + t2 = !isStatic; + if (t2) + trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess); + else { + $prototype.$static_name = $name; + trampoline = $function; + } + $prototype.$signature = A.Closure__computeSignatureFunction(t1, isStatic, isIntercepted); + $prototype[callName] = trampoline; + for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) { + stub = funsOrNames[i]; + if (typeof stub == "string") { + stub0 = container[stub]; + stubName = stub; + stub = stub0; + } else + stubName = ""; + stubCallName = callNames[i]; + if (stubCallName != null) { + if (t2) + stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess); + $prototype[stubCallName] = stub; + } + if (i === applyTrampolineIndex) + applyTrampoline = stub; + } + $prototype["call*"] = applyTrampoline; + $prototype.$requiredArgCount = parameters.rC; + $prototype.$defaultValues = parameters.dV; + return $constructor; + }, + Closure__computeSignatureFunction(functionType, isStatic, isIntercepted) { + if (typeof functionType == "number") + return functionType; + if (typeof functionType == "string") { + if (isStatic) + throw A.wrapException("Cannot compute signature for static tearoff."); + return function(recipe, evalOnReceiver) { + return function() { + return evalOnReceiver(this, recipe); + }; + }(functionType, A.BoundClosure_evalRecipe); + } + throw A.wrapException("Error in functionType of tearoff"); + }, + Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) { + var getReceiver = A.BoundClosure_receiverOf; + switch (needsDirectAccess ? -1 : arity) { + case 0: + return function(entry, receiverOf) { + return function() { + return receiverOf(this)[entry](); + }; + }(stubName, getReceiver); + case 1: + return function(entry, receiverOf) { + return function(a) { + return receiverOf(this)[entry](a); + }; + }(stubName, getReceiver); + case 2: + return function(entry, receiverOf) { + return function(a, b) { + return receiverOf(this)[entry](a, b); + }; + }(stubName, getReceiver); + case 3: + return function(entry, receiverOf) { + return function(a, b, c) { + return receiverOf(this)[entry](a, b, c); + }; + }(stubName, getReceiver); + case 4: + return function(entry, receiverOf) { + return function(a, b, c, d) { + return receiverOf(this)[entry](a, b, c, d); + }; + }(stubName, getReceiver); + case 5: + return function(entry, receiverOf) { + return function(a, b, c, d, e) { + return receiverOf(this)[entry](a, b, c, d, e); + }; + }(stubName, getReceiver); + default: + return function(f, receiverOf) { + return function() { + return f.apply(receiverOf(this), arguments); + }; + }($function, getReceiver); + } + }, + Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) { + if (isIntercepted) + return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess); + return A.Closure_cspForwardCall($function.length, needsDirectAccess, stubName, $function); + }, + Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) { + var getReceiver = A.BoundClosure_receiverOf, + getInterceptor = A.BoundClosure_interceptorOf; + switch (needsDirectAccess ? -1 : arity) { + case 0: + throw A.wrapException(new A.RuntimeError("Intercepted function with no arguments.")); + case 1: + return function(entry, interceptorOf, receiverOf) { + return function() { + return interceptorOf(this)[entry](receiverOf(this)); + }; + }(stubName, getInterceptor, getReceiver); + case 2: + return function(entry, interceptorOf, receiverOf) { + return function(a) { + return interceptorOf(this)[entry](receiverOf(this), a); + }; + }(stubName, getInterceptor, getReceiver); + case 3: + return function(entry, interceptorOf, receiverOf) { + return function(a, b) { + return interceptorOf(this)[entry](receiverOf(this), a, b); + }; + }(stubName, getInterceptor, getReceiver); + case 4: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c); + }; + }(stubName, getInterceptor, getReceiver); + case 5: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c, d) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c, d); + }; + }(stubName, getInterceptor, getReceiver); + case 6: + return function(entry, interceptorOf, receiverOf) { + return function(a, b, c, d, e) { + return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e); + }; + }(stubName, getInterceptor, getReceiver); + default: + return function(f, interceptorOf, receiverOf) { + return function() { + var a = [receiverOf(this)]; + Array.prototype.push.apply(a, arguments); + return f.apply(interceptorOf(this), a); + }; + }($function, getInterceptor, getReceiver); + } + }, + Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) { + var arity, t1; + if ($.BoundClosure__interceptorFieldNameCache == null) + $.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed("interceptor"); + if ($.BoundClosure__receiverFieldNameCache == null) + $.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed("receiver"); + arity = $function.length; + t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function); + return t1; + }, + closureFromTearOff(parameters) { + return A.Closure_fromTearOff(parameters); + }, + BoundClosure_evalRecipe(closure, recipe) { + return A._Universe_evalInEnvironment(init.typeUniverse, A.instanceType(closure._receiver), recipe); + }, + BoundClosure_receiverOf(closure) { + return closure._receiver; + }, + BoundClosure_interceptorOf(closure) { + return closure._interceptor; + }, + BoundClosure__computeFieldNamed(fieldName) { + var names, i, $name, + template = new A.BoundClosure("receiver", "interceptor"), + t1 = Object.getOwnPropertyNames(template); + t1.$flags = 1; + names = t1; + for (t1 = names.length, i = 0; i < t1; ++i) { + $name = names[i]; + if (template[$name] === fieldName) + return $name; + } + throw A.wrapException(A.ArgumentError$("Field name " + fieldName + " not found.", null)); + }, + assertTest(condition) { + if (true === condition) + return false; + if (false === condition) + return true; + A._asBool(condition); + return !condition; + }, + assertThrow(message) { + throw A.wrapException(new A._AssertionError(message)); + }, + assertHelper(condition) { + if (A.assertTest(condition)) + throw A.wrapException(A.AssertionError$(null)); + }, + getIsolateAffinityTag($name) { + return init.getIsolateTag($name); + }, + assertInteropArgs(args) { + if (A.assertTest(B.JSArray_methods.every$1(args, new A.assertInteropArgs_closure()))) + A.assertThrow("Dart function requires `allowInterop` to be passed to JavaScript."); + }, + wrapZoneUnaryCallback(callback, $T) { + var t1 = $.Zone__current; + if (t1 === B.C__RootZone) + return callback; + return t1.bindUnaryCallbackGuarded$1$1(callback, $T); + }, + defineProperty(obj, property, value) { + Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); + }, + lookupAndCacheInterceptor(obj) { + var tag, record, interceptor, interceptorClass, altTag, mark, t1; + A.assertHelper(!(obj instanceof A.Object)); + tag = A._asString($.getTagFunction.call$1(obj)); + record = $.dispatchRecordsForInstanceTags[tag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[tag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[tag]; + if (interceptorClass == null) { + altTag = A._asStringQ($.alternateTagFunction.call$2(obj, tag)); + if (altTag != null) { + record = $.dispatchRecordsForInstanceTags[altTag]; + if (record != null) { + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + interceptor = $.interceptorsForUncacheableTags[altTag]; + if (interceptor != null) + return interceptor; + interceptorClass = init.interceptorsByTag[altTag]; + tag = altTag; + } + } + if (interceptorClass == null) + return null; + interceptor = interceptorClass.prototype; + mark = tag[0]; + if (mark === "!") { + record = A.makeLeafDispatchRecord(interceptor); + $.dispatchRecordsForInstanceTags[tag] = record; + Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + return record.i; + } + if (mark === "~") { + $.interceptorsForUncacheableTags[tag] = interceptor; + return interceptor; + } + if (mark === "-") { + t1 = A.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } + if (mark === "+") + return A.patchInteriorProto(obj, interceptor); + if (mark === "*") + throw A.wrapException(A.UnimplementedError$(tag)); + if (init.leafTags[tag] === true) { + t1 = A.makeLeafDispatchRecord(interceptor); + Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true}); + return t1.i; + } else + return A.patchInteriorProto(obj, interceptor); + }, + patchInteriorProto(obj, interceptor) { + var proto = Object.getPrototypeOf(obj); + Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true}); + return interceptor; + }, + makeLeafDispatchRecord(interceptor) { + return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior); + }, + makeDefaultDispatchRecord(tag, interceptorClass, proto) { + var interceptor = interceptorClass.prototype; + if (init.leafTags[tag] === true) + return A.makeLeafDispatchRecord(interceptor); + else + return J.makeDispatchRecord(interceptor, proto, null, null); + }, + initNativeDispatch() { + if (true === $.initNativeDispatchFlag) + return; + $.initNativeDispatchFlag = true; + A.initNativeDispatchContinue(); + }, + initNativeDispatchContinue() { + var map, tags, fun, i, tag, proto, record, interceptorClass; + $.dispatchRecordsForInstanceTags = Object.create(null); + $.interceptorsForUncacheableTags = Object.create(null); + A.initHooks(); + map = init.interceptorsByTag; + tags = Object.getOwnPropertyNames(map); + if (typeof window != "undefined") { + window; + fun = function() { + }; + for (i = 0; i < tags.length; ++i) { + tag = tags[i]; + proto = $.prototypeForTagFunction.call$1(tag); + if (proto != null) { + record = A.makeDefaultDispatchRecord(tag, map[tag], proto); + if (record != null) { + Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true}); + fun.prototype = proto; + } + } + } + } + for (i = 0; i < tags.length; ++i) { + tag = tags[i]; + if (/^[A-Za-z_]/.test(tag)) { + interceptorClass = map[tag]; + map["!" + tag] = interceptorClass; + map["~" + tag] = interceptorClass; + map["-" + tag] = interceptorClass; + map["+" + tag] = interceptorClass; + map["*" + tag] = interceptorClass; + } + } + }, + initHooks() { + var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag, + hooks = B.C_JS_CONST0(); + hooks = A.applyHooksTransformer(B.C_JS_CONST1, A.applyHooksTransformer(B.C_JS_CONST2, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST4, A.applyHooksTransformer(B.C_JS_CONST5, A.applyHooksTransformer(B.C_JS_CONST6(B.C_JS_CONST), hooks))))))); + if (typeof dartNativeDispatchHooksTransformer != "undefined") { + transformers = dartNativeDispatchHooksTransformer; + if (typeof transformers == "function") + transformers = [transformers]; + if (Array.isArray(transformers)) + for (i = 0; i < transformers.length; ++i) { + transformer = transformers[i]; + if (typeof transformer == "function") + hooks = transformer(hooks) || hooks; + } + } + getTag = hooks.getTag; + getUnknownTag = hooks.getUnknownTag; + prototypeForTag = hooks.prototypeForTag; + $.getTagFunction = new A.initHooks_closure(getTag); + $.alternateTagFunction = new A.initHooks_closure0(getUnknownTag); + $.prototypeForTagFunction = new A.initHooks_closure1(prototypeForTag); + }, + applyHooksTransformer(transformer, hooks) { + return transformer(hooks) || hooks; + }, + createRecordTypePredicate(shape, fieldRtis) { + var argumentCount, + $length = fieldRtis.length, + $function = init.rttc["" + $length + ";" + shape]; + if ($function == null) + return null; + if ($length === 0) + return $function; + argumentCount = $function.length; + if ($length === argumentCount) + return $function.apply(null, fieldRtis); + A.assertHelper(argumentCount === 1); + return $function(fieldRtis); + }, + JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, extraFlags) { + var m = multiLine ? "m" : "", + i = caseSensitive ? "" : "i", + u = unicode ? "u" : "", + s = dotAll ? "s" : "", + regexp = function(source, modifiers) { + try { + return new RegExp(source, modifiers); + } catch (e) { + return e; + } + }(source, m + i + u + s + extraFlags); + if (regexp instanceof RegExp) + return regexp; + throw A.wrapException(A.FormatException$("Illegal RegExp pattern (" + String(regexp) + ")", source, null)); + }, + _MatchImplementation$(pattern, _match) { + A.assertHelper(typeof _match.input == "string"); + A.assertHelper(A._isInt(_match.index)); + return new A._MatchImplementation(_match); + }, + stringContainsUnchecked(receiver, other, startIndex) { + var t1; + if (typeof other == "string") + return receiver.indexOf(other, startIndex) >= 0; + else if (other instanceof A.JSSyntaxRegExp) { + t1 = B.JSString_methods.substring$1(receiver, startIndex); + return other._nativeRegExp.test(t1); + } else + return !J.allMatches$1$s(other, B.JSString_methods.substring$1(receiver, startIndex)).get$isEmpty(0); + }, + escapeReplacement(replacement) { + if (replacement.indexOf("$", 0) >= 0) + return replacement.replace(/\$/g, "$$$$"); + return replacement; + }, + stringReplaceFirstRE(receiver, regexp, replacement, startIndex) { + var match = regexp._execGlobal$2(receiver, startIndex); + if (match == null) + return receiver; + return A.stringReplaceRangeUnchecked(receiver, match._match.index, match.get$end(), replacement); + }, + quoteStringForRegExp(string) { + if (/[[\]{}()*+?.\\^$|]/.test(string)) + return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&"); + return string; + }, + stringReplaceAllUnchecked(receiver, pattern, replacement) { + var nativeRegexp; + if (typeof pattern == "string") + return A.stringReplaceAllUncheckedString(receiver, pattern, replacement); + if (pattern instanceof A.JSSyntaxRegExp) { + nativeRegexp = pattern.get$_nativeGlobalVersion(); + nativeRegexp.lastIndex = 0; + return receiver.replace(nativeRegexp, A.escapeReplacement(replacement)); + } + return A.stringReplaceAllGeneral(receiver, pattern, replacement); + }, + stringReplaceAllGeneral(receiver, pattern, replacement) { + var t1, startIndex, t2, match; + for (t1 = J.allMatches$1$s(pattern, receiver), t1 = t1.get$iterator(t1), startIndex = 0, t2 = ""; t1.moveNext$0();) { + match = t1.get$current(); + t2 = t2 + receiver.substring(startIndex, match.get$start()) + replacement; + startIndex = match.get$end(); + } + t1 = t2 + receiver.substring(startIndex); + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + stringReplaceAllUncheckedString(receiver, pattern, replacement) { + var $length, t1, i; + if (pattern === "") { + if (receiver === "") + return replacement; + $length = receiver.length; + for (t1 = replacement, i = 0; i < $length; ++i) + t1 = t1 + receiver[i] + replacement; + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + if (receiver.indexOf(pattern, 0) < 0) + return receiver; + if (receiver.length < 500 || replacement.indexOf("$", 0) >= 0) + return receiver.split(pattern).join(replacement); + return receiver.replace(new RegExp(A.quoteStringForRegExp(pattern), "g"), A.escapeReplacement(replacement)); + }, + stringReplaceFirstUnchecked(receiver, pattern, replacement, startIndex) { + var index, t1, matches, match; + if (typeof pattern == "string") { + index = receiver.indexOf(pattern, startIndex); + if (index < 0) + return receiver; + return A.stringReplaceRangeUnchecked(receiver, index, index + pattern.length, replacement); + } + if (pattern instanceof A.JSSyntaxRegExp) + return startIndex === 0 ? receiver.replace(pattern._nativeRegExp, A.escapeReplacement(replacement)) : A.stringReplaceFirstRE(receiver, pattern, replacement, startIndex); + t1 = J.allMatches$2$s(pattern, receiver, startIndex); + matches = t1.get$iterator(t1); + if (!matches.moveNext$0()) + return receiver; + match = matches.get$current(); + return B.JSString_methods.replaceRange$3(receiver, match.get$start(), match.get$end(), replacement); + }, + stringReplaceRangeUnchecked(receiver, start, end, replacement) { + return receiver.substring(0, start) + replacement + receiver.substring(end); + }, + _Record_2: function _Record_2(t0, t1) { + this._0 = t0; + this._1 = t1; + }, + _Record_2_file_outFlags: function _Record_2_file_outFlags(t0, t1) { + this._0 = t0; + this._1 = t1; + }, + ConstantMap: function ConstantMap() { + }, + ConstantStringMap: function ConstantStringMap(t0, t1, t2) { + this._jsIndex = t0; + this._values = t1; + this.$ti = t2; + }, + _KeysOrValues: function _KeysOrValues(t0, t1) { + this._elements = t0; + this.$ti = t1; + }, + _KeysOrValuesOrElementsIterator: function _KeysOrValuesOrElementsIterator(t0, t1, t2) { + var _ = this; + _._elements = t0; + _.__js_helper$_length = t1; + _.__js_helper$_index = 0; + _.__js_helper$_current = null; + _.$ti = t2; + }, + Instantiation: function Instantiation() { + }, + Instantiation1: function Instantiation1(t0, t1) { + this._genericClosure = t0; + this.$ti = t1; + }, + SafeToStringHook: function SafeToStringHook() { + }, + TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._pattern = t0; + _._arguments = t1; + _._argumentsExpr = t2; + _._expr = t3; + _._method = t4; + _._receiver = t5; + }, + NullError: function NullError() { + }, + JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { + this.__js_helper$_message = t0; + this._method = t1; + this._receiver = t2; + }, + UnknownJsTypeError: function UnknownJsTypeError(t0) { + this.__js_helper$_message = t0; + }, + NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) { + this._irritant = t0; + }, + ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) { + this.dartException = t0; + this.stackTrace = t1; + }, + _StackTrace: function _StackTrace(t0) { + this._exception = t0; + this._trace = null; + }, + Closure: function Closure() { + }, + Closure0Args: function Closure0Args() { + }, + Closure2Args: function Closure2Args() { + }, + TearOffClosure: function TearOffClosure() { + }, + StaticClosure: function StaticClosure() { + }, + BoundClosure: function BoundClosure(t0, t1) { + this._receiver = t0; + this._interceptor = t1; + }, + RuntimeError: function RuntimeError(t0) { + this.message = t0; + }, + _AssertionError: function _AssertionError(t0) { + this.message = t0; + }, + assertInteropArgs_closure: function assertInteropArgs_closure() { + }, + JsLinkedHashMap: function JsLinkedHashMap(t0) { + var _ = this; + _.__js_helper$_length = 0; + _.__js_helper$_last = _.__js_helper$_first = _.__js_helper$_rest = _.__js_helper$_nums = _.__js_helper$_strings = null; + _.__js_helper$_modifications = 0; + _.$ti = t0; + }, + JsLinkedHashMap_addAll_closure: function JsLinkedHashMap_addAll_closure(t0) { + this.$this = t0; + }, + LinkedHashMapCell: function LinkedHashMapCell(t0, t1) { + var _ = this; + _.hashMapCellKey = t0; + _.hashMapCellValue = t1; + _.__js_helper$_previous = _.__js_helper$_next = null; + }, + LinkedHashMapKeysIterable: function LinkedHashMapKeysIterable(t0, t1) { + this.__js_helper$_map = t0; + this.$ti = t1; + }, + LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2, t3) { + var _ = this; + _.__js_helper$_map = t0; + _.__js_helper$_modifications = t1; + _.__js_helper$_cell = t2; + _.__js_helper$_current = null; + _.$ti = t3; + }, + LinkedHashMapValuesIterable: function LinkedHashMapValuesIterable(t0, t1) { + this.__js_helper$_map = t0; + this.$ti = t1; + }, + LinkedHashMapValueIterator: function LinkedHashMapValueIterator(t0, t1, t2, t3) { + var _ = this; + _.__js_helper$_map = t0; + _.__js_helper$_modifications = t1; + _.__js_helper$_cell = t2; + _.__js_helper$_current = null; + _.$ti = t3; + }, + LinkedHashMapEntriesIterable: function LinkedHashMapEntriesIterable(t0, t1) { + this.__js_helper$_map = t0; + this.$ti = t1; + }, + LinkedHashMapEntryIterator: function LinkedHashMapEntryIterator(t0, t1, t2, t3) { + var _ = this; + _.__js_helper$_map = t0; + _.__js_helper$_modifications = t1; + _.__js_helper$_cell = t2; + _.__js_helper$_current = null; + _.$ti = t3; + }, + initHooks_closure: function initHooks_closure(t0) { + this.getTag = t0; + }, + initHooks_closure0: function initHooks_closure0(t0) { + this.getUnknownTag = t0; + }, + initHooks_closure1: function initHooks_closure1(t0) { + this.prototypeForTag = t0; + }, + _Record: function _Record() { + }, + _Record2: function _Record2() { + }, + JSSyntaxRegExp: function JSSyntaxRegExp(t0, t1) { + var _ = this; + _.pattern = t0; + _._nativeRegExp = t1; + _._hasCapturesCache = _._nativeAnchoredRegExp = _._nativeGlobalRegExp = null; + }, + _MatchImplementation: function _MatchImplementation(t0) { + this._match = t0; + }, + _AllMatchesIterable: function _AllMatchesIterable(t0, t1, t2) { + this._re = t0; + this.__js_helper$_string = t1; + this.__js_helper$_start = t2; + }, + _AllMatchesIterator: function _AllMatchesIterator(t0, t1, t2) { + var _ = this; + _._regExp = t0; + _.__js_helper$_string = t1; + _._nextIndex = t2; + _.__js_helper$_current = null; + }, + StringMatch: function StringMatch(t0, t1) { + this.start = t0; + this.pattern = t1; + }, + _StringAllMatchesIterable: function _StringAllMatchesIterable(t0, t1, t2) { + this._input = t0; + this._pattern = t1; + this.__js_helper$_index = t2; + }, + _StringAllMatchesIterator: function _StringAllMatchesIterator(t0, t1, t2) { + var _ = this; + _._input = t0; + _._pattern = t1; + _.__js_helper$_index = t2; + _.__js_helper$_current = null; + }, + throwLateFieldNI(fieldName) { + throw A.initializeExceptionWrapper(A.LateError$fieldNI(fieldName), new Error()); + }, + throwLateFieldAI(fieldName) { + throw A.initializeExceptionWrapper(A.LateError$fieldAI(fieldName), new Error()); + }, + throwLateFieldADI(fieldName) { + throw A.initializeExceptionWrapper(A.LateError$fieldADI(fieldName), new Error()); + }, + _Cell$named(_name) { + var t1 = new A._Cell(_name); + return t1._value = t1; + }, + _Cell: function _Cell(t0) { + this.__late_helper$_name = t0; + this._value = null; + }, + _checkLength($length) { + return $length; + }, + _checkViewArguments(buffer, offsetInBytes, $length) { + }, + _ensureNativeList(list) { + var t1, result, i; + if (type$.JSIndexable_dynamic._is(list)) + return list; + t1 = J.getInterceptor$asx(list); + result = A.List_List$filled(t1.get$length(list), null, false, type$.dynamic); + for (i = 0; i < t1.get$length(list); ++i) + B.JSArray_methods.$indexSet(result, i, t1.$index(list, i)); + return result; + }, + NativeByteData_NativeByteData$view(buffer, offsetInBytes, $length) { + var t1; + A._checkViewArguments(buffer, offsetInBytes, $length); + t1 = new DataView(buffer, offsetInBytes); + return t1; + }, + NativeInt32List_NativeInt32List$view(buffer, offsetInBytes, $length) { + A._checkViewArguments(buffer, offsetInBytes, $length); + $length = B.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 4); + return new Int32Array(buffer, offsetInBytes, $length); + }, + NativeInt8List__create1(arg) { + return new Int8Array(arg); + }, + NativeUint32List_NativeUint32List$view(buffer, offsetInBytes, $length) { + A._checkViewArguments(buffer, offsetInBytes, $length); + return new Uint32Array(buffer, offsetInBytes, $length); + }, + NativeUint8List_NativeUint8List($length) { + return new Uint8Array($length); + }, + NativeUint8List_NativeUint8List$view(buffer, offsetInBytes, $length) { + A._checkViewArguments(buffer, offsetInBytes, $length); + return $length == null ? new Uint8Array(buffer, offsetInBytes) : new Uint8Array(buffer, offsetInBytes, $length); + }, + _checkValidIndex(index, list, $length) { + if (index >>> 0 !== index || index >= $length) + throw A.wrapException(A.diagnoseIndexError(list, index)); + }, + _checkValidRange(start, end, $length) { + var t1; + if (!(start >>> 0 !== start)) + t1 = end >>> 0 !== end || start > end || end > $length; + else + t1 = true; + if (t1) + throw A.wrapException(A.diagnoseRangeError(start, end, $length)); + return end; + }, + NativeByteBuffer: function NativeByteBuffer() { + }, + NativeArrayBuffer: function NativeArrayBuffer() { + }, + NativeTypedData: function NativeTypedData() { + }, + _UnmodifiableNativeByteBufferView: function _UnmodifiableNativeByteBufferView(t0) { + this.__native_typed_data$_data = t0; + }, + NativeByteData: function NativeByteData() { + }, + NativeTypedArray: function NativeTypedArray() { + }, + NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() { + }, + NativeTypedArrayOfInt: function NativeTypedArrayOfInt() { + }, + NativeFloat32List: function NativeFloat32List() { + }, + NativeFloat64List: function NativeFloat64List() { + }, + NativeInt16List: function NativeInt16List() { + }, + NativeInt32List: function NativeInt32List() { + }, + NativeInt8List: function NativeInt8List() { + }, + NativeUint16List: function NativeUint16List() { + }, + NativeUint32List: function NativeUint32List() { + }, + NativeUint8ClampedList: function NativeUint8ClampedList() { + }, + NativeUint8List: function NativeUint8List() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() { + }, + _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() { + }, + Rti__getFutureFromFutureOr(universe, rti) { + var future; + A.assertHelper(rti._kind === 7); + future = rti._precomputed1; + if (future == null) { + A.assertHelper(rti._kind === 7); + future = rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]); + } + return future; + }, + Rti__isUnionOfFunctionType(rti) { + var kind = rti._kind; + if (kind === 6 || kind === 7) + return A.Rti__isUnionOfFunctionType(rti._primary); + return kind === 11 || kind === 12; + }, + Rti__getInterfaceTypeArguments(rti) { + A.assertHelper(rti._kind === 8); + return rti._rest; + }, + Rti__getBindingArguments(rti) { + A.assertHelper(rti._kind === 9); + return rti._rest; + }, + Rti__getRecordFields(rti) { + A.assertHelper(rti._kind === 10); + return rti._rest; + }, + Rti__getGenericFunctionBounds(rti) { + A.assertHelper(rti._kind === 12); + return rti._rest; + }, + Rti__getCanonicalRecipe(rti) { + var s = rti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + return s; + }, + findType(recipe) { + return A._Universe_eval(init.typeUniverse, recipe, false); + }, + instantiatedGenericFunctionType(genericFunctionRti, instantiationRti) { + var bounds, typeArguments, cache, s, key, probe, rti; + if (genericFunctionRti == null) + return null; + bounds = A.Rti__getGenericFunctionBounds(genericFunctionRti); + typeArguments = A.Rti__getInterfaceTypeArguments(instantiationRti); + A.assertHelper(bounds.length === typeArguments.length); + cache = genericFunctionRti._bindCache; + if (cache == null) + cache = genericFunctionRti._bindCache = new Map(); + s = instantiationRti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s; + probe = cache.get(key); + if (probe != null) + return probe; + A.assertHelper(genericFunctionRti._kind === 12); + rti = A._substitute(init.typeUniverse, genericFunctionRti._primary, typeArguments, 0); + cache.set(key, rti); + return rti; + }, + _substitute(universe, rti, typeArguments, depth) { + var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, fields, substitutedFields, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument, + t1 = rti._kind, + kind = t1; + switch (kind) { + case 5: + case 1: + case 2: + case 3: + case 4: + return rti; + case 6: + baseType = rti._primary; + substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true); + case 7: + baseType = rti._primary; + substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + if (substitutedBaseType === baseType) + return rti; + return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true); + case 8: + interfaceTypeArguments = A.Rti__getInterfaceTypeArguments(rti); + substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth); + if (substitutedInterfaceTypeArguments === interfaceTypeArguments) + return rti; + A.assertHelper(rti._kind === 8); + return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments); + case 9: + A.assertHelper(t1 === 9); + base = rti._primary; + substitutedBase = A._substitute(universe, base, typeArguments, depth); + $arguments = A.Rti__getBindingArguments(rti); + substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth); + if (substitutedBase === base && substitutedArguments === $arguments) + return rti; + return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); + case 10: + A.assertHelper(t1 === 10); + t1 = rti._primary; + fields = A.Rti__getRecordFields(rti); + substitutedFields = A._substituteArray(universe, fields, typeArguments, depth); + if (substitutedFields === fields) + return rti; + return A._Universe__lookupRecordRti(universe, t1, substitutedFields); + case 11: + A.assertHelper(t1 === 11); + returnType = rti._primary; + substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth); + A.assertHelper(rti._kind === 11); + functionParameters = rti._rest; + substitutedFunctionParameters = A._substituteFunctionParameters(universe, functionParameters, typeArguments, depth); + if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) + return rti; + return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); + case 12: + bounds = A.Rti__getGenericFunctionBounds(rti); + depth += bounds.length; + substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth); + A.assertHelper(rti._kind === 12); + base = rti._primary; + substitutedBase = A._substitute(universe, base, typeArguments, depth); + if (substitutedBounds === bounds && substitutedBase === base) + return rti; + return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); + case 13: + A.assertHelper(t1 === 13); + index = rti._primary; + if (index < depth) + return rti; + argument = typeArguments[index - depth]; + if (argument == null) + return rti; + return argument; + default: + throw A.wrapException(A.AssertionError$("Attempted to substitute unexpected RTI kind " + kind)); + } + }, + _substituteArray(universe, rtiArray, typeArguments, depth) { + var changed, i, rti, substitutedRti, + $length = rtiArray.length, + result = A._Utils_newArrayOrEmpty($length); + for (changed = false, i = 0; i < $length; ++i) { + rti = rtiArray[i]; + substitutedRti = A._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result[i] = substitutedRti; + } + return changed ? result : rtiArray; + }, + _substituteNamed(universe, namedArray, typeArguments, depth) { + var result, changed, i, t1, t2, rti, substitutedRti, + $length = namedArray.length; + A.assertHelper($length % 3 === 0); + result = A._Utils_newArrayOrEmpty($length); + for (changed = false, i = 0; i < $length; i += 3) { + t1 = namedArray[i]; + t2 = namedArray[i + 1]; + rti = namedArray[i + 2]; + substitutedRti = A._substitute(universe, rti, typeArguments, depth); + if (substitutedRti !== rti) + changed = true; + result.splice(i, 3, t1, t2, substitutedRti); + } + return changed ? result : namedArray; + }, + _substituteFunctionParameters(universe, functionParameters, typeArguments, depth) { + var result, + requiredPositional = functionParameters._requiredPositional, + substitutedRequiredPositional = A._substituteArray(universe, requiredPositional, typeArguments, depth), + optionalPositional = functionParameters._optionalPositional, + substitutedOptionalPositional = A._substituteArray(universe, optionalPositional, typeArguments, depth), + named = functionParameters._named, + substitutedNamed = A._substituteNamed(universe, named, typeArguments, depth); + if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named) + return functionParameters; + result = new A._FunctionParameters(); + result._requiredPositional = substitutedRequiredPositional; + result._optionalPositional = substitutedOptionalPositional; + result._named = substitutedNamed; + return result; + }, + _setArrayType(target, rti) { + A.assertHelper(rti != null); + target[init.arrayRti] = rti; + return target; + }, + closureFunctionType(closure) { + var signature = closure.$signature; + if (signature != null) { + if (typeof signature == "number") + return A.getTypeFromTypesTable(signature); + return closure.$signature(); + } + return null; + }, + instanceOrFunctionType(object, testRti) { + var rti; + if (A.Rti__isUnionOfFunctionType(testRti)) + if (object instanceof A.Closure) { + rti = A.closureFunctionType(object); + if (rti != null) + return rti; + } + return A.instanceType(object); + }, + instanceType(object) { + if (object instanceof A.Object) + return A._instanceType(object); + if (Array.isArray(object)) + return A._arrayInstanceType(object); + return A._instanceTypeFromConstructor(J.getInterceptor$(object)); + }, + _arrayInstanceType(object) { + var rti = object[init.arrayRti], + defaultRti = type$.JSArray_dynamic; + if (rti == null) + return defaultRti; + if (rti.constructor !== defaultRti.constructor) + return defaultRti; + return rti; + }, + _instanceType(object) { + var rti = object.$ti; + return rti != null ? rti : A._instanceTypeFromConstructor(object); + }, + _instanceTypeFromConstructor(instance) { + var $constructor = instance.constructor, + probe = $constructor.$ccache; + if (probe != null) + return probe; + return A._instanceTypeFromConstructorMiss(instance, $constructor); + }, + _instanceTypeFromConstructorMiss(instance, $constructor) { + var effectiveConstructor = instance instanceof A.Closure ? Object.getPrototypeOf(Object.getPrototypeOf(instance)).constructor : $constructor, + rti = A._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name); + $constructor.$ccache = rti; + return rti; + }, + getTypeFromTypesTable(index) { + var rti, + table = init.types, + type = table[index]; + if (typeof type == "string") { + rti = A._Universe_eval(init.typeUniverse, type, false); + table[index] = rti; + return rti; + } + return type; + }, + getRuntimeTypeOfDartObject(object) { + return A.createRuntimeType(A._instanceType(object)); + }, + getRuntimeTypeOfClosure(closure) { + var rti = A.closureFunctionType(closure); + return A.createRuntimeType(rti == null ? A.instanceType(closure) : rti); + }, + _structuralTypeOf(object) { + var functionRti; + if (object instanceof A._Record) + return A.evaluateRtiForRecord(object.$recipe, object._getFieldValues$0()); + functionRti = object instanceof A.Closure ? A.closureFunctionType(object) : null; + if (functionRti != null) + return functionRti; + if (type$.TrustedGetRuntimeType._is(object)) + return J.get$runtimeType$(object)._rti; + if (Array.isArray(object)) + return A._arrayInstanceType(object); + return A.instanceType(object); + }, + createRuntimeType(rti) { + var t1 = rti._cachedRuntimeType, + t2 = t1; + if (t2 == null) { + A.assertHelper(t1 == null); + t1 = rti._cachedRuntimeType = new A._Type(rti); + } else + t1 = t2; + return t1; + }, + evaluateRtiForRecord(recordRecipe, valuesList) { + var bindings, i, + values = valuesList, + $length = values.length; + if ($length === 0) + return type$.Record_0; + if (0 >= $length) + return A.ioore(values, 0); + bindings = A._Universe_evalInEnvironment(init.typeUniverse, A._structuralTypeOf(values[0]), "@<0>"); + for (i = 1; i < $length; ++i) { + if (!(i < values.length)) + return A.ioore(values, i); + bindings = A._Universe_bind(init.typeUniverse, bindings, A._structuralTypeOf(values[i])); + } + return A._Universe_evalInEnvironment(init.typeUniverse, bindings, recordRecipe); + }, + typeLiteral(recipe) { + return A.createRuntimeType(A._Universe_eval(init.typeUniverse, recipe, false)); + }, + _installSpecializedIsTest(object) { + var testRti = this; + testRti._is = A._specializedIsTest(testRti); + return testRti._is(object); + }, + _specializedIsTest(testRti) { + var kind, simpleIsFn, $name, predicate, t1; + if (testRti === type$.Object) + return A._isObject; + if (A.isTopType(testRti)) + return A._isTop; + kind = testRti._kind; + if (kind === 6) + return A._generalNullableIsTestImplementation; + if (kind === 1) + return A._isNever; + if (kind === 7) + return A._isFutureOr; + simpleIsFn = A._simpleSpecializedIsTest(testRti); + if (simpleIsFn != null) + return simpleIsFn; + if (kind === 8) { + A.assertHelper(testRti._kind === 8); + $name = testRti._primary; + if (A.Rti__getInterfaceTypeArguments(testRti).every(A.isTopType)) { + testRti._specializedTestResource = "$is" + $name; + if ($name === "List") + return A._isListTestViaProperty; + if (testRti === type$.JSObject) + return A._isJSObject; + return A._isTestViaProperty; + } + } else if (kind === 10) { + A.assertHelper(testRti._kind === 10); + predicate = A.createRecordTypePredicate(testRti._primary, A.Rti__getRecordFields(testRti)); + t1 = predicate == null ? A._isNever : predicate; + return t1 == null ? A._asObject(t1) : t1; + } + return A._generalIsTestImplementation; + }, + _simpleSpecializedIsTest(testRti) { + if (testRti._kind === 8) { + if (testRti === type$.int) + return A._isInt; + if (testRti === type$.double || testRti === type$.num) + return A._isNum; + if (testRti === type$.String) + return A._isString; + if (testRti === type$.bool) + return A._isBool; + } + return null; + }, + _installSpecializedAsCheck(object) { + var testRti = this, + asFn = A._generalAsCheckImplementation; + if (A.isTopType(testRti)) + asFn = A._asTop; + else if (testRti === type$.Object) + asFn = A._asObject; + else if (A.isNullable(testRti)) { + asFn = A._generalNullableAsCheckImplementation; + if (testRti === type$.nullable_int) + asFn = A._asIntQ; + else if (testRti === type$.nullable_String) + asFn = A._asStringQ; + else if (testRti === type$.nullable_bool) + asFn = A._asBoolQ; + else if (testRti === type$.nullable_num) + asFn = A._asNumQ; + else if (testRti === type$.nullable_double) + asFn = A._asDoubleQ; + else if (testRti === type$.nullable_JSObject) + asFn = A._asJSObjectQ; + } else if (testRti === type$.int) + asFn = A._asInt; + else if (testRti === type$.String) + asFn = A._asString; + else if (testRti === type$.bool) + asFn = A._asBool; + else if (testRti === type$.num) + asFn = A._asNum; + else if (testRti === type$.double) + asFn = A._asDouble; + else if (testRti === type$.JSObject) + asFn = A._asJSObject; + testRti._as = asFn; + return testRti._as(object); + }, + _generalIsTestImplementation(object) { + var testRti = this; + if (object == null) + return A.isNullable(testRti); + return A.isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), testRti); + }, + _generalNullableIsTestImplementation(object) { + var testRti; + if (object == null) + return true; + testRti = this; + A.assertHelper(testRti._kind === 6); + return testRti._primary._is(object); + }, + _isTestViaProperty(object) { + var tag, testRti = this; + if (object == null) + return A.isNullable(testRti); + tag = testRti._specializedTestResource; + if (object instanceof A.Object) + return !!object[tag]; + return !!J.getInterceptor$(object)[tag]; + }, + _isListTestViaProperty(object) { + var tag, testRti = this; + if (object == null) + return A.isNullable(testRti); + if (typeof object != "object") + return false; + if (Array.isArray(object)) + return true; + tag = testRti._specializedTestResource; + if (object instanceof A.Object) + return !!object[tag]; + return !!J.getInterceptor$(object)[tag]; + }, + _isJSObject(object) { + var t1 = this; + if (object == null) + return false; + if (typeof object == "object") { + if (object instanceof A.Object) + return !!object[t1._specializedTestResource]; + return true; + } + if (typeof object == "function") + return true; + return false; + }, + _isJSObjectStandalone(object) { + if (typeof object == "object") { + if (object instanceof A.Object) + return type$.JSObject._is(object); + return true; + } + if (typeof object == "function") + return true; + return false; + }, + _generalAsCheckImplementation(object) { + var testRti = this; + if (object == null) { + if (A.isNullable(testRti)) + return object; + } else if (testRti._is(object)) + return object; + throw A.initializeExceptionWrapper(A._errorForAsCheck(object, testRti), new Error()); + }, + _generalNullableAsCheckImplementation(object) { + var testRti = this; + if (object == null || testRti._is(object)) + return object; + throw A.initializeExceptionWrapper(A._errorForAsCheck(object, testRti), new Error()); + }, + _errorForAsCheck(object, testRti) { + return new A._TypeError("TypeError: " + A._Error_compose(object, A._rtiToString(testRti, null))); + }, + checkTypeBound(type, bound, variable, methodName) { + if (A.isSubtype(init.typeUniverse, type, bound)) + return type; + throw A.initializeExceptionWrapper(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 + "'."), new Error()); + }, + _Error_compose(object, checkedTypeDescription) { + return A.Error_safeToString(object) + ": type '" + A._rtiToString(A._structuralTypeOf(object), null) + "' is not a subtype of type '" + checkedTypeDescription + "'"; + }, + _TypeError$fromMessage(message) { + return new A._TypeError("TypeError: " + message); + }, + _TypeError__TypeError$forType(object, type) { + return new A._TypeError("TypeError: " + A._Error_compose(object, type)); + }, + _isFutureOr(object) { + var testRti = this; + A.assertHelper(testRti._kind === 7); + return testRti._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, testRti)._is(object); + }, + _isObject(object) { + return object != null; + }, + _asObject(object) { + if (object != null) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "Object"), new Error()); + }, + _isTop(object) { + return true; + }, + _asTop(object) { + return object; + }, + _isNever(object) { + return false; + }, + _isBool(object) { + return true === object || false === object; + }, + _asBool(object) { + if (true === object) + return true; + if (false === object) + return false; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool"), new Error()); + }, + _asBoolQ(object) { + if (true === object) + return true; + if (false === object) + return false; + if (object == null) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "bool?"), new Error()); + }, + _asDouble(object) { + if (typeof object == "number") + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "double"), new Error()); + }, + _asDoubleQ(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "double?"), new Error()); + }, + _isInt(object) { + return typeof object == "number" && Math.floor(object) === object; + }, + _asInt(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "int"), new Error()); + }, + _asIntQ(object) { + if (typeof object == "number" && Math.floor(object) === object) + return object; + if (object == null) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "int?"), new Error()); + }, + _isNum(object) { + return typeof object == "number"; + }, + _asNum(object) { + if (typeof object == "number") + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "num"), new Error()); + }, + _asNumQ(object) { + if (typeof object == "number") + return object; + if (object == null) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "num?"), new Error()); + }, + _isString(object) { + return typeof object == "string"; + }, + _asString(object) { + if (typeof object == "string") + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String"), new Error()); + }, + _asStringQ(object) { + if (typeof object == "string") + return object; + if (object == null) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "String?"), new Error()); + }, + _asJSObject(object) { + if (A._isJSObjectStandalone(object)) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "JSObject"), new Error()); + }, + _asJSObjectQ(object) { + if (object == null) + return object; + if (A._isJSObjectStandalone(object)) + return object; + throw A.initializeExceptionWrapper(A._TypeError__TypeError$forType(object, "JSObject?"), new Error()); + }, + _rtiArrayToString(array, genericContext) { + var s, sep, i; + for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ") + s += sep + A._rtiToString(array[i], genericContext); + return s; + }, + _recordRtiToString(recordType, genericContext) { + var partialShape, fields, fieldCount, names, namesIndex, s, comma, i; + A.assertHelper(recordType._kind === 10); + partialShape = recordType._primary; + fields = A.Rti__getRecordFields(recordType); + if ("" === partialShape) + return "(" + A._rtiArrayToString(fields, genericContext) + ")"; + fieldCount = fields.length; + names = partialShape.split(","); + namesIndex = names.length - fieldCount; + for (s = "(", comma = "", i = 0; i < fieldCount; ++i, comma = ", ") { + s += comma; + if (namesIndex === 0) + s += "{"; + s += A._rtiToString(fields[i], genericContext); + if (namesIndex >= 0) + s += " " + names[namesIndex]; + ++namesIndex; + } + return s + "})"; + }, + _functionRtiToString(functionType, genericContext, bounds) { + var boundsLength, offset, i, t1, typeParametersText, typeSep, t2, t3, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ", outerContextLength = null; + if (bounds != null) { + boundsLength = bounds.length; + if (genericContext == null) + genericContext = A._setArrayType([], type$.JSArray_String); + else + outerContextLength = genericContext.length; + offset = genericContext.length; + for (i = boundsLength; i > 0; --i) + B.JSArray_methods.add$1(genericContext, "T" + (offset + i)); + for (t1 = type$.nullable_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) { + t2 = genericContext.length; + t3 = t2 - 1 - i; + if (!(t3 >= 0)) + return A.ioore(genericContext, t3); + typeParametersText = typeParametersText + typeSep + genericContext[t3]; + boundRti = bounds[i]; + kind = boundRti._kind; + if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1)) + typeParametersText += " extends " + A._rtiToString(boundRti, genericContext); + } + typeParametersText += ">"; + } else + typeParametersText = ""; + A.assertHelper(functionType._kind === 11); + t1 = functionType._primary; + A.assertHelper(functionType._kind === 11); + parameters = functionType._rest; + requiredPositional = parameters._requiredPositional; + requiredPositionalLength = requiredPositional.length; + optionalPositional = parameters._optionalPositional; + optionalPositionalLength = optionalPositional.length; + named = parameters._named; + namedLength = named.length; + A.assertHelper(optionalPositionalLength === 0 || namedLength === 0); + returnTypeText = A._rtiToString(t1, genericContext); + for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_) + argumentsText += sep + A._rtiToString(requiredPositional[i], genericContext); + if (optionalPositionalLength > 0) { + argumentsText += sep + "["; + for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_) + argumentsText += sep + A._rtiToString(optionalPositional[i], genericContext); + argumentsText += "]"; + } + if (namedLength > 0) { + argumentsText += sep + "{"; + for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) { + argumentsText += sep; + if (named[i + 1]) + argumentsText += "required "; + argumentsText += A._rtiToString(named[i + 2], genericContext) + " " + named[i]; + } + argumentsText += "}"; + } + if (outerContextLength != null) { + genericContext.toString; + genericContext.length = outerContextLength; + } + return typeParametersText + "(" + argumentsText + ") => " + returnTypeText; + }, + _rtiToString(rti, genericContext) { + var questionArgument, s, argumentKind, $name, $arguments, t2, + t1 = rti._kind, + kind = t1; + if (kind === 5) + return "erased"; + if (kind === 2) + return "dynamic"; + if (kind === 3) + return "void"; + if (kind === 1) + return "Never"; + if (kind === 4) + return "any"; + if (kind === 6) { + A.assertHelper(t1 === 6); + questionArgument = rti._primary; + s = A._rtiToString(questionArgument, genericContext); + argumentKind = questionArgument._kind; + return (argumentKind === 11 || argumentKind === 12 ? "(" + s + ")" : s) + "?"; + } + if (kind === 7) { + A.assertHelper(t1 === 7); + return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">"; + } + if (kind === 8) { + A.assertHelper(t1 === 8); + $name = A._unminifyOrTag(rti._primary); + $arguments = A.Rti__getInterfaceTypeArguments(rti); + return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name; + } + if (kind === 10) + return A._recordRtiToString(rti, genericContext); + if (kind === 11) + return A._functionRtiToString(rti, genericContext, null); + if (kind === 12) { + A.assertHelper(t1 === 12); + return A._functionRtiToString(rti._primary, genericContext, A.Rti__getGenericFunctionBounds(rti)); + } + if (kind === 13) { + genericContext.toString; + A.assertHelper(t1 === 13); + t1 = rti._primary; + t2 = genericContext.length; + t1 = t2 - 1 - t1; + if (!(t1 >= 0 && t1 < t2)) + return A.ioore(genericContext, t1); + return genericContext[t1]; + } + return "?"; + }, + _unminifyOrTag(rawClassName) { + var preserved = init.mangledGlobalNames[rawClassName]; + if (preserved != null) + return preserved; + return rawClassName; + }, + _Universe_findRule(universe, targetType) { + var rule = universe.tR[targetType]; + while (typeof rule == "string") + rule = universe.tR[rule]; + return rule; + }, + _Universe_findErasedType(universe, cls) { + var $length, erased, $arguments, i, $interface, + metadata = universe.eT, + probe = metadata[cls]; + if (probe == null) + return A._Universe_eval(universe, cls, false); + else if (typeof probe == "number") { + $length = probe; + erased = A._Universe__lookupTerminalRti(universe, 5, "#"); + $arguments = A._Utils_newArrayOrEmpty($length); + for (i = 0; i < $length; ++i) + $arguments[i] = erased; + $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments); + metadata[cls] = $interface; + return $interface; + } else + return probe; + }, + _Universe_addRules(universe, rules) { + return A._Utils_objectAssign(universe.tR, rules); + }, + _Universe_addErasedTypes(universe, types) { + return A._Utils_objectAssign(universe.eT, types); + }, + _Universe_eval(universe, recipe, normalize) { + var rti, + cache = universe.eC, + probe = cache.get(recipe); + if (probe != null) + return probe; + rti = A._Parser_parse(A._Parser_create(universe, null, recipe, false)); + cache.set(recipe, rti); + return rti; + }, + _Universe_evalInEnvironment(universe, environment, recipe) { + var probe, rti, + cache = environment._evalCache; + if (cache == null) + cache = environment._evalCache = new Map(); + probe = cache.get(recipe); + if (probe != null) + return probe; + rti = A._Parser_parse(A._Parser_create(universe, environment, recipe, true)); + cache.set(recipe, rti); + return rti; + }, + _Universe_bind(universe, environment, argumentsRti) { + var s, argumentsRecipe, probe, rti, + cache = environment._bindCache; + if (cache == null) + cache = environment._bindCache = new Map(); + s = argumentsRti._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + argumentsRecipe = s; + probe = cache.get(argumentsRecipe); + if (probe != null) + return probe; + rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 9 ? A.Rti__getBindingArguments(argumentsRti) : [argumentsRti]); + cache.set(argumentsRecipe, rti); + return rti; + }, + _Universe__installTypeTests(universe, rti) { + rti._as = A._installSpecializedAsCheck; + rti._is = A._installSpecializedIsTest; + return rti; + }, + _Universe__lookupTerminalRti(universe, kind, key) { + var rti, t1, + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = kind; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupQuestionRti(universe, baseType, normalize) { + var key, probe, t1, + s = baseType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + "?"; + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createQuestionRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createQuestionRti(universe, baseType, key, normalize) { + var baseKind, t1, rti; + if (normalize) { + baseKind = baseType._kind; + t1 = true; + if (!A.isTopType(baseType)) + if (!(baseType === type$.Null || baseType === type$.JSNull)) + if (baseKind !== 6) + if (baseKind === 7) { + A.assertHelper(baseType._kind === 7); + t1 = A.isNullable(baseType._primary); + } else + t1 = false; + if (t1) + return baseType; + else if (baseKind === 1) + return type$.Null; + } + rti = new A.Rti(null, null); + rti._kind = 6; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupFutureOrRti(universe, baseType, normalize) { + var key, probe, t1, + s = baseType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + "/"; + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createFutureOrRti(universe, baseType, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createFutureOrRti(universe, baseType, key, normalize) { + var t1, rti; + if (normalize) { + t1 = baseType._kind; + if (A.isTopType(baseType) || baseType === type$.Object) + return baseType; + else if (t1 === 1) + return A._Universe__lookupInterfaceRti(universe, "Future", [baseType]); + else if (baseType === type$.Null || baseType === type$.JSNull) + return type$.nullable_Future_Null; + } + rti = new A.Rti(null, null); + rti._kind = 7; + rti._primary = baseType; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Universe__lookupGenericFunctionParameterRti(universe, index) { + var rti, t1, + key = "" + index + "^", + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 13; + rti._primary = index; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__canonicalRecipeJoin($arguments) { + var s, sep, i, s0, + $length = $arguments.length; + for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",") { + s0 = $arguments[i]._canonicalRecipe; + if (A.assertTest(typeof s0 == "string")) + A.assertThrow("Missing canonical recipe"); + s += sep + s0; + } + return s; + }, + _Universe__canonicalRecipeJoinNamed($arguments) { + var s, sep, i, t1, nameSep, s0, + $length = $arguments.length; + A.assertHelper($length % 3 === 0); + for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") { + t1 = $arguments[i]; + nameSep = $arguments[i + 1] ? "!" : ":"; + s0 = $arguments[i + 2]._canonicalRecipe; + if (A.assertTest(typeof s0 == "string")) + A.assertThrow("Missing canonical recipe"); + s += sep + t1 + nameSep + s0; + } + return s; + }, + _Universe__lookupInterfaceRti(universe, $name, $arguments) { + var s, probe, rti, t1; + A.assertHelper(typeof $name == "string"); + s = $name; + if ($arguments.length > 0) + s += "<" + A._Universe__canonicalRecipeJoin($arguments) + ">"; + probe = universe.eC.get(s); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 8; + rti._primary = $name; + rti._rest = $arguments; + if ($arguments.length > 0) + rti._precomputed1 = $arguments[0]; + rti._canonicalRecipe = s; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(s, t1); + return t1; + }, + _Universe__lookupBindingRti(universe, base, $arguments) { + var newBase, newArguments, s, key, probe, rti, + t1 = base._kind; + if (t1 === 9) { + A.assertHelper(t1 === 9); + newBase = base._primary; + newArguments = A.Rti__getBindingArguments(base).concat($arguments); + } else { + newArguments = $arguments; + newBase = base; + } + s = newBase._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + (";<" + A._Universe__canonicalRecipeJoin(newArguments) + ">"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 9; + rti._primary = newBase; + rti._rest = newArguments; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupRecordRti(universe, partialShapeTag, fields) { + var rti, t1, + key = "+" + (partialShapeTag + "(" + A._Universe__canonicalRecipeJoin(fields) + ")"), + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 10; + rti._primary = partialShapeTag; + rti._rest = fields; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupFunctionRti(universe, returnType, parameters) { + var requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, recipe, sep, key, probe, rti, t1, + s = returnType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + requiredPositional = parameters._requiredPositional; + requiredPositionalLength = requiredPositional.length; + optionalPositional = parameters._optionalPositional; + optionalPositionalLength = optionalPositional.length; + named = parameters._named; + namedLength = named.length; + A.assertHelper(optionalPositionalLength === 0 || namedLength === 0); + recipe = "(" + A._Universe__canonicalRecipeJoin(requiredPositional); + if (optionalPositionalLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + recipe += sep + "[" + A._Universe__canonicalRecipeJoin(optionalPositional) + "]"; + } + if (namedLength > 0) { + sep = requiredPositionalLength > 0 ? "," : ""; + recipe += sep + "{" + A._Universe__canonicalRecipeJoinNamed(named) + "}"; + } + key = s + (recipe + ")"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + rti = new A.Rti(null, null); + rti._kind = 11; + rti._primary = returnType; + rti._rest = parameters; + rti._canonicalRecipe = key; + t1 = A._Universe__installTypeTests(universe, rti); + universe.eC.set(key, t1); + return t1; + }, + _Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) { + var key, probe, t1, + s = baseFunctionType._canonicalRecipe; + if (A.assertTest(typeof s == "string")) + A.assertThrow("Missing canonical recipe"); + key = s + ("<" + A._Universe__canonicalRecipeJoin(bounds) + ">"); + probe = universe.eC.get(key); + if (probe != null) + return probe; + t1 = A._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize); + universe.eC.set(key, t1); + return t1; + }, + _Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) { + var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti; + if (normalize) { + $length = bounds.length; + typeArguments = A._Utils_newArrayOrEmpty($length); + for (count = 0, i = 0; i < $length; ++i) { + bound = bounds[i]; + if (bound._kind === 1) { + typeArguments[i] = bound; + ++count; + } + } + if (count > 0) { + substitutedBase = A._substitute(universe, baseFunctionType, typeArguments, 0); + substitutedBounds = A._substituteArray(universe, bounds, typeArguments, 0); + return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds); + } + } + rti = new A.Rti(null, null); + rti._kind = 12; + rti._primary = baseFunctionType; + rti._rest = bounds; + rti._canonicalRecipe = key; + return A._Universe__installTypeTests(universe, rti); + }, + _Parser_create(universe, environment, recipe, normalize) { + return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize}; + }, + _Parser_parse(parser) { + var t1, i, ch, t2, t3, u, array, end, item, + source = parser.r, + stack = parser.s; + for (t1 = source.length, i = 0; i < t1;) { + ch = source.charCodeAt(i); + if (ch >= 48 && ch <= 57) + i = A._Parser_handleDigit(i + 1, ch, source, stack); + else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124) + i = A._Parser_handleIdentifier(parser, i, source, stack, false); + else if (ch === 46) + i = A._Parser_handleIdentifier(parser, i, source, stack, true); + else { + ++i; + switch (ch) { + case 44: + break; + case 58: + stack.push(false); + break; + case 33: + stack.push(true); + break; + case 59: + stack.push(A._Parser_toType(parser.u, parser.e, stack.pop())); + break; + case 94: + t2 = parser.u; + t3 = stack.pop(); + A.assertHelper(typeof t3 == "number"); + stack.push(A._Universe__lookupGenericFunctionParameterRti(t2, t3)); + break; + case 35: + stack.push(A._Universe__lookupTerminalRti(parser.u, 5, "#")); + break; + case 64: + stack.push(A._Universe__lookupTerminalRti(parser.u, 2, "@")); + break; + case 126: + stack.push(A._Universe__lookupTerminalRti(parser.u, 3, "~")); + break; + case 60: + stack.push(parser.p); + parser.p = stack.length; + break; + case 62: + A._Parser_handleTypeArguments(parser, stack); + break; + case 38: + A._Parser_handleExtendedOperations(parser, stack); + break; + case 63: + u = parser.u; + stack.push(A._Universe__lookupQuestionRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n)); + break; + case 47: + u = parser.u; + stack.push(A._Universe__lookupFutureOrRti(u, A._Parser_toType(u, parser.e, stack.pop()), parser.n)); + break; + case 40: + stack.push(-3); + stack.push(parser.p); + parser.p = stack.length; + break; + case 41: + A._Parser_handleArguments(parser, stack); + break; + case 91: + stack.push(parser.p); + parser.p = stack.length; + break; + case 93: + array = stack.splice(parser.p); + A._Parser_toTypes(parser.u, parser.e, array); + parser.p = stack.pop(); + stack.push(array); + stack.push(-1); + break; + case 123: + stack.push(parser.p); + parser.p = stack.length; + break; + case 125: + array = stack.splice(parser.p); + A._Parser_toTypesNamed(parser.u, parser.e, array); + parser.p = stack.pop(); + stack.push(array); + stack.push(-2); + break; + case 43: + end = source.indexOf("(", i); + A.assertHelper(end >= 0); + stack.push(source.substring(i, end)); + stack.push(-4); + stack.push(parser.p); + parser.p = stack.length; + i = end + 1; + break; + default: + throw "Bad character " + ch; + } + } + } + item = stack.pop(); + return A._Parser_toType(parser.u, parser.e, item); + }, + _Parser_handleDigit(i, digit, source, stack) { + var t1, ch, + value = digit - 48; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (!(ch >= 48 && ch <= 57)) + break; + value = value * 10 + (ch - 48); + } + stack.push(value); + return i; + }, + _Parser_handleIdentifier(parser, start, source, stack, hasPeriod) { + var t1, ch, t2, string, environment, rule, recipe, + i = start + 1; + for (t1 = source.length; i < t1; ++i) { + ch = source.charCodeAt(i); + if (ch === 46) { + if (hasPeriod) + break; + hasPeriod = true; + } else { + if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124)) + t2 = ch >= 48 && ch <= 57; + else + t2 = true; + if (!t2) + break; + } + } + string = source.substring(start, i); + if (hasPeriod) { + t1 = parser.u; + environment = parser.e; + t2 = environment._kind; + if (t2 === 9) { + A.assertHelper(t2 === 9); + environment = environment._primary; + } + A.assertHelper(environment._kind === 8); + rule = A._Universe_findRule(t1, environment._primary); + A.assertHelper(rule != null); + recipe = rule[string]; + if (recipe == null) + A.throwExpression('No "' + string + '" in "' + A.Rti__getCanonicalRecipe(environment) + '"'); + stack.push(A._Universe_evalInEnvironment(t1, environment, recipe)); + } else + stack.push(string); + return i; + }, + _Parser_handleTypeArguments(parser, stack) { + var base, + universe = parser.u, + $arguments = A._Parser_collectArray(parser, stack), + head = stack.pop(); + if (typeof head == "string") + stack.push(A._Universe__lookupInterfaceRti(universe, head, $arguments)); + else { + base = A._Parser_toType(universe, parser.e, head); + switch (base._kind) { + case 11: + stack.push(A._Universe__lookupGenericFunctionRti(universe, base, $arguments, parser.n)); + break; + default: + stack.push(A._Universe__lookupBindingRti(universe, base, $arguments)); + break; + } + } + }, + _Parser_handleArguments(parser, stack) { + var requiredPositional, returnType, parameters, + universe = parser.u, + head = stack.pop(), + optionalPositional = null, named = null; + if (typeof head == "number") + switch (head) { + case -1: + optionalPositional = stack.pop(); + break; + case -2: + named = stack.pop(); + break; + default: + stack.push(head); + break; + } + else + stack.push(head); + requiredPositional = A._Parser_collectArray(parser, stack); + head = stack.pop(); + switch (head) { + case -3: + head = stack.pop(); + if (optionalPositional == null) + optionalPositional = universe.sEA; + if (named == null) + named = universe.sEA; + returnType = A._Parser_toType(universe, parser.e, head); + parameters = new A._FunctionParameters(); + parameters._requiredPositional = requiredPositional; + parameters._optionalPositional = optionalPositional; + parameters._named = named; + stack.push(A._Universe__lookupFunctionRti(universe, returnType, parameters)); + return; + case -4: + A.assertHelper(optionalPositional == null); + A.assertHelper(named == null); + head = stack.pop(); + A.assertHelper(typeof head == "string"); + stack.push(A._Universe__lookupRecordRti(universe, head, requiredPositional)); + return; + default: + throw A.wrapException(A.AssertionError$("Unexpected state under `()`: " + A.S(head))); + } + }, + _Parser_handleExtendedOperations(parser, stack) { + var $top = stack.pop(); + if (0 === $top) { + stack.push(A._Universe__lookupTerminalRti(parser.u, 1, "0&")); + return; + } + if (1 === $top) { + stack.push(A._Universe__lookupTerminalRti(parser.u, 4, "1&")); + return; + } + throw A.wrapException(A.AssertionError$("Unexpected extended operation " + A.S($top))); + }, + _Parser_collectArray(parser, stack) { + var array = stack.splice(parser.p); + A._Parser_toTypes(parser.u, parser.e, array); + parser.p = stack.pop(); + return array; + }, + _Parser_toType(universe, environment, item) { + if (typeof item == "string") + return A._Universe__lookupInterfaceRti(universe, item, universe.sEA); + else if (typeof item == "number") { + environment.toString; + return A._Parser_indexToType(universe, environment, item); + } else + return item; + }, + _Parser_toTypes(universe, environment, items) { + var i, + $length = items.length; + for (i = 0; i < $length; ++i) + items[i] = A._Parser_toType(universe, environment, items[i]); + }, + _Parser_toTypesNamed(universe, environment, items) { + var i, + $length = items.length; + A.assertHelper($length % 3 === 0); + for (i = 2; i < $length; i += 3) + items[i] = A._Parser_toType(universe, environment, items[i]); + }, + _Parser_indexToType(universe, environment, index) { + var typeArguments, len, + t1 = environment._kind, + kind = t1; + if (kind === 9) { + if (index === 0) { + A.assertHelper(t1 === 9); + return environment._primary; + } + typeArguments = A.Rti__getBindingArguments(environment); + len = typeArguments.length; + if (index <= len) + return typeArguments[index - 1]; + index -= len; + A.assertHelper(t1 === 9); + environment = environment._primary; + kind = environment._kind; + } else if (index === 0) + return environment; + if (kind !== 8) + throw A.wrapException(A.AssertionError$("Indexed base must be an interface type")); + typeArguments = A.Rti__getInterfaceTypeArguments(environment); + if (index <= typeArguments.length) + return typeArguments[index - 1]; + throw A.wrapException(A.AssertionError$("Bad index " + index + " for " + environment.toString$0(0))); + }, + isSubtype(universe, s, t) { + 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); + sCache.set(t, result); + } + return result; + }, + _isSubtype(universe, s, sEnv, t, tEnv) { + var sKind, t1, leftTypeVariable, tKind, t2, sBounds, tBounds, sLength, i, sBound, tBound; + if (s === t) + return true; + if (A.isTopType(t)) + return true; + sKind = s._kind; + if (sKind === 4) + return true; + if (A.isTopType(s)) + return false; + t1 = s._kind; + if (t1 === 1) + return true; + leftTypeVariable = sKind === 13; + if (leftTypeVariable) { + A.assertHelper(t1 === 13); + if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv)) + return true; + } + t1 = t._kind; + tKind = t1; + t2 = type$.Null; + if (s === t2 || s === type$.JSNull) { + if (tKind === 7) { + A.assertHelper(t1 === 7); + return A._isSubtype(universe, s, sEnv, t._primary, tEnv); + } + return t === t2 || t === type$.JSNull || tKind === 6; + } + if (t === type$.Object) { + if (sKind === 7) { + A.assertHelper(s._kind === 7); + return A._isSubtype(universe, s._primary, sEnv, t, tEnv); + } + return sKind !== 6; + } + if (sKind === 7) { + A.assertHelper(s._kind === 7); + if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv)) + return false; + return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv); + } + if (sKind === 6) { + if (A._isSubtype(universe, t2, sEnv, t, tEnv)) { + A.assertHelper(s._kind === 6); + t1 = A._isSubtype(universe, s._primary, sEnv, t, tEnv); + } else + t1 = false; + return t1; + } + if (tKind === 7) { + A.assertHelper(t1 === 7); + if (A._isSubtype(universe, s, sEnv, t._primary, tEnv)) + return true; + return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv); + } + if (tKind === 6) { + if (!A._isSubtype(universe, s, sEnv, t2, tEnv)) { + A.assertHelper(t._kind === 6); + t1 = A._isSubtype(universe, s, sEnv, t._primary, tEnv); + } else + t1 = true; + return t1; + } + if (leftTypeVariable) + return false; + t1 = sKind !== 11; + if ((!t1 || sKind === 12) && t === type$.Function) + return true; + t2 = sKind === 10; + if (t2 && t === type$.Record) + return true; + if (tKind === 12) { + if (s === type$.JavaScriptFunction) + return true; + if (sKind !== 12) + return false; + sBounds = A.Rti__getGenericFunctionBounds(s); + tBounds = A.Rti__getGenericFunctionBounds(t); + sLength = sBounds.length; + if (sLength !== tBounds.length) + return false; + sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv); + tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv); + for (i = 0; i < sLength; ++i) { + sBound = sBounds[i]; + tBound = tBounds[i]; + if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv)) + return false; + } + A.assertHelper(s._kind === 12); + t1 = s._primary; + A.assertHelper(t._kind === 12); + return A._isFunctionSubtype(universe, t1, sEnv, t._primary, tEnv); + } + if (tKind === 11) { + if (s === type$.JavaScriptFunction) + return true; + if (t1) + return false; + return A._isFunctionSubtype(universe, s, sEnv, t, tEnv); + } + if (sKind === 8) { + if (tKind !== 8) + return false; + return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv); + } + if (t2 && tKind === 10) + return A._isRecordSubtype(universe, s, sEnv, t, tEnv); + return false; + }, + _isFunctionSubtype(universe, s, sEnv, t, tEnv) { + var t1, sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired; + A.assertHelper(s._kind === 11); + A.assertHelper(t._kind === 11); + A.assertHelper(s._kind === 11); + t1 = s._primary; + A.assertHelper(t._kind === 11); + if (!A._isSubtype(universe, t1, sEnv, t._primary, tEnv)) + return false; + A.assertHelper(s._kind === 11); + sParameters = s._rest; + A.assertHelper(t._kind === 11); + tParameters = t._rest; + sRequiredPositional = sParameters._requiredPositional; + tRequiredPositional = tParameters._requiredPositional; + sRequiredPositionalLength = sRequiredPositional.length; + tRequiredPositionalLength = tRequiredPositional.length; + if (sRequiredPositionalLength > tRequiredPositionalLength) + return false; + requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength; + sOptionalPositional = sParameters._optionalPositional; + tOptionalPositional = tParameters._optionalPositional; + sOptionalPositionalLength = sOptionalPositional.length; + tOptionalPositionalLength = tOptionalPositional.length; + if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength) + return false; + for (i = 0; i < sRequiredPositionalLength; ++i) { + t1 = sRequiredPositional[i]; + if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv)) + return false; + } + for (i = 0; i < requiredPositionalDelta; ++i) { + t1 = sOptionalPositional[i]; + if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv)) + return false; + } + for (i = 0; i < tOptionalPositionalLength; ++i) { + t1 = sOptionalPositional[requiredPositionalDelta + i]; + if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv)) + return false; + } + sNamed = sParameters._named; + tNamed = tParameters._named; + sNamedLength = sNamed.length; + tNamedLength = tNamed.length; + for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) { + tName = tNamed[tIndex]; + for (;;) { + if (sIndex >= sNamedLength) + return false; + sName = sNamed[sIndex]; + sIndex += 3; + if (tName < sName) + return false; + sIsRequired = sNamed[sIndex - 2]; + if (sName < tName) { + if (sIsRequired) + return false; + continue; + } + t1 = tNamed[tIndex + 1]; + if (sIsRequired && !t1) + return false; + t1 = sNamed[sIndex - 1]; + if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv)) + return false; + break; + } + } + while (sIndex < sNamedLength) { + if (sNamed[sIndex + 1]) + return false; + sIndex += 3; + } + return true; + }, + _isInterfaceSubtype(universe, s, sEnv, t, tEnv) { + var sName, tName, t1, rule, recipes, $length, supertypeArgs, i; + A.assertHelper(s._kind === 8); + sName = s._primary; + A.assertHelper(t._kind === 8); + tName = t._primary; + while (t1 = sName === tName, !t1) { + rule = universe.tR[sName]; + if (rule == null) + return false; + if (typeof rule == "string") { + sName = rule; + continue; + } + recipes = rule[tName]; + if (recipes == null) + return false; + $length = recipes.length; + supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA; + for (i = 0; i < $length; ++i) + supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]); + A.assertHelper(t._kind === 8); + return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv); + } + A.assertHelper(t1); + return A._areArgumentsSubtypes(universe, A.Rti__getInterfaceTypeArguments(s), null, sEnv, A.Rti__getInterfaceTypeArguments(t), tEnv); + }, + _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) { + var i, + $length = sArgs.length; + A.assertHelper($length === tArgs.length); + for (i = 0; i < $length; ++i) + if (!A._isSubtype(universe, sArgs[i], sEnv, tArgs[i], tEnv)) + return false; + return true; + }, + _isRecordSubtype(universe, s, sEnv, t, tEnv) { + var t1, i, + sFields = A.Rti__getRecordFields(s), + tFields = A.Rti__getRecordFields(t), + sCount = sFields.length; + if (sCount !== tFields.length) + return false; + A.assertHelper(s._kind === 10); + t1 = s._primary; + A.assertHelper(t._kind === 10); + if (t1 !== t._primary) + return false; + for (i = 0; i < sCount; ++i) + if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv)) + return false; + return true; + }, + isNullable(t) { + var kind = t._kind, + t1 = true; + if (!(t === type$.Null || t === type$.JSNull)) + if (!A.isTopType(t)) + if (kind !== 6) + if (kind === 7) { + A.assertHelper(t._kind === 7); + t1 = A.isNullable(t._primary); + } else + t1 = false; + return t1; + }, + isTopType(t) { + var kind = t._kind; + return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; + }, + _Utils_objectAssign(o, other) { + var i, key, + keys = Object.keys(other), + $length = keys.length; + for (i = 0; i < $length; ++i) { + key = keys[i]; + o[key] = other[key]; + } + }, + _Utils_newArrayOrEmpty($length) { + return $length > 0 ? new Array($length) : init.typeUniverse.sEA; + }, + Rti: function Rti(t0, t1) { + var _ = this; + _._as = t0; + _._is = t1; + _._cachedRuntimeType = _._specializedTestResource = _._isSubtypeCache = _._precomputed1 = null; + _._kind = 0; + _._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null; + }, + _FunctionParameters: function _FunctionParameters() { + this._named = this._optionalPositional = this._requiredPositional = null; + }, + _Type: function _Type(t0) { + this._rti = t0; + }, + _Error: function _Error() { + }, + _TypeError: function _TypeError(t0) { + this._message = t0; + }, + _AsyncRun__initializeScheduleImmediate() { + var t1, div, span; + if (self.scheduleImmediate != null) + return A.async__AsyncRun__scheduleImmediateJsOverride$closure(); + if (self.MutationObserver != null && self.document != null) { + t1 = {}; + div = self.document.createElement("div"); + span = self.document.createElement("span"); + t1.storedCallback = null; + new self.MutationObserver(A.convertDartClosureToJS(new A._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true}); + return new A._AsyncRun__initializeScheduleImmediate_closure(t1, div, span); + } else if (self.setImmediate != null) + return A.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); + return A.async__AsyncRun__scheduleImmediateWithTimer$closure(); + }, + _AsyncRun__scheduleImmediateJsOverride(callback) { + self.scheduleImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithSetImmediate(callback) { + self.setImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0)); + }, + _AsyncRun__scheduleImmediateWithTimer(callback) { + A.Timer__createTimer(B.Duration_0, type$.void_Function._as(callback)); + }, + Timer__createTimer(duration, callback) { + var milliseconds = B.JSInt_methods._tdivFast$1(duration._duration, 1000); + return A._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback); + }, + _TimerImpl$(milliseconds, callback) { + var t1 = new A._TimerImpl(); + t1._TimerImpl$2(milliseconds, callback); + return t1; + }, + _TimerImpl$periodic(milliseconds, callback) { + var t1 = new A._TimerImpl(); + t1._TimerImpl$periodic$2(milliseconds, callback); + return t1; + }, + _makeAsyncAwaitCompleter($T) { + return new A._AsyncAwaitCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>")); + }, + _asyncStartSync(bodyFunction, completer) { + bodyFunction.call$2(0, null); + completer.isSync = true; + return completer._future; + }, + _asyncAwait(object, bodyFunction) { + A._awaitOnObject(object, bodyFunction); + }, + _asyncReturn(object, completer) { + completer.complete$1(object); + }, + _asyncRethrow(object, completer) { + completer.completeError$2(A.unwrapException(object), A.getTraceFromException(object)); + }, + _awaitOnObject(object, bodyFunction) { + var t1, future, + thenCallback = new A._awaitOnObject_closure(bodyFunction), + errorCallback = new A._awaitOnObject_closure0(bodyFunction); + if (object instanceof A._Future) + object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic); + else { + t1 = type$.dynamic; + if (object instanceof A._Future) + object.then$1$2$onError(thenCallback, errorCallback, t1); + else { + future = new A._Future($.Zone__current, type$._Future_dynamic); + future._state = 8; + future._resultOrListeners = object; + future._thenAwait$1$2(thenCallback, errorCallback, t1); + } + } + }, + _wrapJsFunctionForAsync($function) { + var $protected = function(fn, ERROR) { + return function(errorCode, result) { + while (true) { + try { + fn(errorCode, result); + break; + } catch (error) { + result = error; + errorCode = ERROR; + } + } + }; + }($function, 1); + return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic); + }, + _SyncStarIterator__terminatedBody(_1, _2, _3) { + return 0; + }, + AsyncError_defaultStackTrace(error) { + var stackTrace; + if (type$.Error._is(error)) { + stackTrace = error.get$stackTrace(); + if (stackTrace != null) + return stackTrace; + } + return B._StringStackTrace_OdL; + }, + Future_Future(computation, $T) { + var result = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + A.Timer_Timer(B.Duration_0, new A.Future_Future_closure(computation, result)); + return result; + }, + Future_Future$sync(computation, $T) { + var error, stackTrace, exception, t1, t2, t3, t4, result = null; + try { + result = computation.call$0(); + } catch (exception) { + error = A.unwrapException(exception); + stackTrace = A.getTraceFromException(exception); + t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + t2 = error; + t3 = stackTrace; + t4 = A._interceptError(t2, t3); + if (t4 == null) + t2 = new A.AsyncError(t2, t3 == null ? A.AsyncError_defaultStackTrace(t2) : t3); + else + t2 = t4; + t1._asyncCompleteErrorObject$1(t2); + return t1; + } + return $T._eval$1("Future<0>")._is(result) ? result : A._Future$value(result, $T); + }, + Future_Future$value(value, $T) { + var t1 = value == null ? $T._as(value) : value, + t2 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + t2._asyncComplete$1(t1); + return t2; + }, + Future_Future$delayed(duration, $T) { + var result; + if (!$T._is(null)) + throw A.wrapException(A.ArgumentError$value(null, "computation", "The type parameter is not nullable")); + result = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + A.Timer_Timer(duration, new A.Future_Future$delayed_closure(null, result, $T)); + return result; + }, + Future_wait(futures, $T) { + var handleError, future, pos, e, s, t1, t2, exception, t3, t4, _box_0 = {}, cleanUp = null, + eagerError = false, + _future = new A._Future($.Zone__current, $T._eval$1("_Future>")); + _box_0.values = null; + _box_0.remaining = 0; + _box_0.stackTrace = _box_0.error = null; + handleError = new A.Future_wait_handleError(_box_0, cleanUp, eagerError, _future); + try { + for (t1 = J.get$iterator$ax(futures), t2 = type$.Null; t1.moveNext$0();) { + future = t1.get$current(); + pos = _box_0.remaining; + future.then$1$2$onError(new A.Future_wait_closure(_box_0, pos, _future, $T, cleanUp, eagerError), handleError, t2); + ++_box_0.remaining; + } + t1 = _box_0.remaining; + if (t1 === 0) { + t1 = _future; + t1._completeWithValue$1(A._setArrayType([], $T._eval$1("JSArray<0>"))); + return t1; + } + _box_0.values = A.List_List$filled(t1, null, false, $T._eval$1("0?")); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + if (_box_0.remaining === 0 || eagerError) { + t1 = _future; + t2 = e; + t3 = s; + t4 = A._interceptError(t2, t3); + if (t4 == null) + t2 = new A.AsyncError(t2, t3 == null ? A.AsyncError_defaultStackTrace(t2) : t3); + else + t2 = t4; + t1._asyncCompleteErrorObject$1(t2); + return t1; + } else { + _box_0.error = e; + _box_0.stackTrace = s; + } + } + return _future; + }, + _interceptError(error, stackTrace) { + var replacement, t1, t2, + zone = $.Zone__current; + if (zone === B.C__RootZone) + return null; + replacement = zone.errorCallback$2(error, stackTrace); + if (replacement == null) + return null; + t1 = replacement.error; + t2 = replacement.stackTrace; + if (type$.Error._is(t1)) + A.Primitives_trySetStackTrace(t1, t2); + return replacement; + }, + _interceptUserError(error, stackTrace) { + var replacement; + if ($.Zone__current !== B.C__RootZone) { + replacement = A._interceptError(error, stackTrace); + if (replacement != null) + return replacement; + } + if (stackTrace == null) + if (type$.Error._is(error)) { + stackTrace = error.get$stackTrace(); + if (stackTrace == null) { + A.Primitives_trySetStackTrace(error, B._StringStackTrace_OdL); + stackTrace = B._StringStackTrace_OdL; + } + } else + stackTrace = B._StringStackTrace_OdL; + else if (type$.Error._is(error)) + A.Primitives_trySetStackTrace(error, stackTrace); + return new A.AsyncError(error, stackTrace); + }, + _Future$zoneValue(value, _zone, $T) { + var t1 = new A._Future(_zone, $T._eval$1("_Future<0>")); + $T._as(value); + t1._state = 8; + t1._resultOrListeners = value; + return t1; + }, + _Future$value(value, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); + $T._as(value); + t1._state = 8; + t1._resultOrListeners = value; + return t1; + }, + _Future__chainCoreFuture(source, target, sync) { + var t2, t3, t4, ignoreError, listeners, _box_0 = {}, + t1 = _box_0.source = source; + A.assertHelper(target._state <= 3); + for (t2 = type$._Future_dynamic; t3 = t1._state, t4 = (t3 & 4) !== 0, t4; t1 = source) { + A.assertHelper(t4); + source = t2._as(t1._resultOrListeners); + _box_0.source = source; + } + if (t1 === target) { + t2 = A.StackTrace_current(); + target._asyncCompleteErrorObject$1(new A.AsyncError(new A.ArgumentError(true, t1, null, "Cannot complete a future with itself"), t2)); + return; + } + ignoreError = target._state & 1; + t2 = t1._state = t3 | ignoreError; + if ((t2 & 24) === 0) { + listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners); + A.assertHelper(target._state <= 3); + target._state = target._state & 1 | 4; + target._resultOrListeners = t1; + _box_0.source._prependListeners$1(listeners); + return; + } + if (!sync) + if (target._resultOrListeners == null) + t1 = (t2 & 16) === 0 || ignoreError !== 0; + else + t1 = false; + else + t1 = true; + if (t1) { + listeners = target._removeListeners$0(); + target._cloneResult$1(_box_0.source); + A._Future__propagateToListeners(target, listeners); + return; + } + target._setPendingComplete$0(); + target._zone.scheduleMicrotask$1(new A._Future__chainCoreFuture_closure(_box_0, target)); + }, + _Future__propagateToListeners(source, listeners) { + var t2, t3, _box_0, t4, t5, hasError, asyncError, nextListener, nextListener0, sourceResult, t6, zone, previous, oldZone, result, current, _box_1 = {}, + t1 = _box_1.source = source; + for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic;;) { + _box_0 = {}; + A.assertHelper((t1._state & 24) !== 0); + t1 = _box_1.source; + t4 = t1._state; + t5 = (t4 & 16) === 0; + hasError = !t5; + if (listeners == null) { + if (hasError && (t4 & 1) === 0) { + A.assertHelper(hasError); + asyncError = t2._as(t1._resultOrListeners); + _box_1.source._zone.handleUncaughtError$2(asyncError.error, asyncError.stackTrace); + } + return; + } + _box_0.listener = listeners; + nextListener = listeners._nextListener; + for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) { + t1._nextListener = null; + A._Future__propagateToListeners(_box_1.source, t1); + _box_0.listener = nextListener; + nextListener0 = nextListener._nextListener; + } + t4 = _box_1.source; + sourceResult = t4._resultOrListeners; + _box_0.listenerHasError = hasError; + _box_0.listenerValueOrError = sourceResult; + if (t5) { + t6 = t1.state; + t6 = (t6 & 1) !== 0 || (t6 & 15) === 8; + } else + t6 = true; + if (t6) { + zone = t1.result._zone; + if (hasError) { + t1 = t4._zone; + t1 = !(t1 === zone || t1.get$errorZone() === zone.get$errorZone()); + } else + t1 = false; + if (t1) { + t1 = _box_1.source; + A.assertHelper((t1._state & 16) !== 0); + asyncError = t2._as(t1._resultOrListeners); + _box_1.source._zone.handleUncaughtError$2(asyncError.error, asyncError.stackTrace); + return; + } + t1 = $.Zone__current; + if (t1 !== zone) { + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + oldZone = previous; + } else + oldZone = null; + t1 = _box_0.listener.state; + if ((t1 & 15) === 8) + new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); + else if (t5) { + if ((t1 & 1) !== 0) + new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); + } else if ((t1 & 2) !== 0) + new A._Future__propagateToListeners_handleError(_box_1, _box_0).call$0(); + if (oldZone != null) + $.Zone__current = oldZone; + t1 = _box_0.listenerValueOrError; + if (t1 instanceof A._Future) { + t4 = _box_0.listener.$ti; + t4 = t4._eval$1("Future<2>")._is(t1) || !t4._rest[1]._is(t1); + } else + t4 = false; + if (t4) { + result = _box_0.listener.result; + if ((t1._state & 24) !== 0) { + A.assertHelper((result._state & 24) === 0); + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + result._cloneResult$1(t1); + _box_1.source = t1; + continue; + } else + A._Future__chainCoreFuture(t1, result, true); + return; + } + } + result = _box_0.listener.result; + A.assertHelper((result._state & 24) === 0); + current = t3._as(result._resultOrListeners); + result._resultOrListeners = null; + listeners = result._reverseListeners$1(current); + t1 = _box_0.listenerHasError; + t4 = _box_0.listenerValueOrError; + t5 = result._state & 24; + if (!t1) { + result.$ti._precomputed1._as(t4); + A.assertHelper(t5 === 0); + result._state = 8; + result._resultOrListeners = t4; + } else { + t2._as(t4); + A.assertHelper(t5 === 0); + result._state = result._state & 1 | 16; + result._resultOrListeners = t4; + } + _box_1.source = result; + t1 = result; + } + }, + _registerErrorHandler(errorHandler, zone) { + if (type$.dynamic_Function_Object_StackTrace._is(errorHandler)) + return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace); + if (type$.dynamic_Function_Object._is(errorHandler)) + return zone.registerUnaryCallback$2$1(errorHandler, type$.dynamic, type$.Object); + throw A.wrapException(A.ArgumentError$value(errorHandler, "onError", string$.Error_)); + }, + _microtaskLoop() { + var entry, next; + for (entry = $._nextCallback; entry != null; entry = $._nextCallback) { + $._lastPriorityCallback = null; + next = entry.next; + $._nextCallback = next; + if (next == null) + $._lastCallback = null; + entry.callback.call$0(); + } + }, + _startMicrotaskLoop() { + $._isInCallbackLoop = true; + try { + A._microtaskLoop(); + } finally { + $._lastPriorityCallback = null; + $._isInCallbackLoop = false; + if ($._nextCallback != null) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + } + }, + _scheduleAsyncCallback(callback) { + var newEntry = new A._AsyncCallbackEntry(callback), + lastCallback = $._lastCallback; + if (lastCallback == null) { + $._nextCallback = $._lastCallback = newEntry; + if (!$._isInCallbackLoop) + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + } else + $._lastCallback = lastCallback.next = newEntry; + }, + _schedulePriorityAsyncCallback(callback) { + var entry, lastPriorityCallback, next, + t1 = $._nextCallback; + if (t1 == null) { + A._scheduleAsyncCallback(callback); + $._lastPriorityCallback = $._lastCallback; + return; + } + entry = new A._AsyncCallbackEntry(callback); + lastPriorityCallback = $._lastPriorityCallback; + if (lastPriorityCallback == null) { + entry.next = t1; + $._nextCallback = $._lastPriorityCallback = entry; + } else { + next = lastPriorityCallback.next; + entry.next = next; + $._lastPriorityCallback = lastPriorityCallback.next = entry; + if (next == null) + $._lastCallback = entry; + } + }, + scheduleMicrotask(callback) { + var t1, _null = null, + currentZone = $.Zone__current; + if (B.C__RootZone === currentZone) { + A._rootScheduleMicrotask(_null, _null, B.C__RootZone, callback); + return; + } + if (B.C__RootZone === currentZone.get$_scheduleMicrotask().zone) + t1 = B.C__RootZone.get$errorZone() === currentZone.get$errorZone(); + else + t1 = false; + if (t1) { + A._rootScheduleMicrotask(_null, _null, currentZone, currentZone.registerCallback$1$1(callback, type$.void)); + return; + } + t1 = $.Zone__current; + t1.scheduleMicrotask$1(t1.bindCallbackGuarded$1(callback)); + }, + StreamIterator_StreamIterator(stream, $T) { + return new A._StreamIterator(A.checkNotNullable(stream, "stream", type$.Object), $T._eval$1("_StreamIterator<0>")); + }, + StreamController_StreamController(onCancel, onListen, sync, $T) { + var _null = null; + return sync ? new A._SyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_SyncStreamController<0>")) : new A._AsyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_AsyncStreamController<0>")); + }, + _runGuarded(notificationHandler) { + var e, s, exception; + if (notificationHandler == null) + return; + try { + notificationHandler.call$0(); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + $.Zone__current.handleUncaughtError$2(e, s); + } + }, + _ControllerSubscription$(_controller, onData, onError, onDone, cancelOnError, $T) { + var t1 = $.Zone__current, + t2 = cancelOnError ? 1 : 0, + t3 = onError != null ? 32 : 0, + t4 = A._BufferingStreamSubscription__registerDataHandler(t1, onData, $T), + t5 = A._BufferingStreamSubscription__registerErrorHandler(t1, onError), + t6 = onDone == null ? A.async___nullDoneHandler$closure() : onDone; + return new A._ControllerSubscription(_controller, t4, t5, t1.registerCallback$1$1(t6, type$.void), t1, t2 | t3, $T._eval$1("_ControllerSubscription<0>")); + }, + _BufferingStreamSubscription__registerDataHandler(zone, handleData, $T) { + var t1 = handleData == null ? A.async___nullDataHandler$closure() : handleData; + return zone.registerUnaryCallback$2$1(t1, type$.void, $T); + }, + _BufferingStreamSubscription__registerErrorHandler(zone, handleError) { + if (handleError == null) + handleError = A.async___nullErrorHandler$closure(); + if (type$.void_Function_Object_StackTrace._is(handleError)) + return zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace); + if (type$.void_Function_Object._is(handleError)) + return zone.registerUnaryCallback$2$1(handleError, type$.dynamic, type$.Object); + throw A.wrapException(A.ArgumentError$("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.", null)); + }, + _nullDataHandler(value) { + }, + _nullErrorHandler(error, stackTrace) { + A._asObject(error); + type$.StackTrace._as(stackTrace); + $.Zone__current.handleUncaughtError$2(error, stackTrace); + }, + _nullDoneHandler() { + }, + _runUserCode(userCode, onSuccess, onError, $T) { + var error, stackTrace, replacement, exception; + try { + onSuccess.call$1(userCode.call$0()); + } catch (exception) { + error = A.unwrapException(exception); + stackTrace = A.getTraceFromException(exception); + replacement = A._interceptError(error, stackTrace); + if (replacement != null) + onError.call$2(replacement.error, replacement.stackTrace); + else + onError.call$2(error, stackTrace); + } + }, + _cancelAndError(subscription, future, error) { + var cancelFuture = subscription.cancel$0(); + if (cancelFuture !== $.$get$Future__nullFuture()) + cancelFuture.whenComplete$1(new A._cancelAndError_closure(future, error)); + else + future._completeErrorObject$1(error); + }, + _cancelAndErrorClosure(subscription, future) { + return new A._cancelAndErrorClosure_closure(subscription, future); + }, + _cancelAndValue(subscription, future, value) { + var cancelFuture = subscription.cancel$0(); + if (cancelFuture !== $.$get$Future__nullFuture()) + cancelFuture.whenComplete$1(new A._cancelAndValue_closure(future, value)); + else + future._complete$1(value); + }, + _StreamHandlerTransformer$(handleDone, $S, $T) { + return new A._StreamHandlerTransformer(new A._StreamHandlerTransformer_closure(null, null, handleDone, $T, $S), $S._eval$1("@<0>")._bind$1($T)._eval$1("_StreamHandlerTransformer<1,2>")); + }, + Timer_Timer(duration, callback) { + var t1 = $.Zone__current; + if (t1 === B.C__RootZone) + return t1.createTimer$2(duration, callback); + return t1.createTimer$2(duration, t1.bindCallbackGuarded$1(callback)); + }, + _rootHandleUncaughtError($self, $parent, zone, error, stackTrace) { + A._rootHandleError(A._asObject(error), type$.StackTrace._as(stackTrace)); + }, + _rootHandleError(error, stackTrace) { + A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace)); + }, + _rootRun($self, $parent, zone, f, $R) { + var old, t1, previous; + type$.nullable_Zone._as($self); + type$.nullable_ZoneDelegate._as($parent); + type$.Zone._as(zone); + $R._eval$1("0()")._as(f); + t1 = $.Zone__current; + if (t1 === zone) + return f.call$0(); + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + old = previous; + try { + t1 = f.call$0(); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunUnary($self, $parent, zone, f, arg, $R, $T) { + var old, t1, previous; + type$.nullable_Zone._as($self); + type$.nullable_ZoneDelegate._as($parent); + type$.Zone._as(zone); + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + t1 = $.Zone__current; + if (t1 === zone) + return f.call$1(arg); + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + old = previous; + try { + t1 = f.call$1(arg); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, $T1, $T2) { + var old, t1, previous; + type$.nullable_Zone._as($self); + type$.nullable_ZoneDelegate._as($parent); + type$.Zone._as(zone); + $R._eval$1("@<0>")._bind$1($T1)._bind$1($T2)._eval$1("1(2,3)")._as(f); + $T1._as(arg1); + $T2._as(arg2); + t1 = $.Zone__current; + if (t1 === zone) + return f.call$2(arg1, arg2); + A.assertHelper(zone !== t1); + previous = $.Zone__current; + $.Zone__current = zone; + old = previous; + try { + t1 = f.call$2(arg1, arg2); + return t1; + } finally { + $.Zone__current = old; + } + }, + _rootRegisterCallback($self, $parent, zone, f, $R) { + return $R._eval$1("0()")._as(f); + }, + _rootRegisterUnaryCallback($self, $parent, zone, f, $R, $T) { + return $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + }, + _rootRegisterBinaryCallback($self, $parent, zone, f, $R, $T1, $T2) { + return $R._eval$1("@<0>")._bind$1($T1)._bind$1($T2)._eval$1("1(2,3)")._as(f); + }, + _rootErrorCallback($self, $parent, zone, error, stackTrace) { + A._asObject(error); + type$.nullable_StackTrace._as(stackTrace); + return null; + }, + _rootScheduleMicrotask($self, $parent, zone, f) { + var t1, t2; + type$.void_Function._as(f); + if (B.C__RootZone !== zone) { + t1 = B.C__RootZone.get$errorZone(); + t2 = zone.get$errorZone(); + f = t1 !== t2 ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, type$.void); + } + A._scheduleAsyncCallback(f); + }, + _rootCreateTimer($self, $parent, zone, duration, callback) { + type$.Duration._as(duration); + type$.void_Function._as(callback); + return A.Timer__createTimer(duration, B.C__RootZone !== zone ? zone.bindCallback$1$1(callback, type$.void) : callback); + }, + _rootCreatePeriodicTimer($self, $parent, zone, duration, callback) { + var milliseconds; + type$.Duration._as(duration); + type$.void_Function_Timer._as(callback); + if (B.C__RootZone !== zone) + callback = zone.bindUnaryCallback$2$1(callback, type$.void, type$.Timer); + milliseconds = B.JSInt_methods._tdivFast$1(duration._duration, 1000); + return A._TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback); + }, + _rootPrint($self, $parent, zone, line) { + A.printString(A._asString(line)); + }, + _printToZone(line) { + $.Zone__current.print$1(line); + }, + _rootFork($self, $parent, zone, specification, zoneValues) { + var valueMap, t1, handleUncaughtError; + type$.nullable_ZoneSpecification._as(specification); + type$.nullable_Map_of_nullable_Object_and_nullable_Object._as(zoneValues); + $.printToZone = A.async___printToZone$closure(); + if (specification == null) + specification = B._ZoneSpecification_Ipa; + if (zoneValues == null) + valueMap = zone.get$_map(); + else { + t1 = type$.nullable_Object; + valueMap = A.HashMap_HashMap$from(zoneValues, t1, t1); + } + t1 = new A._CustomZone(zone.get$_run(), zone.get$_runUnary(), zone.get$_runBinary(), zone.get$_registerCallback(), zone.get$_registerUnaryCallback(), zone.get$_registerBinaryCallback(), zone.get$_errorCallback(), zone.get$_scheduleMicrotask(), zone.get$_createTimer(), zone.get$_createPeriodicTimer(), zone.get$_print(), zone.get$_fork(), zone.get$_handleUncaughtError(), zone, valueMap); + handleUncaughtError = specification.handleUncaughtError; + if (handleUncaughtError != null) + t1._handleUncaughtError = new A._ZoneFunction(t1, handleUncaughtError, type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace); + return t1; + }, + runZoned(body, zoneValues, $R) { + return A._runZoned(body, zoneValues, null, $R); + }, + _runZoned(body, zoneValues, specification, $R) { + return $.Zone__current.fork$2$specification$zoneValues(specification, zoneValues).run$1$1(body, $R); + }, + _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { + this._box_0 = t0; + }, + _AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) { + this._box_0 = t0; + this.div = t1; + this.span = t2; + }, + _AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) { + this.callback = t0; + }, + _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) { + this.callback = t0; + }, + _TimerImpl: function _TimerImpl() { + this._tick = 0; + }, + _TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) { + this.$this = t0; + this.callback = t1; + }, + _TimerImpl$periodic_closure: function _TimerImpl$periodic_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.milliseconds = t1; + _.start = t2; + _.callback = t3; + }, + _AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) { + this._future = t0; + this.isSync = false; + this.$ti = t1; + }, + _awaitOnObject_closure: function _awaitOnObject_closure(t0) { + this.bodyFunction = t0; + }, + _awaitOnObject_closure0: function _awaitOnObject_closure0(t0) { + this.bodyFunction = t0; + }, + _wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) { + this.$protected = t0; + }, + _SyncStarIterator: function _SyncStarIterator(t0, t1) { + var _ = this; + _._body = t0; + _._suspendedBodies = _._nestedIterator = _._datum = _._async$_current = null; + _.$ti = t1; + }, + _SyncStarIterable: function _SyncStarIterable(t0, t1) { + this._outerHelper = t0; + this.$ti = t1; + }, + AsyncError: function AsyncError(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + _BroadcastStream: function _BroadcastStream(t0, t1) { + this._controller = t0; + this.$ti = t1; + }, + _BroadcastSubscription: function _BroadcastSubscription(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._eventState = 0; + _._async$_previous = _._async$_next = null; + _._controller = t0; + _._async$_onData = t1; + _._onError = t2; + _._onDone = t3; + _._zone = t4; + _._state = t5; + _._pending = _._cancelFuture = null; + _.$ti = t6; + }, + _BroadcastStreamController: function _BroadcastStreamController() { + }, + _SyncBroadcastStreamController: function _SyncBroadcastStreamController(t0, t1, t2) { + var _ = this; + _.onListen = t0; + _.onCancel = t1; + _._state = 0; + _._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null; + _.$ti = t2; + }, + _SyncBroadcastStreamController__sendData_closure: function _SyncBroadcastStreamController__sendData_closure(t0, t1) { + this.$this = t0; + this.data = t1; + }, + _SyncBroadcastStreamController__sendError_closure: function _SyncBroadcastStreamController__sendError_closure(t0, t1, t2) { + this.$this = t0; + this.error = t1; + this.stackTrace = t2; + }, + _SyncBroadcastStreamController__sendDone_closure: function _SyncBroadcastStreamController__sendDone_closure(t0) { + this.$this = t0; + }, + Future_Future_closure: function Future_Future_closure(t0, t1) { + this.computation = t0; + this.result = t1; + }, + Future_Future$delayed_closure: function Future_Future$delayed_closure(t0, t1, t2) { + this.computation = t0; + this.result = t1; + this.T = t2; + }, + Future_wait_handleError: function Future_wait_handleError(t0, t1, t2, t3) { + var _ = this; + _._box_0 = t0; + _.cleanUp = t1; + _.eagerError = t2; + _._future = t3; + }, + Future_wait_closure: function Future_wait_closure(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._box_0 = t0; + _.pos = t1; + _._future = t2; + _.T = t3; + _.cleanUp = t4; + _.eagerError = t5; + }, + _Completer: function _Completer() { + }, + _AsyncCompleter: function _AsyncCompleter(t0, t1) { + this.future = t0; + this.$ti = t1; + }, + _SyncCompleter: function _SyncCompleter(t0, t1) { + this.future = t0; + this.$ti = t1; + }, + _FutureListener: function _FutureListener(t0, t1, t2, t3, t4) { + var _ = this; + _._nextListener = null; + _.result = t0; + _.state = t1; + _.callback = t2; + _.errorCallback = t3; + _.$ti = t4; + }, + _Future: function _Future(t0, t1) { + var _ = this; + _._state = 0; + _._zone = t0; + _._resultOrListeners = null; + _.$ti = t1; + }, + _Future__addListener_closure: function _Future__addListener_closure(t0, t1) { + this.$this = t0; + this.listener = t1; + }, + _Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + _Future__chainCoreFuture_closure: function _Future__chainCoreFuture_closure(t0, t1) { + this._box_0 = t0; + this.target = t1; + }, + _Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) { + this.$this = t0; + this.value = t1; + }, + _Future__asyncCompleteErrorObject_closure: function _Future__asyncCompleteErrorObject_closure(t0, t1) { + this.$this = t0; + this.error = t1; + }, + _Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) { + this._box_0 = t0; + this._box_1 = t1; + this.hasError = t2; + }, + _Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0, t1) { + this.joinedResult = t0; + this.originalSource = t1; + }, + _Future__propagateToListeners_handleWhenCompleteCallback_closure0: function _Future__propagateToListeners_handleWhenCompleteCallback_closure0(t0) { + this.joinedResult = t0; + }, + _Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) { + this._box_0 = t0; + this.sourceResult = t1; + }, + _Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) { + this._box_1 = t0; + this._box_0 = t1; + }, + _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) { + this.callback = t0; + this.next = null; + }, + Stream: function Stream() { + }, + Stream_length_closure: function Stream_length_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + Stream_length_closure0: function Stream_length_closure0(t0, t1) { + this._box_0 = t0; + this.future = t1; + }, + Stream_first_closure: function Stream_first_closure(t0) { + this.future = t0; + }, + Stream_first_closure0: function Stream_first_closure0(t0, t1, t2) { + this.$this = t0; + this.subscription = t1; + this.future = t2; + }, + Stream_firstWhere_closure: function Stream_firstWhere_closure(t0, t1, t2) { + this.$this = t0; + this.orElse = t1; + this.future = t2; + }, + Stream_firstWhere_closure0: function Stream_firstWhere_closure0(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.test = t1; + _.subscription = t2; + _.future = t3; + }, + Stream_firstWhere__closure: function Stream_firstWhere__closure(t0, t1) { + this.test = t0; + this.value = t1; + }, + Stream_firstWhere__closure0: function Stream_firstWhere__closure0(t0, t1, t2) { + this.subscription = t0; + this.future = t1; + this.value = t2; + }, + StreamTransformerBase: function StreamTransformerBase() { + }, + _StreamController: function _StreamController() { + }, + _StreamController__subscribe_closure: function _StreamController__subscribe_closure(t0) { + this.$this = t0; + }, + _StreamController__recordCancel_complete: function _StreamController__recordCancel_complete(t0) { + this.$this = t0; + }, + _SyncStreamControllerDispatch: function _SyncStreamControllerDispatch() { + }, + _AsyncStreamControllerDispatch: function _AsyncStreamControllerDispatch() { + }, + _AsyncStreamController: function _AsyncStreamController(t0, t1, t2, t3, t4) { + var _ = this; + _._varData = null; + _._state = 0; + _._doneFuture = null; + _.onListen = t0; + _.onPause = t1; + _.onResume = t2; + _.onCancel = t3; + _.$ti = t4; + }, + _SyncStreamController: function _SyncStreamController(t0, t1, t2, t3, t4) { + var _ = this; + _._varData = null; + _._state = 0; + _._doneFuture = null; + _.onListen = t0; + _.onPause = t1; + _.onResume = t2; + _.onCancel = t3; + _.$ti = t4; + }, + _ControllerStream: function _ControllerStream(t0, t1) { + this._controller = t0; + this.$ti = t1; + }, + _ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._controller = t0; + _._async$_onData = t1; + _._onError = t2; + _._onDone = t3; + _._zone = t4; + _._state = t5; + _._pending = _._cancelFuture = null; + _.$ti = t6; + }, + _StreamSinkWrapper: function _StreamSinkWrapper(t0, t1) { + this._async$_target = t0; + this.$ti = t1; + }, + _BufferingStreamSubscription: function _BufferingStreamSubscription() { + }, + _BufferingStreamSubscription__sendError_sendError: function _BufferingStreamSubscription__sendError_sendError(t0, t1, t2) { + this.$this = t0; + this.error = t1; + this.stackTrace = t2; + }, + _BufferingStreamSubscription__sendDone_sendDone: function _BufferingStreamSubscription__sendDone_sendDone(t0) { + this.$this = t0; + }, + _StreamImpl: function _StreamImpl() { + }, + _DelayedEvent: function _DelayedEvent() { + }, + _DelayedData: function _DelayedData(t0, t1) { + this.value = t0; + this.next = null; + this.$ti = t1; + }, + _DelayedError: function _DelayedError(t0, t1) { + this.error = t0; + this.stackTrace = t1; + this.next = null; + }, + _DelayedDone: function _DelayedDone() { + }, + _PendingEvents: function _PendingEvents(t0) { + var _ = this; + _._state = 0; + _.lastPendingEvent = _.firstPendingEvent = null; + _.$ti = t0; + }, + _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) { + this.$this = t0; + this.dispatch = t1; + }, + _DoneStreamSubscription: function _DoneStreamSubscription(t0, t1) { + var _ = this; + _._state = 1; + _._zone = t0; + _._onDone = null; + _.$ti = t1; + }, + _StreamIterator: function _StreamIterator(t0, t1) { + var _ = this; + _._subscription = null; + _._stateData = t0; + _._async$_hasValue = false; + _.$ti = t1; + }, + _cancelAndError_closure: function _cancelAndError_closure(t0, t1) { + this.future = t0; + this.error = t1; + }, + _cancelAndErrorClosure_closure: function _cancelAndErrorClosure_closure(t0, t1) { + this.subscription = t0; + this.future = t1; + }, + _cancelAndValue_closure: function _cancelAndValue_closure(t0, t1) { + this.future = t0; + this.value = t1; + }, + _ForwardingStream: function _ForwardingStream() { + }, + _ForwardingStreamSubscription: function _ForwardingStreamSubscription(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._stream = t0; + _._subscription = null; + _._async$_onData = t1; + _._onError = t2; + _._onDone = t3; + _._zone = t4; + _._state = t5; + _._pending = _._cancelFuture = null; + _.$ti = t6; + }, + _MapStream: function _MapStream(t0, t1, t2) { + this._transform = t0; + this._async$_source = t1; + this.$ti = t2; + }, + _EventSinkWrapper: function _EventSinkWrapper(t0, t1) { + this._async$_sink = t0; + this.$ti = t1; + }, + _SinkTransformerStreamSubscription: function _SinkTransformerStreamSubscription(t0, t1, t2, t3, t4, t5) { + var _ = this; + _.___SinkTransformerStreamSubscription__transformerSink_A = $; + _._subscription = null; + _._async$_onData = t0; + _._onError = t1; + _._onDone = t2; + _._zone = t3; + _._state = t4; + _._pending = _._cancelFuture = null; + _.$ti = t5; + }, + _StreamSinkTransformer: function _StreamSinkTransformer() { + }, + _BoundSinkStream: function _BoundSinkStream(t0, t1, t2) { + this._sinkMapper = t0; + this._stream = t1; + this.$ti = t2; + }, + _HandlerEventSink: function _HandlerEventSink(t0, t1, t2, t3, t4) { + var _ = this; + _._handleData = t0; + _._handleError = t1; + _._handleDone = t2; + _._async$_sink = t3; + _.$ti = t4; + }, + _StreamHandlerTransformer: function _StreamHandlerTransformer(t0, t1) { + this._sinkMapper = t0; + this.$ti = t1; + }, + _StreamHandlerTransformer_closure: function _StreamHandlerTransformer_closure(t0, t1, t2, t3, t4) { + var _ = this; + _.handleData = t0; + _.handleError = t1; + _.handleDone = t2; + _.T = t3; + _.S = t4; + }, + _ZoneFunction: function _ZoneFunction(t0, t1, t2) { + this.zone = t0; + this.$function = t1; + this.$ti = t2; + }, + _ZoneSpecification: function _ZoneSpecification(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) { + var _ = this; + _.handleUncaughtError = t0; + _.run = t1; + _.runUnary = t2; + _.runBinary = t3; + _.registerCallback = t4; + _.registerUnaryCallback = t5; + _.registerBinaryCallback = t6; + _.errorCallback = t7; + _.scheduleMicrotask = t8; + _.createTimer = t9; + _.createPeriodicTimer = t10; + _.print = t11; + _.fork = t12; + }, + _ZoneDelegate: function _ZoneDelegate(t0) { + this._delegationTarget = t0; + }, + _Zone: function _Zone() { + }, + _CustomZone: function _CustomZone(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) { + var _ = this; + _._run = t0; + _._runUnary = t1; + _._runBinary = t2; + _._registerCallback = t3; + _._registerUnaryCallback = t4; + _._registerBinaryCallback = t5; + _._errorCallback = t6; + _._scheduleMicrotask = t7; + _._createTimer = t8; + _._createPeriodicTimer = t9; + _._print = t10; + _._fork = t11; + _._handleUncaughtError = t12; + _._delegateCache = null; + _.parent = t13; + _._map = t14; + }, + _CustomZone_bindCallback_closure: function _CustomZone_bindCallback_closure(t0, t1, t2) { + this.$this = t0; + this.registered = t1; + this.R = t2; + }, + _CustomZone_bindUnaryCallback_closure: function _CustomZone_bindUnaryCallback_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.registered = t1; + _.T = t2; + _.R = t3; + }, + _CustomZone_bindCallbackGuarded_closure: function _CustomZone_bindCallbackGuarded_closure(t0, t1) { + this.$this = t0; + this.registered = t1; + }, + _CustomZone_bindUnaryCallbackGuarded_closure: function _CustomZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) { + this.$this = t0; + this.registered = t1; + this.T = t2; + }, + _rootHandleError_closure: function _rootHandleError_closure(t0, t1) { + this.error = t0; + this.stackTrace = t1; + }, + _RootZone: function _RootZone() { + }, + _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1, t2) { + this.$this = t0; + this.f = t1; + this.R = t2; + }, + _RootZone_bindUnaryCallback_closure: function _RootZone_bindUnaryCallback_closure(t0, t1, t2, t3) { + var _ = this; + _.$this = t0; + _.f = t1; + _.T = t2; + _.R = t3; + }, + _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) { + this.$this = t0; + this.f = t1; + }, + _RootZone_bindUnaryCallbackGuarded_closure: function _RootZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) { + this.$this = t0; + this.f = t1; + this.T = t2; + }, + HashMap_HashMap($K, $V) { + return new A._HashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("_HashMap<1,2>")); + }, + _HashMap__getTableEntry(table, key) { + var entry = table[key]; + return entry === table ? null : entry; + }, + _HashMap__setTableEntry(table, key, value) { + if (value == null) + table[key] = table; + else + table[key] = value; + }, + _HashMap__newHashTable() { + var table = Object.create(null); + A._HashMap__setTableEntry(table, "", table); + delete table[""]; + return table; + }, + LinkedHashMap_LinkedHashMap($K, $V) { + return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")); + }, + LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) { + return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(A.fillLiteralMap(keyValuePairs, new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")))); + }, + LinkedHashMap_LinkedHashMap$_empty($K, $V) { + return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>")); + }, + LinkedHashSet_LinkedHashSet$_empty($E) { + return new A._LinkedHashSet($E._eval$1("_LinkedHashSet<0>")); + }, + _LinkedHashSet__newHashTable() { + var table = Object.create(null); + A.assertHelper(table != null); + table[""] = table; + delete table[""]; + return table; + }, + _LinkedHashSetIterator$(_set, _modifications, $E) { + var t1 = new A._LinkedHashSetIterator(_set, _modifications, $E._eval$1("_LinkedHashSetIterator<0>")); + t1._cell = _set._first; + return t1; + }, + HashMap_HashMap$from(other, $K, $V) { + var result = A.HashMap_HashMap($K, $V); + other.forEach$1(0, new A.HashMap_HashMap$from_closure(result, $K, $V)); + return result; + }, + MapBase_mapToString(m) { + var result, t1; + if (A.isToStringVisiting(m)) + return "{...}"; + result = new A.StringBuffer(""); + try { + t1 = {}; + B.JSArray_methods.add$1($.toStringVisiting, m); + result._contents += "{"; + t1.first = true; + m.forEach$1(0, new A.MapBase_mapToString_closure(t1, result)); + result._contents += "}"; + } finally { + A.assertHelper(B.JSArray_methods.get$last($.toStringVisiting) === m); + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + t1 = result._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _HashMap: function _HashMap(t0) { + var _ = this; + _._collection$_length = 0; + _._keys = _._collection$_rest = _._nums = _._strings = null; + _.$ti = t0; + }, + _HashMap_values_closure: function _HashMap_values_closure(t0) { + this.$this = t0; + }, + _IdentityHashMap: function _IdentityHashMap(t0) { + var _ = this; + _._collection$_length = 0; + _._keys = _._collection$_rest = _._nums = _._strings = null; + _.$ti = t0; + }, + _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + _HashMapKeyIterator: function _HashMapKeyIterator(t0, t1, t2) { + var _ = this; + _._collection$_map = t0; + _._keys = t1; + _._offset = 0; + _._collection$_current = null; + _.$ti = t2; + }, + _LinkedHashSet: function _LinkedHashSet(t0) { + var _ = this; + _._collection$_length = 0; + _._collection$_last = _._first = _._collection$_rest = _._nums = _._strings = null; + _._modifications = 0; + _.$ti = t0; + }, + _LinkedHashSetCell: function _LinkedHashSetCell(t0) { + this._element = t0; + this._previous = this._next = null; + }, + _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) { + var _ = this; + _._set = t0; + _._modifications = t1; + _._collection$_current = _._cell = null; + _.$ti = t2; + }, + HashMap_HashMap$from_closure: function HashMap_HashMap$from_closure(t0, t1, t2) { + this.result = t0; + this.K = t1; + this.V = t2; + }, + LinkedList: function LinkedList(t0) { + var _ = this; + _._collection$_length = _._modificationCount = 0; + _._first = null; + _.$ti = t0; + }, + _LinkedListIterator: function _LinkedListIterator(t0, t1, t2, t3) { + var _ = this; + _._list = t0; + _._modificationCount = t1; + _._collection$_current = null; + _._next = t2; + _._visitedFirst = false; + _.$ti = t3; + }, + LinkedListEntry: function LinkedListEntry() { + }, + ListBase: function ListBase() { + }, + MapBase: function MapBase() { + }, + MapBase_entries_closure: function MapBase_entries_closure(t0) { + this.$this = t0; + }, + MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) { + this._box_0 = t0; + this.result = t1; + }, + _MapBaseValueIterable: function _MapBaseValueIterable(t0, t1) { + this._collection$_map = t0; + this.$ti = t1; + }, + _MapBaseValueIterator: function _MapBaseValueIterator(t0, t1, t2) { + var _ = this; + _._keys = t0; + _._collection$_map = t1; + _._collection$_current = null; + _.$ti = t2; + }, + SetBase: function SetBase() { + }, + _SetBase: function _SetBase() { + }, + _Utf8Decoder__makeNativeUint8List(codeUnits, start, end) { + var bytes, t1, i, b, + $length = end - start; + if ($length <= 4096) + bytes = $.$get$_Utf8Decoder__reusableBuffer(); + else + bytes = new Uint8Array($length); + for (t1 = J.getInterceptor$asx(codeUnits), i = 0; i < $length; ++i) { + b = t1.$index(codeUnits, start + i); + if ((b & 255) !== b) + b = 255; + bytes[i] = b; + } + return bytes; + }, + _Utf8Decoder__convertInterceptedUint8List(allowMalformed, codeUnits, start, end) { + var decoder = allowMalformed ? $.$get$_Utf8Decoder__decoderNonfatal() : $.$get$_Utf8Decoder__decoder(); + if (decoder == null) + return null; + if (0 === start && end === codeUnits.length) + return A._Utf8Decoder__useTextDecoder(decoder, codeUnits); + return A._Utf8Decoder__useTextDecoder(decoder, codeUnits.subarray(start, end)); + }, + _Utf8Decoder__useTextDecoder(decoder, codeUnits) { + var t1, exception; + try { + t1 = decoder.decode(codeUnits); + return t1; + } catch (exception) { + } + return null; + }, + Base64Codec__checkPadding(source, sourceIndex, sourceEnd, firstPadding, paddingCount, $length) { + if (B.JSInt_methods.$mod($length, 4) !== 0) + throw A.wrapException(A.FormatException$("Invalid base64 padding, padded length must be multiple of four, is " + $length, source, sourceEnd)); + if (firstPadding + paddingCount !== $length) + throw A.wrapException(A.FormatException$("Invalid base64 padding, '=' not at the end", source, sourceIndex)); + if (paddingCount > 2) + throw A.wrapException(A.FormatException$("Invalid base64 padding, more than two '=' characters", source, sourceIndex)); + }, + _Utf8Decoder_errorDescription(state) { + switch (state) { + case 65: + return "Missing extension byte"; + case 67: + return "Unexpected extension byte"; + case 69: + return "Invalid UTF-8 byte"; + case 71: + return "Overlong encoding"; + case 73: + return "Out of unicode range"; + case 75: + return "Encoded surrogate"; + case 77: + return "Unfinished UTF-8 octet sequence"; + default: + return ""; + } + }, + _Utf8Decoder__decoder_closure: function _Utf8Decoder__decoder_closure() { + }, + _Utf8Decoder__decoderNonfatal_closure: function _Utf8Decoder__decoderNonfatal_closure() { + }, + AsciiCodec: function AsciiCodec() { + }, + _UnicodeSubsetEncoder: function _UnicodeSubsetEncoder() { + }, + AsciiEncoder: function AsciiEncoder(t0) { + this._subsetMask = t0; + }, + Base64Codec: function Base64Codec() { + }, + Base64Encoder: function Base64Encoder() { + }, + Codec: function Codec() { + }, + _FusedCodec: function _FusedCodec(t0, t1, t2) { + this._convert$_first = t0; + this._second = t1; + this.$ti = t2; + }, + Converter: function Converter() { + }, + Encoding: function Encoding() { + }, + Utf8Codec: function Utf8Codec() { + }, + Utf8Encoder: function Utf8Encoder() { + }, + _Utf8Encoder: function _Utf8Encoder(t0) { + this._bufferIndex = this._carry = 0; + this._buffer = t0; + }, + _Utf8Decoder: function _Utf8Decoder(t0) { + this.allowMalformed = t0; + this._convert$_state = 16; + this._charOrIndex = 0; + }, + BigInt_parse(source) { + var result = A._BigIntImpl__tryParse(source, null); + if (result == null) + A.throwExpression(A.FormatException$("Could not parse BigInt", source, null)); + return result; + }, + _BigIntImpl_parse(source, radix) { + var result = A._BigIntImpl__tryParse(source, radix); + if (result == null) + throw A.wrapException(A.FormatException$("Could not parse BigInt", source, null)); + return result; + }, + _BigIntImpl__parseDecimal(source, isNegative) { + var part, i, + result = $.$get$_BigIntImpl_zero(), + t1 = source.length, + digitInPartCount = 4 - t1 % 4; + if (digitInPartCount === 4) + digitInPartCount = 0; + for (part = 0, i = 0; i < t1; ++i) { + part = part * 10 + source.charCodeAt(i) - 48; + ++digitInPartCount; + if (digitInPartCount === 4) { + result = result.$mul(0, $.$get$_BigIntImpl__bigInt10000()).$add(0, A._BigIntImpl__BigIntImpl$_fromInt(part)); + part = 0; + digitInPartCount = 0; + } + } + if (isNegative) + return result.$negate(0); + return result; + }, + _BigIntImpl__codeUnitToRadixValue(codeUnit) { + if (48 <= codeUnit && codeUnit <= 57) + return codeUnit - 48; + return (codeUnit | 32) - 97 + 10; + }, + _BigIntImpl__parseHex(source, startPos, isNegative) { + var i, chunk, j, i0, digitValue, digitIndex, digitIndex0, + t1 = source.length, + sourceLength = t1 - startPos, + chunkCount = B.JSNumber_methods.ceil$0(sourceLength / 4), + digits = new Uint16Array(chunkCount), + t2 = chunkCount - 1, + lastDigitLength = sourceLength - t2 * 4; + for (i = startPos, chunk = 0, j = 0; j < lastDigitLength; ++j, i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(source, i); + digitValue = A._BigIntImpl__codeUnitToRadixValue(source.charCodeAt(i)); + if (digitValue >= 16) + return null; + chunk = chunk * 16 + digitValue; + } + digitIndex = t2 - 1; + if (!(t2 >= 0 && t2 < chunkCount)) + return A.ioore(digits, t2); + digits[t2] = chunk; + for (; i < t1; digitIndex = digitIndex0) { + for (chunk = 0, j = 0; j < 4; ++j, i = i0) { + i0 = i + 1; + if (!(i >= 0 && i < t1)) + return A.ioore(source, i); + digitValue = A._BigIntImpl__codeUnitToRadixValue(source.charCodeAt(i)); + if (digitValue >= 16) + return null; + chunk = chunk * 16 + digitValue; + } + digitIndex0 = digitIndex - 1; + if (!(digitIndex >= 0 && digitIndex < chunkCount)) + return A.ioore(digits, digitIndex); + digits[digitIndex] = chunk; + } + if (chunkCount === 1) { + if (0 >= chunkCount) + return A.ioore(digits, 0); + t1 = digits[0] === 0; + } else + t1 = false; + if (t1) + return $.$get$_BigIntImpl_zero(); + t1 = A._BigIntImpl__normalize(chunkCount, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + }, + _BigIntImpl__tryParse(source, radix) { + var match, t1, t2, isNegative, decimalMatch, hexMatch; + if (source === "") + return null; + match = $.$get$_BigIntImpl__parseRE().firstMatch$1(source); + if (match == null) + return null; + t1 = match._match; + t2 = t1.length; + if (1 >= t2) + return A.ioore(t1, 1); + isNegative = t1[1] === "-"; + if (4 >= t2) + return A.ioore(t1, 4); + decimalMatch = t1[4]; + hexMatch = t1[3]; + if (5 >= t2) + return A.ioore(t1, 5); + if (decimalMatch != null) + return A._BigIntImpl__parseDecimal(decimalMatch, isNegative); + if (hexMatch != null) + return A._BigIntImpl__parseHex(hexMatch, 2, isNegative); + return null; + }, + _BigIntImpl__normalize(used, digits) { + var t2, + t1 = digits.length; + for (;;) { + if (used > 0) { + t2 = used - 1; + if (!(t2 < t1)) + return A.ioore(digits, t2); + t2 = digits[t2] === 0; + } else + t2 = false; + if (!t2) + break; + --used; + } + return used; + }, + _BigIntImpl__cloneDigits(digits, from, to, $length) { + var t1, i, t2, + resultDigits = new Uint16Array($length), + n = to - from; + for (t1 = digits.length, i = 0; i < n; ++i) { + t2 = from + i; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(digits, t2); + t2 = digits[t2]; + if (!(i < $length)) + return A.ioore(resultDigits, i); + resultDigits[i] = t2; + } + return resultDigits; + }, + _BigIntImpl__BigIntImpl$from(value) { + var t1; + if (value === 0) + return $.$get$_BigIntImpl_zero(); + if (value === 1) + return $.$get$_BigIntImpl_one(); + if (value === 2) + return $.$get$_BigIntImpl_two(); + if (Math.abs(value) < 4294967296) + return A._BigIntImpl__BigIntImpl$_fromInt(B.JSInt_methods.toInt$0(value)); + t1 = A._BigIntImpl__BigIntImpl$_fromDouble(value); + return t1; + }, + _BigIntImpl__BigIntImpl$_fromInt(value) { + var digits, t1, i, i0, + isNegative = value < 0; + if (isNegative) { + if (value === -9223372036854776e3) { + digits = new Uint16Array(4); + digits[3] = 32768; + t1 = A._BigIntImpl__normalize(4, digits); + return new A._BigIntImpl(t1 !== 0, digits, t1); + } + value = -value; + } + if (value < 65536) { + digits = new Uint16Array(1); + digits[0] = value; + t1 = A._BigIntImpl__normalize(1, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + } + if (value <= 4294967295) { + digits = new Uint16Array(2); + digits[0] = value & 65535; + digits[1] = B.JSInt_methods._shrOtherPositive$1(value, 16); + t1 = A._BigIntImpl__normalize(2, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + } + t1 = B.JSInt_methods._tdivFast$1(B.JSInt_methods.get$bitLength(value) - 1, 16) + 1; + digits = new Uint16Array(t1); + for (i = 0; value !== 0; i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(digits, i); + digits[i] = value & 65535; + value = B.JSInt_methods._tdivFast$1(value, 65536); + } + t1 = A._BigIntImpl__normalize(t1, digits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, digits, t1); + }, + _BigIntImpl__BigIntImpl$_fromDouble(value) { + var isNegative, bits, t1, i, exponent, unshiftedDigits, unshiftedBig, absResult; + if (isNaN(value) || value == 1 / 0 || value == -1 / 0) + throw A.wrapException(A.ArgumentError$("Value must be finite: " + value, null)); + isNegative = value < 0; + if (isNegative) + value = -value; + value = Math.floor(value); + if (value === 0) + return $.$get$_BigIntImpl_zero(); + bits = $.$get$_BigIntImpl__bitsForFromDouble(); + for (t1 = bits.$flags | 0, i = 0; i < 8; ++i) { + t1 & 2 && A.throwUnsupportedOperation(bits); + if (!(i < 8)) + return A.ioore(bits, i); + bits[i] = 0; + } + t1 = J.asByteData$0$x(B.NativeUint8List_methods.get$buffer(bits)); + t1.$flags & 2 && A.throwUnsupportedOperation(t1, 13); + t1.setFloat64(0, value, true); + exponent = (bits[7] << 4 >>> 0) + (bits[6] >>> 4) - 1075; + unshiftedDigits = new Uint16Array(4); + unshiftedDigits[0] = (bits[1] << 8 >>> 0) + bits[0]; + unshiftedDigits[1] = (bits[3] << 8 >>> 0) + bits[2]; + unshiftedDigits[2] = (bits[5] << 8 >>> 0) + bits[4]; + unshiftedDigits[3] = bits[6] & 15 | 16; + unshiftedBig = new A._BigIntImpl(false, unshiftedDigits, 4); + if (exponent < 0) + absResult = unshiftedBig.$shr(0, -exponent); + else + absResult = exponent > 0 ? unshiftedBig.$shl(0, exponent) : unshiftedBig; + if (isNegative) + return absResult.$negate(0); + return absResult; + }, + _BigIntImpl__dlShiftDigits(xDigits, xUsed, n, resultDigits) { + var i, t1, t2, t3, t4; + if (xUsed === 0) + return 0; + if (n === 0 && resultDigits === xDigits) + return xUsed; + for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.$flags | 0; i >= 0; --i) { + t3 = i + n; + if (!(i < t1)) + return A.ioore(xDigits, i); + t4 = xDigits[i]; + t2 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(t3 >= 0 && t3 < resultDigits.length)) + return A.ioore(resultDigits, t3); + resultDigits[t3] = t4; + } + for (i = n - 1; i >= 0; --i) { + t2 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(i < resultDigits.length)) + return A.ioore(resultDigits, i); + resultDigits[i] = 0; + } + return xUsed + n; + }, + _BigIntImpl__lsh(xDigits, xUsed, n, resultDigits) { + var digitShift, bitShift, carryBitShift, bitMask, i, t1, t2, carry, digit, t3, t4; + A.assertHelper(xUsed > 0); + digitShift = B.JSInt_methods._tdivFast$1(n, 16); + bitShift = B.JSInt_methods.$mod(n, 16); + carryBitShift = 16 - bitShift; + bitMask = B.JSInt_methods.$shl(1, carryBitShift) - 1; + for (i = xUsed - 1, t1 = xDigits.length, t2 = resultDigits.$flags | 0, carry = 0; i >= 0; --i) { + if (!(i < t1)) + return A.ioore(xDigits, i); + digit = xDigits[i]; + t3 = i + digitShift + 1; + t4 = B.JSInt_methods.$shr(digit, carryBitShift); + t2 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(t3 >= 0 && t3 < resultDigits.length)) + return A.ioore(resultDigits, t3); + resultDigits[t3] = (t4 | carry) >>> 0; + carry = B.JSInt_methods.$shl((digit & bitMask) >>> 0, bitShift); + } + t2 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(digitShift >= 0 && digitShift < resultDigits.length)) + return A.ioore(resultDigits, digitShift); + resultDigits[digitShift] = carry; + }, + _BigIntImpl__lShiftDigits(xDigits, xUsed, n, resultDigits) { + var resultUsed, t1, i, + digitsShift = B.JSInt_methods._tdivFast$1(n, 16); + if (B.JSInt_methods.$mod(n, 16) === 0) + return A._BigIntImpl__dlShiftDigits(xDigits, xUsed, digitsShift, resultDigits); + resultUsed = xUsed + digitsShift + 1; + A._BigIntImpl__lsh(xDigits, xUsed, n, resultDigits); + for (t1 = resultDigits.$flags | 0, i = digitsShift; --i, i >= 0;) { + t1 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(i < resultDigits.length)) + return A.ioore(resultDigits, i); + resultDigits[i] = 0; + } + t1 = resultUsed - 1; + if (!(t1 >= 0 && t1 < resultDigits.length)) + return A.ioore(resultDigits, t1); + if (resultDigits[t1] === 0) + resultUsed = t1; + return resultUsed; + }, + _BigIntImpl__rsh(xDigits, xUsed, n, resultDigits) { + var digitsShift, bitShift, carryBitShift, bitMask, t1, carry, last, t2, i, t3, digit; + A.assertHelper(xUsed > 0); + digitsShift = B.JSInt_methods._tdivFast$1(n, 16); + bitShift = B.JSInt_methods.$mod(n, 16); + carryBitShift = 16 - bitShift; + bitMask = B.JSInt_methods.$shl(1, bitShift) - 1; + t1 = xDigits.length; + if (!(digitsShift >= 0 && digitsShift < t1)) + return A.ioore(xDigits, digitsShift); + carry = B.JSInt_methods.$shr(xDigits[digitsShift], bitShift); + last = xUsed - digitsShift - 1; + for (t2 = resultDigits.$flags | 0, i = 0; i < last; ++i) { + t3 = i + digitsShift + 1; + if (!(t3 < t1)) + return A.ioore(xDigits, t3); + digit = xDigits[t3]; + t3 = B.JSInt_methods.$shl((digit & bitMask) >>> 0, carryBitShift); + t2 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(i < resultDigits.length)) + return A.ioore(resultDigits, i); + resultDigits[i] = (t3 | carry) >>> 0; + carry = B.JSInt_methods.$shr(digit, bitShift); + } + t2 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(last >= 0 && last < resultDigits.length)) + return A.ioore(resultDigits, last); + resultDigits[last] = carry; + }, + _BigIntImpl__compareDigits(digits, used, otherDigits, otherUsed) { + var i, t1, t2, t3, + result = used - otherUsed; + if (result === 0) + for (i = used - 1, t1 = digits.length, t2 = otherDigits.length; i >= 0; --i) { + if (!(i < t1)) + return A.ioore(digits, i); + t3 = digits[i]; + if (!(i < t2)) + return A.ioore(otherDigits, i); + result = t3 - otherDigits[i]; + if (result !== 0) + return result; + } + return result; + }, + _BigIntImpl__absAdd(digits, used, otherDigits, otherUsed, resultDigits) { + var t1, t2, t3, carry, i, t4; + A.assertHelper(used >= otherUsed && otherUsed > 0); + for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.$flags | 0, carry = 0, i = 0; i < otherUsed; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + t4 = digits[i]; + if (!(i < t2)) + return A.ioore(otherDigits, i); + carry += t4 + otherDigits[i]; + t3 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(i < resultDigits.length)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = B.JSInt_methods._shrOtherPositive$1(carry, 16); + } + for (i = otherUsed; i < used; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + carry += digits[i]; + t3 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(i < resultDigits.length)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = B.JSInt_methods._shrOtherPositive$1(carry, 16); + } + t3 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(used >= 0 && used < resultDigits.length)) + return A.ioore(resultDigits, used); + resultDigits[used] = carry; + }, + _BigIntImpl__absSub(digits, used, otherDigits, otherUsed, resultDigits) { + var t1, t2, t3, carry, i, t4; + A.assertHelper(used >= otherUsed && otherUsed > 0); + for (t1 = digits.length, t2 = otherDigits.length, t3 = resultDigits.$flags | 0, carry = 0, i = 0; i < otherUsed; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + t4 = digits[i]; + if (!(i < t2)) + return A.ioore(otherDigits, i); + carry += t4 - otherDigits[i]; + t3 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(i < resultDigits.length)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = 0 - (B.JSInt_methods._shrOtherPositive$1(carry, 16) & 1); + } + for (i = otherUsed; i < used; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + carry += digits[i]; + t3 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(i < resultDigits.length)) + return A.ioore(resultDigits, i); + resultDigits[i] = carry & 65535; + carry = 0 - (B.JSInt_methods._shrOtherPositive$1(carry, 16) & 1); + } + }, + _BigIntImpl__mulAdd(x, multiplicandDigits, i, accumulatorDigits, j, n) { + var t1, t2, t3, c, i0, t4, combined, j0, l; + if (x === 0) + return; + for (t1 = multiplicandDigits.length, t2 = accumulatorDigits.length, t3 = accumulatorDigits.$flags | 0, c = 0; --n, n >= 0; j = j0, i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(multiplicandDigits, i); + t4 = multiplicandDigits[i]; + if (!(j >= 0 && j < t2)) + return A.ioore(accumulatorDigits, j); + combined = x * t4 + accumulatorDigits[j] + c; + j0 = j + 1; + t3 & 2 && A.throwUnsupportedOperation(accumulatorDigits); + accumulatorDigits[j] = combined & 65535; + c = B.JSInt_methods._tdivFast$1(combined, 65536); + } + for (; c !== 0; j = j0) { + if (!(j >= 0 && j < t2)) + return A.ioore(accumulatorDigits, j); + l = accumulatorDigits[j] + c; + j0 = j + 1; + t3 & 2 && A.throwUnsupportedOperation(accumulatorDigits); + accumulatorDigits[j] = l & 65535; + c = B.JSInt_methods._tdivFast$1(l, 65536); + } + }, + _BigIntImpl__estimateQuotientDigit(topDigitDivisor, digits, i) { + var t2, t3, quotientDigit, + t1 = digits.length; + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + t2 = digits[i]; + if (t2 === topDigitDivisor) + return 65535; + t3 = i - 1; + if (!(t3 >= 0 && t3 < t1)) + return A.ioore(digits, t3); + quotientDigit = B.JSInt_methods.$tdiv((t2 << 16 | digits[t3]) >>> 0, topDigitDivisor); + if (quotientDigit > 65535) + return 65535; + return quotientDigit; + }, + Expando__badExpandoKey(object) { + throw A.wrapException(A.ArgumentError$value(object, "object", "Expandos are not allowed on strings, numbers, bools, records or null")); + }, + int_parse(source, radix) { + var value = A.Primitives_parseInt(source, radix); + if (value != null) + return value; + throw A.wrapException(A.FormatException$(source, null, null)); + }, + Error__throw(error, stackTrace) { + error = A.initializeExceptionWrapper(error, new Error()); + if (error == null) + error = A._asObject(error); + error.stack = stackTrace.toString$0(0); + throw error; + }, + List_List$filled($length, fill, growable, $E) { + var i, + result = growable ? J.JSArray_JSArray$growable($length, $E) : J.JSArray_JSArray$fixed($length, $E); + if ($length !== 0 && fill != null) + for (i = 0; i < result.length; ++i) + result[i] = fill; + return result; + }, + List_List$from(elements, growable, $E) { + var t1, + list = A._setArrayType([], $E._eval$1("JSArray<0>")); + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) + B.JSArray_methods.add$1(list, $E._as(t1.get$current())); + list.$flags = 1; + return list; + }, + List_List$_of(elements, $E) { + var list, t1; + if (Array.isArray(elements)) + return A._setArrayType(elements.slice(0), $E._eval$1("JSArray<0>")); + list = A._setArrayType([], $E._eval$1("JSArray<0>")); + for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) + B.JSArray_methods.add$1(list, t1.get$current()); + return list; + }, + List_List$unmodifiable(elements, $E) { + var result = A.List_List$from(elements, false, $E); + result.$flags = 3; + return result; + }, + String_String$fromCharCodes(charCodes, start, end) { + 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; + if (t1) + end = len; + return A.Primitives_stringFromCharCodes(start > 0 || end < len ? array.slice(start, end) : array); + } + if (type$.NativeUint8List._is(charCodes)) + 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); + t1 = A.List_List$_of(charCodes, type$.int); + return A.Primitives_stringFromCharCodes(t1); + }, + String_String$fromCharCode(charCode) { + return A.Primitives_stringFromCharCode(charCode); + }, + 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, dotAll, multiLine, unicode) { + return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, unicode, dotAll, "")); + }, + StringBuffer__writeAll(string, objects, separator) { + var iterator = J.get$iterator$ax(objects); + if (!iterator.moveNext$0()) + return string; + if (separator.length === 0) { + do + string += A.S(iterator.get$current()); + while (iterator.moveNext$0()); + } else { + string += A.S(iterator.get$current()); + while (iterator.moveNext$0()) + string = string + separator + A.S(iterator.get$current()); + } + return string; + }, + Uri_base() { + var cachedUri, uri, + current = A.Primitives_currentUri(); + if (current == null) + throw A.wrapException(A.UnsupportedError$("'Uri.base' is not supported")); + cachedUri = $.Uri__cachedBaseUri; + if (cachedUri != null && current === $.Uri__cachedBaseString) + return cachedUri; + uri = A.Uri_parse(current); + $.Uri__cachedBaseUri = uri; + $.Uri__cachedBaseString = current; + return uri; + }, + _Uri__uriEncode(canonicalMask, text, encoding, spaceToPlus) { + var t1, bytes, i, t2, byte, + _s16_ = "0123456789ABCDEF"; + if (encoding === B.C_Utf8Codec) { + t1 = $.$get$_Uri__needsNoEncoding(); + t1 = t1._nativeRegExp.test(text); + } else + t1 = false; + if (t1) + return text; + bytes = B.C_Utf8Encoder.convert$1(text); + for (t1 = bytes.length, i = 0, t2 = ""; i < t1; ++i) { + byte = bytes[i]; + if (byte < 128 && (string$.x00_____.charCodeAt(byte) & canonicalMask) !== 0) + t2 += A.Primitives_stringFromCharCode(byte); + else + t2 = spaceToPlus && byte === 32 ? t2 + "+" : t2 + "%" + _s16_[byte >>> 4 & 15] + _s16_[byte & 15]; + } + return t2.charCodeAt(0) == 0 ? t2 : t2; + }, + StackTrace_current() { + return A.getTraceFromException(new Error()); + }, + DateTime__validate(millisecondsSinceEpoch, microsecond, isUtc) { + var _s11_ = "microsecond"; + if (microsecond > 999) + throw A.wrapException(A.RangeError$range(microsecond, 0, 999, _s11_, null)); + if (millisecondsSinceEpoch < -864e13 || millisecondsSinceEpoch > 864e13) + throw A.wrapException(A.RangeError$range(millisecondsSinceEpoch, -864e13, 864e13, "millisecondsSinceEpoch", null)); + if (millisecondsSinceEpoch === 864e13 && microsecond !== 0) + throw A.wrapException(A.ArgumentError$value(microsecond, _s11_, "Time including microseconds is outside valid range")); + A.checkNotNullable(isUtc, "isUtc", type$.bool); + return millisecondsSinceEpoch; + }, + DateTime__fourDigits(n) { + var absN = Math.abs(n), + sign = n < 0 ? "-" : ""; + if (absN >= 1000) + return "" + n; + if (absN >= 100) + return sign + "0" + absN; + if (absN >= 10) + return sign + "00" + absN; + return sign + "000" + absN; + }, + DateTime__threeDigits(n) { + if (n >= 100) + return "" + n; + if (n >= 10) + return "0" + n; + return "00" + n; + }, + DateTime__twoDigits(n) { + if (n >= 10) + return "" + n; + return "0" + n; + }, + Duration$(microseconds, milliseconds) { + return new A.Duration(microseconds + 1000 * milliseconds); + }, + EnumByName_byName(_this, $name, $T) { + var t1, _i, value; + for (t1 = _this.length, _i = 0; _i < t1; ++_i) { + value = _this[_i]; + if (value._name === $name) + return value; + } + throw A.wrapException(A.ArgumentError$value($name, "name", "No enum value with that name")); + }, + EnumByName_asNameMap(_this, $T) { + var _i, value, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, $T); + for (_i = 0; _i < 2; ++_i) { + value = _this[_i]; + t1.$indexSet(0, value._name, value); + } + return t1; + }, + Error_safeToString(object) { + if (typeof object == "number" || A._isBool(object) || object == null) + return J.toString$0$(object); + if (typeof object == "string") + return JSON.stringify(object); + return A.Primitives_safeToString(object); + }, + Error_throwWithStackTrace(error, stackTrace) { + A.checkNotNullable(error, "error", type$.Object); + A.checkNotNullable(stackTrace, "stackTrace", type$.StackTrace); + A.Error__throw(error, stackTrace); + }, + AssertionError$(message) { + return new A.AssertionError(message); + }, + ArgumentError$(message, $name) { + return new A.ArgumentError(false, null, $name, message); + }, + ArgumentError$value(value, $name, message) { + return new A.ArgumentError(true, value, $name, message); + }, + ArgumentError_checkNotNull(argument, $name, $T) { + return argument; + }, + RangeError$value(value, $name) { + return new A.RangeError(null, null, true, value, $name, "Value not in range"); + }, + RangeError$range(invalidValue, minValue, maxValue, $name, message) { + return new A.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value"); + }, + RangeError_checkValueInInterval(value, minValue, maxValue, $name) { + if (value < minValue || value > maxValue) + throw A.wrapException(A.RangeError$range(value, minValue, maxValue, $name, null)); + return value; + }, + RangeError_checkValidIndex(index, indexable, $name, $length) { + if (0 > index || index >= $length) + A.throwExpression(A.IndexError$withLength(index, $length, indexable, null, $name)); + return index; + }, + RangeError_checkValidRange(start, end, $length) { + if (0 > start || start > $length) + throw A.wrapException(A.RangeError$range(start, 0, $length, "start", null)); + if (end != null) { + if (start > end || end > $length) + throw A.wrapException(A.RangeError$range(end, start, $length, "end", null)); + return end; + } + return $length; + }, + RangeError_checkNotNegative(value, $name) { + if (value < 0) + throw A.wrapException(A.RangeError$range(value, 0, null, $name, null)); + return value; + }, + IndexError$(invalidValue, indexable) { + var t1 = indexable._typed_buffer$_length; + return new A.IndexError(t1, true, invalidValue, null, "Index out of range"); + }, + IndexError$withLength(invalidValue, $length, indexable, message, $name) { + return new A.IndexError($length, true, invalidValue, $name, "Index out of range"); + }, + UnsupportedError$(message) { + return new A.UnsupportedError(message); + }, + UnimplementedError$(message) { + return new A.UnimplementedError(message); + }, + StateError$(message) { + return new A.StateError(message); + }, + ConcurrentModificationError$(modifiedObject) { + return new A.ConcurrentModificationError(modifiedObject); + }, + Exception_Exception(message) { + return new A._Exception(message); + }, + FormatException$(message, source, offset) { + return new A.FormatException(message, source, offset); + }, + Iterable_iterableToShortString(iterable, leftDelimiter, rightDelimiter) { + var parts, t1; + if (A.isToStringVisiting(iterable)) { + if (leftDelimiter === "(" && rightDelimiter === ")") + return "(...)"; + return leftDelimiter + "..." + rightDelimiter; + } + parts = A._setArrayType([], type$.JSArray_String); + B.JSArray_methods.add$1($.toStringVisiting, iterable); + try { + A._iterablePartsToStrings(iterable, parts); + } finally { + A.assertHelper(B.JSArray_methods.get$last($.toStringVisiting) === iterable); + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + t1 = A.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + Iterable_iterableToFullString(iterable, leftDelimiter, rightDelimiter) { + var buffer, t1; + if (A.isToStringVisiting(iterable)) + return leftDelimiter + "..." + rightDelimiter; + buffer = new A.StringBuffer(leftDelimiter); + B.JSArray_methods.add$1($.toStringVisiting, iterable); + try { + t1 = buffer; + t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, ", "); + } finally { + A.assertHelper(B.JSArray_methods.get$last($.toStringVisiting) === iterable); + if (0 >= $.toStringVisiting.length) + return A.ioore($.toStringVisiting, -1); + $.toStringVisiting.pop(); + } + buffer._contents += rightDelimiter; + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _iterablePartsToStrings(iterable, parts) { + var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision, + it = iterable.get$iterator(iterable), + $length = 0, count = 0; + for (;;) { + if (!($length < 80 || count < 3)) + break; + if (!it.moveNext$0()) + return; + next = A.S(it.get$current()); + B.JSArray_methods.add$1(parts, next); + $length += next.length + 2; + ++count; + } + if (!it.moveNext$0()) { + if (count <= 5) + return; + if (0 >= parts.length) + return A.ioore(parts, -1); + ultimateString = parts.pop(); + if (0 >= parts.length) + return A.ioore(parts, -1); + penultimateString = parts.pop(); + } else { + penultimate = it.get$current(); + ++count; + if (!it.moveNext$0()) { + if (count <= 4) { + B.JSArray_methods.add$1(parts, A.S(penultimate)); + return; + } + ultimateString = A.S(penultimate); + if (0 >= parts.length) + return A.ioore(parts, -1); + penultimateString = parts.pop(); + $length += ultimateString.length + 2; + } else { + ultimate = it.get$current(); + ++count; + A.assertHelper(count < 100); + for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) { + ultimate0 = it.get$current(); + ++count; + if (count > 100) { + for (;;) { + if (!($length > 75 && count > 3)) + break; + if (0 >= parts.length) + return A.ioore(parts, -1); + $length -= parts.pop().length + 2; + --count; + } + B.JSArray_methods.add$1(parts, "..."); + return; + } + } + penultimateString = A.S(penultimate); + ultimateString = A.S(ultimate); + $length += ultimateString.length + penultimateString.length + 4; + } + } + if (count > parts.length + 2) { + $length += 5; + elision = "..."; + } else + elision = null; + for (;;) { + if (!($length > 80 && parts.length > 3)) + break; + if (0 >= parts.length) + return A.ioore(parts, -1); + $length -= parts.pop().length + 2; + if (elision == null) { + $length += 5; + elision = "..."; + } + } + if (elision != null) + B.JSArray_methods.add$1(parts, elision); + B.JSArray_methods.add$1(parts, penultimateString); + B.JSArray_methods.add$1(parts, ultimateString); + }, + Object_hash(object1, object2, object3, object4) { + var t1; + if (B.C_SentinelValue === object3) { + t1 = J.get$hashCode$(object1); + object2 = J.get$hashCode$(object2); + return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2)); + } + if (B.C_SentinelValue === object4) { + t1 = J.get$hashCode$(object1); + object2 = J.get$hashCode$(object2); + object3 = J.get$hashCode$(object3); + return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3)); + } + t1 = J.get$hashCode$(object1); + object2 = J.get$hashCode$(object2); + object3 = J.get$hashCode$(object3); + object4 = J.get$hashCode$(object4); + object4 = A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4)); + return object4; + }, + print(object) { + var line = A.S(object), + toZone = $.printToZone; + if (toZone == null) + A.printString(line); + else + toZone.call$1(line); + }, + Uri_Uri$dataFromString($content) { + var t1, _null = null, + buffer = new A.StringBuffer(""), + indices = A._setArrayType([-1], type$.JSArray_int); + A.UriData__writeUri(_null, _null, _null, buffer, indices); + B.JSArray_methods.add$1(indices, buffer._contents.length); + buffer._contents += ","; + A.UriData__uriEncodeBytes(256, B.C_AsciiCodec.encode$1($content), buffer); + t1 = buffer._contents; + return new A.UriData(t1.charCodeAt(0) == 0 ? t1 : t1, indices, _null).get$uri(); + }, + Uri_parse(uri) { + var delta, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t1, t2, schemeAuth, queryStart0, pathStart0, port, userInfoStart, userInfo, host, portNumber, path, query, _null = null, + end = uri.length; + if (end >= 5) { + if (4 >= end) + return A.ioore(uri, 4); + delta = ((uri.charCodeAt(4) ^ 58) * 3 | uri.charCodeAt(0) ^ 100 | uri.charCodeAt(1) ^ 97 | uri.charCodeAt(2) ^ 116 | uri.charCodeAt(3) ^ 97) >>> 0; + if (delta === 0) + return A.UriData__parse(end < end ? B.JSString_methods.substring$2(uri, 0, end) : uri, 5, _null).get$uri(); + else if (delta === 32) + return A.UriData__parse(B.JSString_methods.substring$2(uri, 5, end), 0, _null).get$uri(); + } + indices = A.List_List$filled(8, 0, false, type$.int); + B.JSArray_methods.$indexSet(indices, 0, 0); + B.JSArray_methods.$indexSet(indices, 1, -1); + B.JSArray_methods.$indexSet(indices, 2, -1); + B.JSArray_methods.$indexSet(indices, 7, -1); + B.JSArray_methods.$indexSet(indices, 3, 0); + B.JSArray_methods.$indexSet(indices, 4, 0); + B.JSArray_methods.$indexSet(indices, 5, end); + B.JSArray_methods.$indexSet(indices, 6, end); + if (A._scan(uri, 0, end, 0, indices) >= 14) + B.JSArray_methods.$indexSet(indices, 7, end); + schemeEnd = indices[1]; + if (schemeEnd >= 0) + if (A._scan(uri, 0, schemeEnd, 20, indices) === 20) + indices[7] = schemeEnd; + hostStart = indices[2] + 1; + portStart = indices[3]; + pathStart = indices[4]; + queryStart = indices[5]; + fragmentStart = indices[6]; + if (fragmentStart < queryStart) + queryStart = fragmentStart; + if (pathStart < hostStart) + pathStart = queryStart; + else if (pathStart <= schemeEnd) + pathStart = schemeEnd + 1; + if (portStart < hostStart) + portStart = pathStart; + A.assertHelper(hostStart === 0 || schemeEnd <= hostStart); + A.assertHelper(hostStart <= portStart); + A.assertHelper(schemeEnd <= pathStart); + A.assertHelper(portStart <= pathStart); + A.assertHelper(pathStart <= queryStart); + A.assertHelper(queryStart <= fragmentStart); + isSimple = indices[7] < 0; + scheme = _null; + if (isSimple) { + isSimple = false; + if (!(hostStart > schemeEnd + 3)) { + t1 = portStart > 0; + if (!(t1 && portStart + 1 === pathStart)) { + if (!B.JSString_methods.startsWith$2(uri, "\\", pathStart)) + if (hostStart > 0) + t2 = B.JSString_methods.startsWith$2(uri, "\\", hostStart - 1) || B.JSString_methods.startsWith$2(uri, "\\", hostStart - 2); + else + t2 = false; + else + t2 = true; + if (!t2) { + if (!(queryStart < end && queryStart === pathStart + 2 && B.JSString_methods.startsWith$2(uri, "..", pathStart))) + t2 = queryStart > pathStart + 2 && B.JSString_methods.startsWith$2(uri, "/..", queryStart - 3); + else + t2 = true; + if (!t2) + if (schemeEnd === 4) { + if (B.JSString_methods.startsWith$2(uri, "file", 0)) { + if (hostStart <= 0) { + if (!B.JSString_methods.startsWith$2(uri, "/", pathStart)) { + schemeAuth = "file:///"; + delta = 3; + } else { + schemeAuth = "file://"; + delta = 2; + } + uri = schemeAuth + B.JSString_methods.substring$2(uri, pathStart, end); + queryStart += delta; + fragmentStart += delta; + end = uri.length; + hostStart = 7; + portStart = 7; + pathStart = 7; + } else if (pathStart === queryStart) { + ++fragmentStart; + queryStart0 = queryStart + 1; + uri = B.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/"); + ++end; + queryStart = queryStart0; + } + scheme = "file"; + } else if (B.JSString_methods.startsWith$2(uri, "http", 0)) { + if (t1 && portStart + 3 === pathStart && B.JSString_methods.startsWith$2(uri, "80", portStart + 1)) { + fragmentStart -= 3; + pathStart0 = pathStart - 3; + queryStart -= 3; + uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); + end -= 3; + pathStart = pathStart0; + } + scheme = "http"; + } + } else if (schemeEnd === 5 && B.JSString_methods.startsWith$2(uri, "https", 0)) { + if (t1 && portStart + 4 === pathStart && B.JSString_methods.startsWith$2(uri, "443", portStart + 1)) { + fragmentStart -= 4; + pathStart0 = pathStart - 4; + queryStart -= 4; + uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); + end -= 3; + pathStart = pathStart0; + } + scheme = "https"; + } + isSimple = !t2; + } + } + } + } + if (isSimple) + return new A._SimpleUri(end < uri.length ? B.JSString_methods.substring$2(uri, 0, end) : uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme); + if (scheme == null) + if (schemeEnd > 0) + scheme = A._Uri__makeScheme(uri, 0, schemeEnd); + else { + if (schemeEnd === 0) + A._Uri__fail(uri, 0, "Invalid empty scheme"); + scheme = ""; + } + port = _null; + if (hostStart > 0) { + userInfoStart = schemeEnd + 3; + userInfo = userInfoStart < hostStart ? A._Uri__makeUserInfo(uri, userInfoStart, hostStart - 1) : ""; + host = A._Uri__makeHost(uri, hostStart, portStart, false); + t1 = portStart + 1; + if (t1 < pathStart) { + portNumber = A.Primitives_parseInt(B.JSString_methods.substring$2(uri, t1, pathStart), _null); + port = A._Uri__makePort(portNumber == null ? A.throwExpression(A.FormatException$("Invalid port", uri, t1)) : portNumber, scheme); + } + } else { + host = _null; + userInfo = ""; + } + path = A._Uri__makePath(uri, pathStart, queryStart, _null, scheme, host != null); + query = queryStart < fragmentStart ? A._Uri__makeQuery(uri, queryStart + 1, fragmentStart, _null) : _null; + return A._Uri$_internal(scheme, userInfo, host, port, path, query, fragmentStart < end ? A._Uri__makeFragment(uri, fragmentStart + 1, end) : _null); + }, + Uri_decodeComponent(encodedComponent) { + A._asString(encodedComponent); + return A._Uri__uriDecode(encodedComponent, 0, encodedComponent.length, B.C_Utf8Codec, false); + }, + Uri__ipv4FormatError(msg, source, position) { + throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, source, position)); + }, + Uri__parseIPv4Address(host, start, end, target, targetOffset) { + var t1, octetStart, cursor, octetIndex, octetValue, char, digit, octetIndex0, t2, + _s17_ = "invalid character"; + A.assertHelper(16 >= targetOffset + 4); + for (t1 = host.length, octetStart = start, cursor = octetStart, octetIndex = 0, octetValue = 0;;) { + if (cursor >= end) + char = 0; + else { + if (!(cursor >= 0 && cursor < t1)) + return A.ioore(host, cursor); + char = host.charCodeAt(cursor); + } + digit = char ^ 48; + if (digit <= 9) { + if (octetValue !== 0 || cursor === octetStart) { + octetValue = octetValue * 10 + digit; + if (octetValue <= 255) { + ++cursor; + continue; + } + A.Uri__ipv4FormatError("each part must be in the range 0..255", host, octetStart); + } + A.Uri__ipv4FormatError("parts must not have leading zeros", host, octetStart); + } + if (cursor === octetStart) { + if (cursor === end) + break; + A.Uri__ipv4FormatError(_s17_, host, cursor); + } + octetIndex0 = octetIndex + 1; + t2 = targetOffset + octetIndex; + target.$flags & 2 && A.throwUnsupportedOperation(target); + if (!(t2 < 16)) + return A.ioore(target, t2); + target[t2] = octetValue; + if (char === 46) { + if (octetIndex0 < 4) { + ++cursor; + octetIndex = octetIndex0; + octetStart = cursor; + octetValue = 0; + continue; + } + break; + } + if (cursor === end) { + if (octetIndex0 === 4) + return; + break; + } + A.Uri__ipv4FormatError(_s17_, host, cursor); + octetIndex = octetIndex0; + } + A.Uri__ipv4FormatError("IPv4 address should contain exactly 4 parts", host, cursor); + }, + Uri__validateIPvAddress(host, start, end) { + var error; + A.assertHelper(0 <= start && start <= end && end <= host.length); + if (start === end) + throw A.wrapException(A.FormatException$("Empty IP address", host, start)); + if (!(start >= 0 && start < host.length)) + return A.ioore(host, start); + if (host.charCodeAt(start) === 118) { + error = A.Uri__validateIPvFutureAddress(host, start, end); + if (error != null) + throw A.wrapException(error); + return false; + } + A.Uri_parseIPv6Address(host, start, end); + return true; + }, + Uri__validateIPvFutureAddress(host, start, end) { + var t1, cursor, cursor0, char, ucChar, + _s38_ = "Missing hex-digit in IPvFuture address", + _s128_ = string$.x00_____; + A.assertHelper(B.JSString_methods.startsWith$2(host, "v", start)); + ++start; + for (t1 = host.length, cursor = start;; cursor = cursor0) { + if (cursor < end) { + cursor0 = cursor + 1; + if (!(cursor >= 0 && cursor < t1)) + return A.ioore(host, cursor); + char = host.charCodeAt(cursor); + if ((char ^ 48) <= 9) + continue; + ucChar = char | 32; + if (ucChar >= 97 && ucChar <= 102) + continue; + if (char === 46) { + if (cursor0 - 1 === start) + return new A.FormatException(_s38_, host, cursor0); + cursor = cursor0; + break; + } + return new A.FormatException("Unexpected character", host, cursor0 - 1); + } + if (cursor - 1 === start) + return new A.FormatException(_s38_, host, cursor); + return new A.FormatException("Missing '.' in IPvFuture address", host, cursor); + } + if (cursor === end) + return new A.FormatException("Missing address in IPvFuture address, host, cursor", null, null); + for (;;) { + if (!(cursor >= 0 && cursor < t1)) + return A.ioore(host, cursor); + char = host.charCodeAt(cursor); + if (!(char < 128)) + return A.ioore(_s128_, char); + if ((_s128_.charCodeAt(char) & 16) !== 0) { + ++cursor; + if (cursor < end) + continue; + return null; + } + return new A.FormatException("Invalid IPvFuture address character", host, cursor); + } + }, + Uri_parseIPv6Address(host, start, end) { + var result, t1, wildcardAt, partCount, t2, cursor, partStart, hexValue, decValue, char, _0_0, decValue0, hexDigit, _1_0, t3, partCount0, partAfterWildcard, partsAfterWildcard, positionAfterWildcard, newPositionAfterWildcard, + _s39_ = "an address must contain at most 8 parts", + error = new A.Uri_parseIPv6Address_error(host); + if (end - start < 2) + error.call$2("address is too short", null); + result = new Uint8Array(16); + t1 = host.length; + if (!(start >= 0 && start < t1)) + return A.ioore(host, start); + wildcardAt = -1; + partCount = 0; + if (host.charCodeAt(start) === 58) { + t2 = start + 1; + if (!(t2 < t1)) + return A.ioore(host, t2); + if (host.charCodeAt(t2) === 58) { + cursor = start + 2; + partStart = cursor; + wildcardAt = 0; + partCount = 1; + } else { + error.call$2("invalid start colon", start); + cursor = start; + partStart = cursor; + } + } else { + cursor = start; + partStart = cursor; + } + for (hexValue = 0, decValue = true;;) { + if (cursor >= end) + char = 0; + else { + if (!(cursor < t1)) + return A.ioore(host, cursor); + char = host.charCodeAt(cursor); + } + $label0$0: { + _0_0 = char ^ 48; + decValue0 = false; + if (_0_0 <= 9) + hexDigit = _0_0; + else { + _1_0 = char | 32; + if (_1_0 >= 97 && _1_0 <= 102) + hexDigit = _1_0 - 87; + else + break $label0$0; + decValue = decValue0; + } + if (cursor < partStart + 4) { + hexValue = hexValue * 16 + hexDigit; + ++cursor; + continue; + } + error.call$2("an IPv6 part can contain a maximum of 4 hex digits", partStart); + } + if (cursor > partStart) { + if (char === 46) { + if (decValue) { + if (partCount <= 6) { + A.Uri__parseIPv4Address(host, partStart, end, result, partCount * 2); + partCount += 2; + cursor = end; + break; + } + error.call$2(_s39_, partStart); + } + break; + } + t2 = partCount * 2; + t3 = B.JSInt_methods._shrOtherPositive$1(hexValue, 8); + if (!(t2 < 16)) + return A.ioore(result, t2); + result[t2] = t3; + ++t2; + if (!(t2 < 16)) + return A.ioore(result, t2); + result[t2] = hexValue & 255; + ++partCount; + if (char === 58) { + if (partCount < 8) { + ++cursor; + partStart = cursor; + hexValue = 0; + decValue = true; + continue; + } + error.call$2(_s39_, cursor); + } + break; + } + if (char === 58) { + if (wildcardAt < 0) { + partCount0 = partCount + 1; + ++cursor; + wildcardAt = partCount; + partCount = partCount0; + partStart = cursor; + continue; + } + error.call$2("only one wildcard `::` is allowed", cursor); + } + if (wildcardAt !== partCount - 1) + error.call$2("missing part", cursor); + break; + } + if (cursor < end) + error.call$2("invalid character", cursor); + if (partCount < 8) { + if (wildcardAt < 0) + error.call$2("an address without a wildcard must contain exactly 8 parts", end); + partAfterWildcard = wildcardAt + 1; + partsAfterWildcard = partCount - partAfterWildcard; + if (partsAfterWildcard > 0) { + positionAfterWildcard = partAfterWildcard * 2; + newPositionAfterWildcard = 16 - partsAfterWildcard * 2; + B.NativeUint8List_methods.setRange$4(result, newPositionAfterWildcard, 16, result, positionAfterWildcard); + B.NativeUint8List_methods.fillRange$3(result, positionAfterWildcard, newPositionAfterWildcard, 0); + } + } + return result; + }, + _Uri$_internal(scheme, _userInfo, _host, _port, path, _query, _fragment) { + return new A._Uri(scheme, _userInfo, _host, _port, path, _query, _fragment); + }, + _Uri__Uri(host, path, pathSegments, scheme) { + var userInfo, query, fragment, port, isFile, t1, hasAuthority, t2, _null = null; + scheme = scheme == null ? "" : A._Uri__makeScheme(scheme, 0, scheme.length); + userInfo = A._Uri__makeUserInfo(_null, 0, 0); + host = A._Uri__makeHost(host, 0, host == null ? 0 : host.length, false); + query = A._Uri__makeQuery(_null, 0, 0, _null); + fragment = A._Uri__makeFragment(_null, 0, 0); + port = A._Uri__makePort(_null, scheme); + isFile = scheme === "file"; + if (host == null) + t1 = userInfo.length !== 0 || port != null || isFile; + else + t1 = false; + if (t1) + host = ""; + t1 = host == null; + hasAuthority = !t1; + path = A._Uri__makePath(path, 0, path == null ? 0 : path.length, pathSegments, scheme, hasAuthority); + t2 = scheme.length === 0; + if (t2 && t1 && !B.JSString_methods.startsWith$1(path, "/")) + path = A._Uri__normalizeRelativePath(path, !t2 || hasAuthority); + else + path = A._Uri__removeDotSegments(path); + return A._Uri$_internal(scheme, userInfo, t1 && B.JSString_methods.startsWith$1(path, "//") ? "" : host, port, path, query, fragment); + }, + _Uri__defaultPort(scheme) { + if (scheme === "http") + return 80; + if (scheme === "https") + return 443; + return 0; + }, + _Uri__fail(uri, index, message) { + throw A.wrapException(A.FormatException$(message, uri, index)); + }, + _Uri__Uri$file(path, windows) { + return windows ? A._Uri__makeWindowsFileUrl(path, false) : A._Uri__makeFileUri(path, false); + }, + _Uri__checkNonWindowsPathReservedCharacters(segments, argumentError) { + var t1, _i, segment; + for (t1 = segments.length, _i = 0; _i < t1; ++_i) { + segment = segments[_i]; + if (B.JSString_methods.contains$1(segment, "/")) { + t1 = A.UnsupportedError$("Illegal path character " + segment); + throw A.wrapException(t1); + } + } + }, + _Uri__checkWindowsPathReservedCharacters(segments, argumentError, firstSegment) { + var t1, t2, t3; + for (t1 = A.SubListIterable$(segments, firstSegment, null, A._arrayInstanceType(segments)._precomputed1), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) { + t3 = t1.__internal$_current; + if (t3 == null) + t3 = t2._as(t3); + if (B.JSString_methods.contains$1(t3, A.RegExp_RegExp('["*/:<>?\\\\|]', true, false, false, false))) + if (argumentError) + throw A.wrapException(A.ArgumentError$("Illegal character in path", null)); + else + throw A.wrapException(A.UnsupportedError$("Illegal character in path: " + t3)); + } + }, + _Uri__checkWindowsDriveLetter(charCode, argumentError) { + var t1, + _s21_ = "Illegal drive letter "; + if (!(65 <= charCode && charCode <= 90)) + t1 = 97 <= charCode && charCode <= 122; + else + t1 = true; + if (t1) + return; + if (argumentError) + throw A.wrapException(A.ArgumentError$(_s21_ + A.String_String$fromCharCode(charCode), null)); + else + throw A.wrapException(A.UnsupportedError$(_s21_ + A.String_String$fromCharCode(charCode))); + }, + _Uri__makeFileUri(path, slashTerminated) { + var _null = null, + segments = A._setArrayType(path.split("/"), type$.JSArray_String); + if (B.JSString_methods.startsWith$1(path, "/")) + return A._Uri__Uri(_null, _null, segments, "file"); + else + return A._Uri__Uri(_null, _null, segments, _null); + }, + _Uri__makeWindowsFileUrl(path, slashTerminated) { + var t1, t2, pathSegments, pathStart, hostPart, _s1_ = "\\", _null = null, _s4_ = "file"; + if (B.JSString_methods.startsWith$1(path, "\\\\?\\")) + if (B.JSString_methods.startsWith$2(path, "UNC\\", 4)) + path = B.JSString_methods.replaceRange$3(path, 0, 7, _s1_); + else { + path = B.JSString_methods.substring$1(path, 4); + t1 = path.length; + t2 = true; + if (t1 >= 3) { + if (1 >= t1) + return A.ioore(path, 1); + if (path.charCodeAt(1) === 58) { + if (2 >= t1) + return A.ioore(path, 2); + t1 = path.charCodeAt(2) !== 92; + } else + t1 = t2; + } else + t1 = t2; + if (t1) + throw A.wrapException(A.ArgumentError$value(path, "path", "Windows paths with \\\\?\\ prefix must be absolute")); + } + else + path = A.stringReplaceAllUnchecked(path, "/", _s1_); + t1 = path.length; + if (t1 > 1 && path.charCodeAt(1) === 58) { + if (0 >= t1) + return A.ioore(path, 0); + A._Uri__checkWindowsDriveLetter(path.charCodeAt(0), true); + if (t1 !== 2) { + if (2 >= t1) + return A.ioore(path, 2); + t1 = path.charCodeAt(2) !== 92; + } else + t1 = true; + if (t1) + throw A.wrapException(A.ArgumentError$value(path, "path", "Windows paths with drive letter must be absolute")); + pathSegments = A._setArrayType(path.split(_s1_), type$.JSArray_String); + A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 1); + return A._Uri__Uri(_null, _null, pathSegments, _s4_); + } + if (B.JSString_methods.startsWith$1(path, _s1_)) + if (B.JSString_methods.startsWith$2(path, _s1_, 1)) { + pathStart = B.JSString_methods.indexOf$2(path, _s1_, 2); + t1 = pathStart < 0; + hostPart = t1 ? B.JSString_methods.substring$1(path, 2) : B.JSString_methods.substring$2(path, 2, pathStart); + pathSegments = A._setArrayType((t1 ? "" : B.JSString_methods.substring$1(path, pathStart + 1)).split(_s1_), type$.JSArray_String); + A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0); + return A._Uri__Uri(hostPart, _null, pathSegments, _s4_); + } else { + pathSegments = A._setArrayType(path.split(_s1_), type$.JSArray_String); + A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0); + return A._Uri__Uri(_null, _null, pathSegments, _s4_); + } + else { + pathSegments = A._setArrayType(path.split(_s1_), type$.JSArray_String); + A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0); + return A._Uri__Uri(_null, _null, pathSegments, _null); + } + }, + _Uri__makePort(port, scheme) { + if (port != null && port === A._Uri__defaultPort(scheme)) + return null; + return port; + }, + _Uri__makeHost(host, start, end, strictIPv6) { + var t1, t2, t3, zoneID, index, zoneIDstart, isIPv6, hostChars, i; + if (host == null) + return null; + if (start === end) + return ""; + t1 = host.length; + if (!(start >= 0 && start < t1)) + return A.ioore(host, start); + if (host.charCodeAt(start) === 91) { + t2 = end - 1; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(host, t2); + if (host.charCodeAt(t2) !== 93) + A._Uri__fail(host, start, "Missing end `]` to match `[` in host"); + t3 = start + 1; + if (!(t3 < t1)) + return A.ioore(host, t3); + zoneID = ""; + if (host.charCodeAt(t3) !== 118) { + index = A._Uri__checkZoneID(host, t3, t2); + if (index < t2) { + zoneIDstart = index + 1; + zoneID = A._Uri__normalizeZoneID(host, B.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, t2, "%25"); + } + } else + index = t2; + isIPv6 = A.Uri__validateIPvAddress(host, t3, index); + hostChars = B.JSString_methods.substring$2(host, t3, index); + return "[" + (isIPv6 ? hostChars.toLowerCase() : hostChars) + zoneID + "]"; + } + for (i = start; i < end; ++i) { + if (!(i < t1)) + return A.ioore(host, i); + if (host.charCodeAt(i) === 58) { + index = B.JSString_methods.indexOf$2(host, "%", start); + index = index >= start && index < end ? index : end; + if (index < end) { + zoneIDstart = index + 1; + zoneID = A._Uri__normalizeZoneID(host, B.JSString_methods.startsWith$2(host, "25", zoneIDstart) ? index + 3 : zoneIDstart, end, "%25"); + } else + zoneID = ""; + A.Uri_parseIPv6Address(host, start, index); + return "[" + B.JSString_methods.substring$2(host, start, index) + zoneID + "]"; + } + } + return A._Uri__normalizeRegName(host, start, end); + }, + _Uri__checkZoneID(host, start, end) { + var index = B.JSString_methods.indexOf$2(host, "%", start); + return index >= start && index < end ? index : end; + }, + _Uri__normalizeZoneID(host, start, end, prefix) { + var t1, index, sectionStart, isNormalized, char, replacement, t2, t3, sourceLength, tail, slice, + buffer = prefix !== "" ? new A.StringBuffer(prefix) : null; + for (t1 = host.length, index = start, sectionStart = index, isNormalized = true; index < end;) { + if (!(index >= 0 && index < t1)) + return A.ioore(host, index); + char = host.charCodeAt(index); + if (char === 37) { + replacement = A._Uri__normalizeEscape(host, index, true); + t2 = replacement == null; + if (t2 && isNormalized) { + index += 3; + continue; + } + if (buffer == null) + buffer = new A.StringBuffer(""); + t3 = buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index); + if (t2) + replacement = B.JSString_methods.substring$2(host, index, index + 3); + else if (replacement === "%") + A._Uri__fail(host, index, "ZoneID should not contain % anymore"); + buffer._contents = t3 + replacement; + index += 3; + sectionStart = index; + isNormalized = true; + } else if (char < 127 && (string$.x00_____.charCodeAt(char) & 1) !== 0) { + if (isNormalized && 65 <= char && 90 >= char) { + if (buffer == null) + buffer = new A.StringBuffer(""); + if (sectionStart < index) { + buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index); + sectionStart = index; + } + isNormalized = false; + } + ++index; + } else { + sourceLength = 1; + if ((char & 64512) === 55296 && index + 1 < end) { + t2 = index + 1; + if (!(t2 < t1)) + return A.ioore(host, t2); + tail = host.charCodeAt(t2); + if ((tail & 64512) === 56320) { + char = 65536 + ((char & 1023) << 10) + (tail & 1023); + sourceLength = 2; + } + } + slice = B.JSString_methods.substring$2(host, sectionStart, index); + if (buffer == null) { + buffer = new A.StringBuffer(""); + t2 = buffer; + } else + t2 = buffer; + t2._contents += slice; + t3 = A._Uri__escapeChar(char); + t2._contents += t3; + index += sourceLength; + sectionStart = index; + } + } + if (buffer == null) + return B.JSString_methods.substring$2(host, start, end); + if (sectionStart < end) { + slice = B.JSString_methods.substring$2(host, sectionStart, end); + buffer._contents += slice; + } + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _Uri__normalizeRegName(host, start, end) { + var t1, index, sectionStart, buffer, isNormalized, char, replacement, t2, slice, t3, sourceLength, tail, + _s128_ = string$.x00_____; + for (t1 = host.length, index = start, sectionStart = index, buffer = null, isNormalized = true; index < end;) { + if (!(index >= 0 && index < t1)) + return A.ioore(host, index); + char = host.charCodeAt(index); + if (char === 37) { + replacement = A._Uri__normalizeEscape(host, index, true); + t2 = replacement == null; + if (t2 && isNormalized) { + index += 3; + continue; + } + if (buffer == null) + buffer = new A.StringBuffer(""); + slice = B.JSString_methods.substring$2(host, sectionStart, index); + if (!isNormalized) + slice = slice.toLowerCase(); + t3 = buffer._contents += slice; + sourceLength = 3; + if (t2) + replacement = B.JSString_methods.substring$2(host, index, index + 3); + else if (replacement === "%") { + replacement = "%25"; + sourceLength = 1; + } + buffer._contents = t3 + replacement; + index += sourceLength; + sectionStart = index; + isNormalized = true; + } else if (char < 127 && (_s128_.charCodeAt(char) & 32) !== 0) { + if (isNormalized && 65 <= char && 90 >= char) { + if (buffer == null) + buffer = new A.StringBuffer(""); + if (sectionStart < index) { + buffer._contents += B.JSString_methods.substring$2(host, sectionStart, index); + sectionStart = index; + } + isNormalized = false; + } + ++index; + } else if (char <= 93 && (_s128_.charCodeAt(char) & 1024) !== 0) + A._Uri__fail(host, index, "Invalid character"); + else { + sourceLength = 1; + if ((char & 64512) === 55296 && index + 1 < end) { + t2 = index + 1; + if (!(t2 < t1)) + return A.ioore(host, t2); + tail = host.charCodeAt(t2); + if ((tail & 64512) === 56320) { + char = 65536 + ((char & 1023) << 10) + (tail & 1023); + sourceLength = 2; + } + } + slice = B.JSString_methods.substring$2(host, sectionStart, index); + if (!isNormalized) + slice = slice.toLowerCase(); + if (buffer == null) { + buffer = new A.StringBuffer(""); + t2 = buffer; + } else + t2 = buffer; + t2._contents += slice; + t3 = A._Uri__escapeChar(char); + t2._contents += t3; + index += sourceLength; + sectionStart = index; + } + } + if (buffer == null) + return B.JSString_methods.substring$2(host, start, end); + if (sectionStart < end) { + slice = B.JSString_methods.substring$2(host, sectionStart, end); + if (!isNormalized) + slice = slice.toLowerCase(); + buffer._contents += slice; + } + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _Uri__makeScheme(scheme, start, end) { + var t1, i, containsUpperCase, codeUnit; + if (start === end) + return ""; + t1 = scheme.length; + if (!(start < t1)) + return A.ioore(scheme, start); + if (!A._Uri__isAlphabeticCharacter(scheme.charCodeAt(start))) + A._Uri__fail(scheme, start, "Scheme not starting with alphabetic character"); + for (i = start, containsUpperCase = false; i < end; ++i) { + if (!(i < t1)) + return A.ioore(scheme, i); + codeUnit = scheme.charCodeAt(i); + if (!(codeUnit < 128 && (string$.x00_____.charCodeAt(codeUnit) & 8) !== 0)) + A._Uri__fail(scheme, i, "Illegal scheme character"); + if (65 <= codeUnit && codeUnit <= 90) + containsUpperCase = true; + } + scheme = B.JSString_methods.substring$2(scheme, start, end); + return A._Uri__canonicalizeScheme(containsUpperCase ? scheme.toLowerCase() : scheme); + }, + _Uri__canonicalizeScheme(scheme) { + if (scheme === "http") + return "http"; + if (scheme === "file") + return "file"; + if (scheme === "https") + return "https"; + if (scheme === "package") + return "package"; + return scheme; + }, + _Uri__makeUserInfo(userInfo, start, end) { + if (userInfo == null) + return ""; + return A._Uri__normalizeOrSubstring(userInfo, start, end, 16, false, false); + }, + _Uri__makePath(path, start, end, pathSegments, scheme, hasAuthority) { + var t1, result, + isFile = scheme === "file", + ensureLeadingSlash = isFile || hasAuthority; + if (path == null) { + if (pathSegments == null) + return isFile ? "/" : ""; + t1 = A._arrayInstanceType(pathSegments); + result = new A.MappedListIterable(pathSegments, t1._eval$1("String(1)")._as(new A._Uri__makePath_closure()), t1._eval$1("MappedListIterable<1,String>")).join$1(0, "/"); + } else if (pathSegments != null) + throw A.wrapException(A.ArgumentError$("Both path and pathSegments specified", null)); + else + result = A._Uri__normalizeOrSubstring(path, start, end, 128, true, true); + if (result.length === 0) { + if (isFile) + return "/"; + } else if (ensureLeadingSlash && !B.JSString_methods.startsWith$1(result, "/")) + result = "/" + result; + return A._Uri__normalizePath(result, scheme, hasAuthority); + }, + _Uri__normalizePath(path, scheme, hasAuthority) { + var t1 = scheme.length === 0; + if (t1 && !hasAuthority && !B.JSString_methods.startsWith$1(path, "/") && !B.JSString_methods.startsWith$1(path, "\\")) + return A._Uri__normalizeRelativePath(path, !t1 || hasAuthority); + return A._Uri__removeDotSegments(path); + }, + _Uri__makeQuery(query, start, end, queryParameters) { + if (query != null) + return A._Uri__normalizeOrSubstring(query, start, end, 256, true, false); + return null; + }, + _Uri__makeFragment(fragment, start, end) { + if (fragment == null) + return null; + return A._Uri__normalizeOrSubstring(fragment, start, end, 256, true, false); + }, + _Uri__normalizeEscape(source, index, lowerCase) { + var t2, t3, firstDigit, secondDigit, firstDigitValue, secondDigitValue, value, + _s128_ = string$.x00_____, + t1 = source.length; + if (!(index >= 0 && index < t1)) + return A.ioore(source, index); + A.assertHelper(source.charCodeAt(index) === 37); + t2 = index + 2; + if (t2 >= t1) + return "%"; + t3 = index + 1; + if (!(t3 < t1)) + return A.ioore(source, t3); + firstDigit = source.charCodeAt(t3); + secondDigit = source.charCodeAt(t2); + firstDigitValue = A.hexDigitValue(firstDigit); + secondDigitValue = A.hexDigitValue(secondDigit); + if (firstDigitValue < 0 || secondDigitValue < 0) + return "%"; + value = firstDigitValue * 16 + secondDigitValue; + if (value < 127) { + if (!(value >= 0)) + return A.ioore(_s128_, value); + t1 = (_s128_.charCodeAt(value) & 1) !== 0; + } else + t1 = false; + if (t1) + return A.Primitives_stringFromCharCode(lowerCase && 65 <= value && 90 >= value ? (value | 32) >>> 0 : value); + if (firstDigit >= 97 || secondDigit >= 97) + return B.JSString_methods.substring$2(source, index, index + 3).toUpperCase(); + return null; + }, + _Uri__escapeChar(char) { + var codeUnits, t1, flag, encodedBytes, index, byte, t2, t3, + _s16_ = "0123456789ABCDEF"; + A.assertHelper(char <= 1114111); + if (char <= 127) { + codeUnits = new Uint8Array(3); + codeUnits[0] = 37; + t1 = char >>> 4; + if (!(t1 < 16)) + return A.ioore(_s16_, t1); + codeUnits[1] = _s16_.charCodeAt(t1); + codeUnits[2] = _s16_.charCodeAt(char & 15); + } else { + if (char > 2047) + if (char > 65535) { + flag = 240; + encodedBytes = 4; + } else { + flag = 224; + encodedBytes = 3; + } + else { + flag = 192; + encodedBytes = 2; + } + t1 = 3 * encodedBytes; + codeUnits = new Uint8Array(t1); + for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) { + byte = B.JSInt_methods._shrReceiverPositive$1(char, 6 * encodedBytes) & 63 | flag; + if (!(index < t1)) + return A.ioore(codeUnits, index); + codeUnits[index] = 37; + t2 = index + 1; + t3 = byte >>> 4; + if (!(t3 < 16)) + return A.ioore(_s16_, t3); + if (!(t2 < t1)) + return A.ioore(codeUnits, t2); + codeUnits[t2] = _s16_.charCodeAt(t3); + t3 = index + 2; + if (!(t3 < t1)) + return A.ioore(codeUnits, t3); + codeUnits[t3] = _s16_.charCodeAt(byte & 15); + index += 3; + } + } + return A.String_String$fromCharCodes(codeUnits, 0, null); + }, + _Uri__normalizeOrSubstring(component, start, end, charMask, escapeDelimiters, replaceBackslash) { + var t1 = A._Uri__normalize(component, start, end, charMask, escapeDelimiters, replaceBackslash); + return t1 == null ? B.JSString_methods.substring$2(component, start, end) : t1; + }, + _Uri__normalize(component, start, end, charMask, escapeDelimiters, replaceBackslash) { + var t1, t2, index, sectionStart, buffer, char, sourceLength, replacement, t3, tail, _null = null, + _s128_ = string$.x00_____; + for (t1 = !escapeDelimiters, t2 = component.length, index = start, sectionStart = index, buffer = _null; index < end;) { + if (!(index >= 0 && index < t2)) + return A.ioore(component, index); + char = component.charCodeAt(index); + if (char < 127 && (_s128_.charCodeAt(char) & charMask) !== 0) + ++index; + else { + sourceLength = 1; + if (char === 37) { + replacement = A._Uri__normalizeEscape(component, index, false); + if (replacement == null) { + index += 3; + continue; + } + if ("%" === replacement) + replacement = "%25"; + else + sourceLength = 3; + } else if (char === 92 && replaceBackslash) + replacement = "/"; + else if (t1 && char <= 93 && (_s128_.charCodeAt(char) & 1024) !== 0) { + A._Uri__fail(component, index, "Invalid character"); + sourceLength = _null; + replacement = sourceLength; + } else { + if ((char & 64512) === 55296) { + t3 = index + 1; + if (t3 < end) { + if (!(t3 < t2)) + return A.ioore(component, t3); + tail = component.charCodeAt(t3); + if ((tail & 64512) === 56320) { + char = 65536 + ((char & 1023) << 10) + (tail & 1023); + sourceLength = 2; + } + } + } + replacement = A._Uri__escapeChar(char); + } + if (buffer == null) { + buffer = new A.StringBuffer(""); + t3 = buffer; + } else + t3 = buffer; + t3._contents = (t3._contents += B.JSString_methods.substring$2(component, sectionStart, index)) + replacement; + if (typeof sourceLength !== "number") + return A.iae(sourceLength); + index += sourceLength; + sectionStart = index; + } + } + if (buffer == null) + return _null; + if (sectionStart < end) { + t1 = B.JSString_methods.substring$2(component, sectionStart, end); + buffer._contents += t1; + } + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _Uri__mayContainDotSegments(path) { + if (B.JSString_methods.startsWith$1(path, ".")) + return true; + return B.JSString_methods.indexOf$1(path, "/.") !== -1; + }, + _Uri__removeDotSegments(path) { + var output, t1, t2, appendSlash, _i, segment, t3; + if (!A._Uri__mayContainDotSegments(path)) + return path; + A.assertHelper(path.length !== 0); + output = A._setArrayType([], type$.JSArray_String); + for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) { + segment = t1[_i]; + if (segment === "..") { + t3 = output.length; + if (t3 !== 0) { + if (0 >= t3) + return A.ioore(output, -1); + output.pop(); + if (output.length === 0) + B.JSArray_methods.add$1(output, ""); + } + appendSlash = true; + } else { + appendSlash = "." === segment; + if (!appendSlash) + B.JSArray_methods.add$1(output, segment); + } + } + if (appendSlash) + B.JSArray_methods.add$1(output, ""); + return B.JSArray_methods.join$1(output, "/"); + }, + _Uri__normalizeRelativePath(path, allowScheme) { + var output, t1, t2, appendSlash, _i, segment; + A.assertHelper(!B.JSString_methods.startsWith$1(path, "/")); + if (!A._Uri__mayContainDotSegments(path)) + return !allowScheme ? A._Uri__escapeScheme(path) : path; + A.assertHelper(path.length !== 0); + output = A._setArrayType([], type$.JSArray_String); + for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0; _i < t2; ++_i) { + segment = t1[_i]; + if (".." === segment) { + if (output.length !== 0 && B.JSArray_methods.get$last(output) !== "..") { + if (0 >= output.length) + return A.ioore(output, -1); + output.pop(); + } else + B.JSArray_methods.add$1(output, ".."); + appendSlash = true; + } else { + appendSlash = "." === segment; + if (!appendSlash) + B.JSArray_methods.add$1(output, segment.length === 0 && output.length === 0 ? "./" : segment); + } + } + if (output.length === 0) + return "./"; + A.assertHelper(B.JSArray_methods.get$first(output).length !== 0); + if (appendSlash) + B.JSArray_methods.add$1(output, ""); + if (!allowScheme) { + if (0 >= output.length) + return A.ioore(output, 0); + B.JSArray_methods.$indexSet(output, 0, A._Uri__escapeScheme(output[0])); + } + return B.JSArray_methods.join$1(output, "/"); + }, + _Uri__escapeScheme(path) { + var i, char, t2, + _s128_ = string$.x00_____, + t1 = path.length; + if (t1 >= 2 && A._Uri__isAlphabeticCharacter(path.charCodeAt(0))) + for (i = 1; i < t1; ++i) { + char = path.charCodeAt(i); + if (char === 58) + return B.JSString_methods.substring$2(path, 0, i) + "%3A" + B.JSString_methods.substring$1(path, i + 1); + if (char <= 127) { + if (!(char < 128)) + return A.ioore(_s128_, char); + t2 = (_s128_.charCodeAt(char) & 8) === 0; + } else + t2 = true; + if (t2) + break; + } + return path; + }, + _Uri__packageNameEnd(uri, path) { + if (uri.isScheme$1("package") && uri._host == null) + return A._skipPackageNameChars(path, 0, path.length); + return -1; + }, + _Uri__hexCharPairToByte(s, pos) { + var t1, byte, i, t2, charCode; + for (t1 = s.length, byte = 0, i = 0; i < 2; ++i) { + t2 = pos + i; + if (!(t2 < t1)) + return A.ioore(s, t2); + charCode = s.charCodeAt(t2); + if (48 <= charCode && charCode <= 57) + byte = byte * 16 + charCode - 48; + else { + charCode |= 32; + if (97 <= charCode && charCode <= 102) + byte = byte * 16 + charCode - 87; + else + throw A.wrapException(A.ArgumentError$("Invalid URL encoding", null)); + } + } + return byte; + }, + _Uri__uriDecode(text, start, end, encoding, plusToSpace) { + var t1, simple, i, codeUnit, t2, bytes; + A.assertHelper(start <= end); + t1 = text.length; + A.assertHelper(end <= t1); + i = start; + for (;;) { + if (!(i < end)) { + simple = true; + break; + } + if (!(i < t1)) + return A.ioore(text, i); + codeUnit = text.charCodeAt(i); + if (codeUnit <= 127) + t2 = codeUnit === 37; + else + t2 = true; + if (t2) { + simple = false; + break; + } + ++i; + } + if (simple) + if (B.C_Utf8Codec === encoding) + return B.JSString_methods.substring$2(text, start, end); + else + bytes = new A.CodeUnits(B.JSString_methods.substring$2(text, start, end)); + else { + bytes = A._setArrayType([], type$.JSArray_int); + for (i = start; i < end; ++i) { + if (!(i < t1)) + return A.ioore(text, i); + codeUnit = text.charCodeAt(i); + if (codeUnit > 127) + throw A.wrapException(A.ArgumentError$("Illegal percent encoding in URI", null)); + if (codeUnit === 37) { + if (i + 3 > t1) + throw A.wrapException(A.ArgumentError$("Truncated URI", null)); + B.JSArray_methods.add$1(bytes, A._Uri__hexCharPairToByte(text, i + 1)); + i += 2; + } else + B.JSArray_methods.add$1(bytes, codeUnit); + } + } + return encoding.decode$1(bytes); + }, + _Uri__isAlphabeticCharacter(codeUnit) { + var lowerCase = codeUnit | 32; + return 97 <= lowerCase && lowerCase <= 122; + }, + UriData__writeUri(mimeType, charsetName, parameters, buffer, indices) { + buffer._contents = buffer._contents; + }, + UriData__parse(text, start, sourceUri) { + var indices, t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data, + _s17_ = "Invalid MIME type"; + A.assertHelper(start === 0 || start === 5); + A.assertHelper(start === 5 === B.JSString_methods.startsWith$1(text, "data:")); + indices = A._setArrayType([start - 1], type$.JSArray_int); + for (t1 = text.length, i = start, slashIndex = -1, char = null; i < t1; ++i) { + char = text.charCodeAt(i); + if (char === 44 || char === 59) + break; + if (char === 47) { + if (slashIndex < 0) { + slashIndex = i; + continue; + } + throw A.wrapException(A.FormatException$(_s17_, text, i)); + } + } + if (slashIndex < 0 && i > start) + throw A.wrapException(A.FormatException$(_s17_, text, i)); + while (char !== 44) { + B.JSArray_methods.add$1(indices, i); + ++i; + for (equalsIndex = -1; i < t1; ++i) { + if (!(i >= 0)) + return A.ioore(text, i); + char = text.charCodeAt(i); + if (char === 61) { + if (equalsIndex < 0) + equalsIndex = i; + } else if (char === 59 || char === 44) + break; + } + if (equalsIndex >= 0) + B.JSArray_methods.add$1(indices, equalsIndex); + else { + lastSeparator = B.JSArray_methods.get$last(indices); + if (char !== 44 || i !== lastSeparator + 7 || !B.JSString_methods.startsWith$2(text, "base64", lastSeparator + 1)) + throw A.wrapException(A.FormatException$("Expecting '='", text, i)); + break; + } + } + B.JSArray_methods.add$1(indices, i); + t2 = i + 1; + if ((indices.length & 1) === 1) + text = B.C_Base64Codec.normalize$3(text, t2, t1); + else { + data = A._Uri__normalize(text, t2, t1, 256, true, false); + if (data != null) + text = B.JSString_methods.replaceRange$3(text, t2, t1, data); + } + return new A.UriData(text, indices, sourceUri); + }, + UriData__uriEncodeBytes(canonicalMask, bytes, buffer) { + var t1, byteOr, i, byte, t2, + _s16_ = "0123456789ABCDEF"; + for (t1 = bytes.length, byteOr = 0, i = 0; i < t1; ++i) { + byte = bytes[i]; + byteOr |= byte; + if (byte < 128 && (string$.x00_____.charCodeAt(byte) & canonicalMask) !== 0) { + t2 = A.Primitives_stringFromCharCode(byte); + buffer._contents += t2; + } else { + t2 = A.Primitives_stringFromCharCode(37); + buffer._contents += t2; + t2 = byte >>> 4; + if (!(t2 < 16)) + return A.ioore(_s16_, t2); + t2 = A.Primitives_stringFromCharCode(_s16_.charCodeAt(t2)); + buffer._contents += t2; + t2 = A.Primitives_stringFromCharCode(_s16_.charCodeAt(byte & 15)); + buffer._contents += t2; + } + } + if ((byteOr & 4294967040) !== 0) + for (i = 0; i < t1; ++i) { + byte = bytes[i]; + if (byte > 255) + throw A.wrapException(A.ArgumentError$value(byte, "non-byte value", null)); + } + }, + _scan(uri, start, end, state, indices) { + var i, char, t2, transition, + _s2112_ = '\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe1\xe1\x01\xe1\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe3\xe1\xe1\x01\xe1\x01\xe1\xcd\x01\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x0e\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"\x01\xe1\x01\xe1\xac\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe1\xe1\x01\xe1\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xea\xe1\xe1\x01\xe1\x01\xe1\xcd\x01\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\n\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"\x01\xe1\x01\xe1\xac\xeb\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\xeb\xeb\xeb\x8b\xeb\xeb\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\xeb\x83\xeb\xeb\x8b\xeb\x8b\xeb\xcd\x8b\xeb\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x92\x83\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\xeb\x8b\xeb\x8b\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xebD\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x12D\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xe5\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\xe5\xe5\xe5\x05\xe5D\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe8\x8a\xe5\xe5\x05\xe5\x05\xe5\xcd\x05\xe5\x05\x05\x05\x05\x05\x05\x05\x05\x05\x8a\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05f\x05\xe5\x05\xe5\xac\xe5\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\xe5\xe5\xe5\x05\xe5D\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\xe5\x8a\xe5\xe5\x05\xe5\x05\xe5\xcd\x05\xe5\x05\x05\x05\x05\x05\x05\x05\x05\x05\x8a\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05f\x05\xe5\x05\xe5\xac\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7D\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x8a\xe7\xe7\xe7\xe7\xe7\xe7\xcd\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x8a\xe7\x07\x07\x07\x07\x07\x07\x07\x07\x07\xe7\xe7\xe7\xe7\xe7\xac\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7D\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x8a\xe7\xe7\xe7\xe7\xe7\xe7\xcd\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\xe7\x8a\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\xe7\xe7\xe7\xe7\xe7\xac\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\x05\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x10\xea\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x12\n\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\v\n\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xec\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\xec\xec\xec\f\xec\xec\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\f\xec\xec\xec\xec\f\xec\f\xec\xcd\f\xec\f\f\f\f\f\f\f\f\f\xec\f\f\f\f\f\f\f\f\f\f\xec\f\xec\f\xec\f\xed\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\xed\xed\xed\r\xed\xed\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\xed\xed\xed\xed\r\xed\r\xed\xed\r\xed\r\r\r\r\r\r\r\r\r\xed\r\r\r\r\r\r\r\r\r\r\xed\r\xed\r\xed\r\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe1\xe1\x01\xe1\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xea\xe1\xe1\x01\xe1\x01\xe1\xcd\x01\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x0f\xea\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"\x01\xe1\x01\xe1\xac\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe1\xe1\x01\xe1\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\xe1\xe9\xe1\xe1\x01\xe1\x01\xe1\xcd\x01\xe1\x01\x01\x01\x01\x01\x01\x01\x01\x01\t\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"\x01\xe1\x01\xe1\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x11\xea\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xe9\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\v\t\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\x13\xea\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xeb\xeb\v\xeb\xeb\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\v\xeb\xea\xeb\xeb\v\xeb\v\xeb\xcd\v\xeb\v\v\v\v\v\v\v\v\v\xea\v\v\v\v\v\v\v\v\v\v\xeb\v\xeb\v\xeb\xac\xf5\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\xf5\x15\xf5\x15\x15\xf5\x15\x15\x15\x15\x15\x15\x15\x15\x15\x15\xf5\xf5\xf5\xf5\xf5\xf5', + t1 = uri.length; + A.assertHelper(end <= t1); + for (i = start; i < end; ++i) { + if (!(i < t1)) + return A.ioore(uri, i); + char = uri.charCodeAt(i) ^ 96; + if (char > 95) + char = 31; + t2 = state * 96 + char; + if (!(t2 < 2112)) + return A.ioore(_s2112_, t2); + transition = _s2112_.charCodeAt(t2); + state = transition & 31; + B.JSArray_methods.$indexSet(indices, transition >>> 5, i); + } + return state; + }, + _SimpleUri__packageNameEnd(uri) { + if (uri._schemeEnd === 7 && B.JSString_methods.startsWith$1(uri._uri, "package") && uri._hostStart <= 0) + return A._skipPackageNameChars(uri._uri, uri._pathStart, uri._queryStart); + return -1; + }, + _skipPackageNameChars(source, start, end) { + var t1, i, dots, char; + for (t1 = source.length, i = start, dots = 0; i < end; ++i) { + if (!(i >= 0 && i < t1)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 47) + return dots !== 0 ? i : -1; + if (char === 37 || char === 58) + return -1; + dots |= char ^ 46; + } + return -1; + }, + _caseInsensitiveCompareStart(prefix, string, start) { + var t1, t2, result, i, t3, stringChar, delta, lowerChar; + for (t1 = prefix.length, t2 = string.length, result = 0, i = 0; i < t1; ++i) { + t3 = start + i; + if (!(t3 < t2)) + return A.ioore(string, t3); + stringChar = string.charCodeAt(t3); + delta = prefix.charCodeAt(i) ^ stringChar; + if (delta !== 0) { + if (delta === 32) { + lowerChar = stringChar | delta; + if (97 <= lowerChar && lowerChar <= 122) { + result = 32; + continue; + } + } + return -1; + } + } + return result; + }, + _BigIntImpl: function _BigIntImpl(t0, t1, t2) { + this._isNegative = t0; + this._digits = t1; + this._used = t2; + }, + _BigIntImpl_hashCode_combine: function _BigIntImpl_hashCode_combine() { + }, + _BigIntImpl_hashCode_finish: function _BigIntImpl_hashCode_finish() { + }, + _FinalizationRegistryWrapper: function _FinalizationRegistryWrapper(t0, t1) { + this._registry = t0; + this.$ti = t1; + }, + DateTime: function DateTime(t0, t1, t2) { + this._core$_value = t0; + this._microsecond = t1; + this.isUtc = t2; + }, + Duration: function Duration(t0) { + this._duration = t0; + }, + _Enum: function _Enum() { + }, + Error: function Error() { + }, + AssertionError: function AssertionError(t0) { + this.message = t0; + }, + TypeError: function TypeError() { + }, + ArgumentError: function ArgumentError(t0, t1, t2, t3) { + var _ = this; + _._hasValue = t0; + _.invalidValue = t1; + _.name = t2; + _.message = t3; + }, + RangeError: function RangeError(t0, t1, t2, t3, t4, t5) { + var _ = this; + _.start = t0; + _.end = t1; + _._hasValue = t2; + _.invalidValue = t3; + _.name = t4; + _.message = t5; + }, + IndexError: function IndexError(t0, t1, t2, t3, t4) { + var _ = this; + _.length = t0; + _._hasValue = t1; + _.invalidValue = t2; + _.name = t3; + _.message = t4; + }, + UnsupportedError: function UnsupportedError(t0) { + this.message = t0; + }, + UnimplementedError: function UnimplementedError(t0) { + this.message = t0; + }, + StateError: function StateError(t0) { + this.message = t0; + }, + ConcurrentModificationError: function ConcurrentModificationError(t0) { + this.modifiedObject = t0; + }, + OutOfMemoryError: function OutOfMemoryError() { + }, + StackOverflowError: function StackOverflowError() { + }, + _Exception: function _Exception(t0) { + this.message = t0; + }, + FormatException: function FormatException(t0, t1, t2) { + this.message = t0; + this.source = t1; + this.offset = t2; + }, + IntegerDivisionByZeroException: function IntegerDivisionByZeroException() { + }, + Iterable: function Iterable() { + }, + MapEntry: function MapEntry(t0, t1, t2) { + this.key = t0; + this.value = t1; + this.$ti = t2; + }, + Null: function Null() { + }, + Object: function Object() { + }, + _StringStackTrace: function _StringStackTrace(t0) { + this._stackTrace = t0; + }, + StringBuffer: function StringBuffer(t0) { + this._contents = t0; + }, + Uri_parseIPv6Address_error: function Uri_parseIPv6Address_error(t0) { + this.host = t0; + }, + _Uri: function _Uri(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.scheme = t0; + _._userInfo = t1; + _._host = t2; + _._port = t3; + _.path = t4; + _._query = t5; + _._fragment = t6; + _.___Uri_hashCode_FI = _.___Uri_pathSegments_FI = _.___Uri__text_FI = $; + }, + _Uri__makePath_closure: function _Uri__makePath_closure() { + }, + UriData: function UriData(t0, t1, t2) { + this._text = t0; + this._separatorIndices = t1; + this._uriCache = t2; + }, + _SimpleUri: function _SimpleUri(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _._uri = t0; + _._schemeEnd = t1; + _._hostStart = t2; + _._portStart = t3; + _._pathStart = t4; + _._queryStart = t5; + _._fragmentStart = t6; + _._schemeCache = t7; + _._hashCodeCache = null; + }, + _DataUri: function _DataUri(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.scheme = t0; + _._userInfo = t1; + _._host = t2; + _._port = t3; + _.path = t4; + _._query = t5; + _._fragment = t6; + _.___Uri_hashCode_FI = _.___Uri_pathSegments_FI = _.___Uri__text_FI = $; + }, + Expando: function Expando(t0, t1) { + this._jsWeakMap = t0; + this.$ti = t1; + }, + ListToJSArray_get_toJS(_this, $T) { + return _this; + }, + JSAnyUtilityExtension_instanceOfString(_this, constructorName) { + var parts, $constructor, t1, _i, t2; + if (constructorName.length === 0) + return false; + parts = constructorName.split("."); + $constructor = init.G; + for (t1 = parts.length, _i = 0; _i < t1; ++_i, $constructor = t2) { + t2 = $constructor[parts[_i]]; + A._asJSObjectQ(t2); + if (t2 == null) + return false; + } + return _this instanceof type$.JavaScriptFunction._as($constructor); + }, + NullRejectionException: function NullRejectionException(t0) { + this.isUndefined = t0; + }, + _functionToJS1(f) { + var result; + if (typeof f == "function") + throw A.wrapException(A.ArgumentError$("Attempting to rewrap a JS function.", null)); + result = function(_call, f) { + return function(arg1) { + return _call(f, arg1, arguments.length); + }; + }(A._callDartFunctionFast1, f); + result[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + return result; + }, + _functionToJS2(f) { + var result; + if (typeof f == "function") + throw A.wrapException(A.ArgumentError$("Attempting to rewrap a JS function.", null)); + result = function(_call, f) { + return function(arg1, arg2) { + return _call(f, arg1, arg2, arguments.length); + }; + }(A._callDartFunctionFast2, f); + result[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + return result; + }, + _functionToJS3(f) { + var result; + if (typeof f == "function") + throw A.wrapException(A.ArgumentError$("Attempting to rewrap a JS function.", null)); + result = function(_call, f) { + return function(arg1, arg2, arg3) { + return _call(f, arg1, arg2, arg3, arguments.length); + }; + }(A._callDartFunctionFast3, f); + result[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + return result; + }, + _functionToJS4(f) { + var result; + if (typeof f == "function") + throw A.wrapException(A.ArgumentError$("Attempting to rewrap a JS function.", null)); + result = function(_call, f) { + return function(arg1, arg2, arg3, arg4) { + return _call(f, arg1, arg2, arg3, arg4, arguments.length); + }; + }(A._callDartFunctionFast4, f); + result[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + return result; + }, + _functionToJS5(f) { + var result; + if (typeof f == "function") + throw A.wrapException(A.ArgumentError$("Attempting to rewrap a JS function.", null)); + result = function(_call, f) { + return function(arg1, arg2, arg3, arg4, arg5) { + return _call(f, arg1, arg2, arg3, arg4, arg5, arguments.length); + }; + }(A._callDartFunctionFast5, f); + result[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + return result; + }, + _callDartFunctionFast1(callback, arg1, $length) { + type$.Function._as(callback); + if (A._asInt($length) >= 1) + return callback.call$1(arg1); + return callback.call$0(); + }, + _callDartFunctionFast2(callback, arg1, arg2, $length) { + type$.Function._as(callback); + A._asInt($length); + if ($length >= 2) + return callback.call$2(arg1, arg2); + if ($length === 1) + return callback.call$1(arg1); + return callback.call$0(); + }, + _callDartFunctionFast3(callback, arg1, arg2, arg3, $length) { + type$.Function._as(callback); + A._asInt($length); + if ($length >= 3) + return callback.call$3(arg1, arg2, arg3); + if ($length === 2) + return callback.call$2(arg1, arg2); + if ($length === 1) + return callback.call$1(arg1); + return callback.call$0(); + }, + _callDartFunctionFast4(callback, arg1, arg2, arg3, arg4, $length) { + type$.Function._as(callback); + A._asInt($length); + if ($length >= 4) + return callback.call$4(arg1, arg2, arg3, arg4); + if ($length === 3) + return callback.call$3(arg1, arg2, arg3); + if ($length === 2) + return callback.call$2(arg1, arg2); + if ($length === 1) + return callback.call$1(arg1); + return callback.call$0(); + }, + _callDartFunctionFast5(callback, arg1, arg2, arg3, arg4, arg5, $length) { + type$.Function._as(callback); + A._asInt($length); + if ($length >= 5) + return callback.call$5(arg1, arg2, arg3, arg4, arg5); + if ($length === 4) + return callback.call$4(arg1, arg2, arg3, arg4); + if ($length === 3) + return callback.call$3(arg1, arg2, arg3); + if ($length === 2) + return callback.call$2(arg1, arg2); + if ($length === 1) + return callback.call$1(arg1); + return callback.call$0(); + }, + _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); + }, + callMethod(o, method, args, $T) { + A.assertInteropArgs(args); + return $T._as(o[method].apply(o, args)); + }, + callConstructor(constr, $arguments, $T) { + var args, factoryFunction; + if ($arguments == null) + return $T._as(new constr()); + else + A.assertInteropArgs($arguments); + 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>")); + 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); + }, + jsify__convert: function jsify__convert(t0) { + this._convertedObjects = t0; + }, + promiseToFuture_closure: function promiseToFuture_closure(t0, t1) { + this.completer = t0; + this.T = t1; + }, + promiseToFuture_closure0: function promiseToFuture_closure0(t0) { + this.completer = t0; + }, + dartify_convert: function dartify_convert(t0) { + this._convertedObjects = t0; + }, + max(a, b, $T) { + A.checkTypeBound($T, type$.num, "T", "max"); + return Math.max($T._as(a), $T._as(b)); + }, + sqrt(x) { + return Math.sqrt(x); + }, + sin(radians) { + return Math.sin(radians); + }, + cos(radians) { + return Math.cos(radians); + }, + tan(radians) { + return Math.tan(radians); + }, + acos(x) { + return Math.acos(x); + }, + asin(x) { + return Math.asin(x); + }, + atan(x) { + return Math.atan(x); + }, + _JSSecureRandom: function _JSSecureRandom(t0) { + this._math$_buffer = t0; + }, + DelegatingStreamSink: function DelegatingStreamSink() { + }, + DefaultEquality: function DefaultEquality(t0) { + this.$ti = t0; + }, + ListEquality: function ListEquality(t0) { + this.$ti = t0; + }, + NonGrowableListMixin: function NonGrowableListMixin() { + }, + UnmodifiableMapMixin: function UnmodifiableMapMixin() { + }, + DriftCommunication$(_channel, serialize) { + var t1 = new A.DriftCommunication(_channel, serialize, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$._PendingRequest), A.StreamController_StreamController(null, null, true, type$.Request), new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void)); + t1.DriftCommunication$3$debugLog$serialize(_channel, false, serialize); + return t1; + }, + DriftCommunication: function DriftCommunication(t0, t1, t2, t3, t4) { + var _ = this; + _._communication$_channel = t0; + _._serialize = t1; + _._currentRequestId = 0; + _._pendingRequests = t2; + _._incomingRequests = t3; + _._startedClosingLocally = false; + _._closeCompleter = t4; + }, + DriftCommunication_closure: function DriftCommunication_closure(t0) { + this.$this = t0; + }, + DriftCommunication_setRequestHandler_closure: function DriftCommunication_setRequestHandler_closure(t0, t1) { + this.$this = t0; + this.handler = t1; + }, + _PendingRequest: function _PendingRequest(t0, t1) { + this.completer = t0; + this.requestTrace = t1; + }, + ConnectionClosedException: function ConnectionClosedException() { + }, + DriftRemoteException: function DriftRemoteException(t0) { + this.remoteCause = t0; + }, + DriftProtocol: function DriftProtocol() { + }, + DriftProtocol_decodePayload_readInt: function DriftProtocol_decodePayload_readInt(t0) { + this._box_0 = t0; + }, + DriftProtocol_decodePayload_readNullableInt: function DriftProtocol_decodePayload_readNullableInt(t0) { + this._box_0 = t0; + }, + Message: function Message() { + }, + Request: function Request(t0, t1) { + this.id = t0; + this.payload = t1; + }, + SuccessResponse: function SuccessResponse(t0, t1) { + this.requestId = t0; + this.response = t1; + }, + PrimitiveResponsePayload: function PrimitiveResponsePayload(t0) { + this.message = t0; + }, + ErrorResponse: function ErrorResponse(t0, t1, t2) { + this.requestId = t0; + this.error = t1; + this.stackTrace = t2; + }, + CancelledResponse: function CancelledResponse(t0) { + this.requestId = t0; + }, + NoArgsRequest: function NoArgsRequest(t0, t1) { + this.index = t0; + this._name = t1; + }, + StatementMethod: function StatementMethod(t0, t1) { + this.index = t0; + this._name = t1; + }, + ExecuteQuery: function ExecuteQuery(t0, t1, t2, t3) { + var _ = this; + _.method = t0; + _.sql = t1; + _.args = t2; + _.executorId = t3; + }, + RequestCancellation: function RequestCancellation(t0) { + this.originalRequestId = t0; + }, + ExecuteBatchedStatement: function ExecuteBatchedStatement(t0, t1) { + this.stmts = t0; + this.executorId = t1; + }, + NestedExecutorControl: function NestedExecutorControl(t0, t1) { + this.index = t0; + this._name = t1; + }, + RunNestedExecutorControl: function RunNestedExecutorControl(t0, t1) { + this.control = t0; + this.executorId = t1; + }, + EnsureOpen: function EnsureOpen(t0, t1) { + this.schemaVersion = t0; + this.executorId = t1; + }, + ServerInfo: function ServerInfo(t0) { + this.dialect = t0; + }, + RunBeforeOpen: function RunBeforeOpen(t0, t1) { + this.details = t0; + this.createdExecutor = t1; + }, + NotifyTablesUpdated: function NotifyTablesUpdated(t0) { + this.updates = t0; + }, + SelectResult: function SelectResult(t0) { + this.rows = t0; + }, + ServerImplementation$(connection, allowRemoteShutdown, closeExecutorWhenShutdown) { + var _null = null, + t1 = type$.int, + t2 = A._setArrayType([], type$.JSArray_int); + t1 = new A.ServerImplementation(connection, false, true, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.QueryExecutor), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.CancellationToken_dynamic), t2, new A._SyncBroadcastStreamController(_null, _null, type$._SyncBroadcastStreamController_void), A.LinkedHashSet_LinkedHashSet$_empty(type$.DriftCommunication), new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), A.StreamController_StreamController(_null, _null, false, type$.NotifyTablesUpdated)); + t1.ServerImplementation$3(connection, false, true); + return t1; + }, + ServerImplementation: function ServerImplementation(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) { + var _ = this; + _.connection = t0; + _.allowRemoteShutdown = t1; + _.closeExecutorWhenShutdown = t2; + _._managedExecutors = t3; + _._knownSchemaVersion = _._currentExecutorId = 0; + _._cancellableOperations = t4; + _._executorBacklog = t5; + _._backlogUpdated = t6; + _._isShuttingDown = false; + _._activeChannels = t7; + _._done = t8; + _._tableUpdateNotifications = t9; + }, + ServerImplementation_closure: function ServerImplementation_closure(t0) { + this.$this = t0; + }, + ServerImplementation_serve_closure: function ServerImplementation_serve_closure(t0, t1) { + this.$this = t0; + this.comm = t1; + }, + ServerImplementation_serve_closure0: function ServerImplementation_serve_closure0(t0, t1) { + this.$this = t0; + this.comm = t1; + }, + ServerImplementation__handleRequest_closure: function ServerImplementation__handleRequest_closure(t0, t1) { + this.$this = t0; + this.payload = t1; + }, + ServerImplementation__handleRequest_closure0: function ServerImplementation__handleRequest_closure0(t0, t1) { + this.$this = t0; + this.request = t1; + }, + ServerImplementation__waitForTurn_idIsActive: function ServerImplementation__waitForTurn_idIsActive(t0, t1) { + this.$this = t0; + this.transactionId = t1; + }, + ServerImplementation__waitForTurn_closure: function ServerImplementation__waitForTurn_closure(t0) { + this.idIsActive = t0; + }, + _ServerDbUser: function _ServerDbUser(t0, t1, t2) { + this._server = t0; + this.connection = t1; + this.schemaVersion = t2; + }, + WebProtocol: function WebProtocol(t0) { + this._protocolVersion = t0; + }, + WebProtocol_deserialize_decodeRequest: function WebProtocol_deserialize_decodeRequest(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + WebProtocol_deserialize_decodeSuccess: function WebProtocol_deserialize_decodeSuccess(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + WebProtocol__serializeRequest_closure: function WebProtocol__serializeRequest_closure() { + }, + WebProtocol__deserializeRequest_readBatched: function WebProtocol__deserializeRequest_readBatched(t0, t1) { + this.$this = t0; + this.dartList = t1; + }, + WebProtocol__deserializeRequest_readBatched_closure: function WebProtocol__deserializeRequest_readBatched_closure() { + }, + WebProtocol__deserializeRequest_readBatched_closure0: function WebProtocol__deserializeRequest_readBatched_closure0() { + }, + WebProtocol__deserializeRequest_closure: function WebProtocol__deserializeRequest_closure() { + }, + WebProtocol__serializeSelectResult_closure: function WebProtocol__serializeSelectResult_closure() { + }, + WebProtocol__deserializeResponse_closure: function WebProtocol__deserializeResponse_closure() { + }, + UpdateKind: function UpdateKind(t0, t1) { + this.index = t0; + this._name = t1; + }, + TableUpdate: function TableUpdate(t0, t1) { + this.kind = t0; + this.table = t1; + }, + runCancellable(operation, $T) { + var token, t2, t1 = {}; + t1.token = token; + t1.token = null; + token = new A.CancellationToken(new A._SyncCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_SyncCompleter<0>")), A._setArrayType([], type$.JSArray_of_void_Function), $T._eval$1("CancellationToken<0>")); + t1.token = token; + t2 = type$.nullable_Object; + A.runZoned(new A.runCancellable_closure(t1, operation, $T), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol_hNH, token], t2, t2), type$.void); + return t1.token; + }, + checkIfCancelled() { + var token = $.Zone__current.$index(0, B.Symbol_hNH); + if (token instanceof A.CancellationToken && token._cancellationRequested) + throw A.wrapException(B.C_CancellationException); + }, + runCancellable_closure: function runCancellable_closure(t0, t1, t2) { + this._box_0 = t0; + this.operation = t1; + this.T = t2; + }, + CancellationToken: function CancellationToken(t0, t1, t2) { + var _ = this; + _._resultCompleter = t0; + _._cancellationCallbacks = t1; + _._cancellationRequested = false; + _.$ti = t2; + }, + CancellationException: function CancellationException() { + }, + QueryExecutor: function QueryExecutor() { + }, + BatchedStatements: function BatchedStatements(t0, t1) { + this.statements = t0; + this.$arguments = t1; + }, + ArgumentsForBatchedStatement: function ArgumentsForBatchedStatement(t0, t1) { + this.statementIndex = t0; + this.$arguments = t1; + }, + _defaultSavepoint(depth) { + return "SAVEPOINT s" + A._asInt(depth); + }, + _defaultRelease(depth) { + return "RELEASE s" + A._asInt(depth); + }, + _defaultRollbackToSavepoint(depth) { + return "ROLLBACK TO s" + A._asInt(depth); + }, + DatabaseDelegate: function DatabaseDelegate() { + }, + QueryDelegate: function QueryDelegate() { + }, + TransactionDelegate: function TransactionDelegate() { + }, + NoTransactionDelegate: function NoTransactionDelegate() { + }, + DbVersionDelegate: function DbVersionDelegate() { + }, + NoVersionDelegate: function NoVersionDelegate() { + }, + DynamicVersionDelegate: function DynamicVersionDelegate() { + }, + _BaseExecutor: function _BaseExecutor() { + }, + _BaseExecutor__synchronized_closure: function _BaseExecutor__synchronized_closure(t0, t1, t2) { + this.abortIfCancelled = t0; + this.action = t1; + this.T = t2; + }, + _BaseExecutor_runSelect_closure: function _BaseExecutor_runSelect_closure(t0, t1, t2) { + this.$this = t0; + this.statement = t1; + this.args = t2; + }, + _BaseExecutor_runDelete_closure: function _BaseExecutor_runDelete_closure(t0, t1, t2) { + this.$this = t0; + this.statement = t1; + this.args = t2; + }, + _BaseExecutor_runInsert_closure: function _BaseExecutor_runInsert_closure(t0, t1, t2) { + this.$this = t0; + this.statement = t1; + this.args = t2; + }, + _BaseExecutor_runCustom_closure: function _BaseExecutor_runCustom_closure(t0, t1, t2) { + this.$this = t0; + this.args = t1; + this.statement = t2; + }, + _BaseExecutor_runBatched_closure: function _BaseExecutor_runBatched_closure(t0, t1) { + this.$this = t0; + this.statements = t1; + }, + _TransactionExecutor: function _TransactionExecutor() { + }, + _StatementBasedTransactionExecutor: function _StatementBasedTransactionExecutor(t0, t1, t2, t3, t4, t5, t6, t7, t8) { + var _ = this; + _._engines$_delegate = t0; + _._opened = null; + _._engines$_done = t1; + _._parent = t2; + _.depth = t3; + _._startCommand = t4; + _._commitCommand = t5; + _._rollbackCommand = t6; + _._db = t7; + _._lock = t8; + _._waitingChildExecutors = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _StatementBasedTransactionExecutor_ensureOpen_closure: function _StatementBasedTransactionExecutor_ensureOpen_closure(t0) { + this.$this = t0; + }, + _StatementBasedTransactionExecutor_ensureOpen_closure0: function _StatementBasedTransactionExecutor_ensureOpen_closure0(t0) { + this.parent = t0; + }, + DelegatedDatabase: function DelegatedDatabase() { + }, + DelegatedDatabase_ensureOpen_closure: function DelegatedDatabase_ensureOpen_closure(t0, t1) { + this.$this = t0; + this.user = t1; + }, + DelegatedDatabase_close_closure: function DelegatedDatabase_close_closure(t0) { + this.$this = t0; + }, + _BeforeOpeningExecutor: function _BeforeOpeningExecutor(t0, t1) { + var _ = this; + _._base = t0; + _._lock = t1; + _._waitingChildExecutors = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _ExclusiveExecutor: function _ExclusiveExecutor(t0, t1, t2) { + var _ = this; + _._outer = t0; + _._opened = null; + _._completer = t1; + _._lock = t2; + _._waitingChildExecutors = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _ExclusiveExecutor_ensureOpen_closure: function _ExclusiveExecutor_ensureOpen_closure(t0, t1) { + this.$this = t0; + this.opened = t1; + }, + QueryResult$(columnNames, rows) { + var t2, _i, column, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int); + for (t2 = columnNames.length, _i = 0; _i < columnNames.length; columnNames.length === t2 || (0, A.throwConcurrentModificationError)(columnNames), ++_i) { + column = columnNames[_i]; + t1.$indexSet(0, column, B.JSArray_methods.lastIndexOf$1(columnNames, column)); + } + return new A.QueryResult(columnNames, rows, t1); + }, + QueryResult_QueryResult$fromRows(rows) { + var keys, t1, t2, _i, row, t3, t4, _i0; + if (rows.length === 0) + return A.QueryResult$(B.List_empty0, B.List_empty2); + keys = J.toList$0$ax(B.JSArray_methods.get$first(rows).get$keys()); + t1 = A._setArrayType([], type$.JSArray_List_dynamic); + for (t2 = rows.length, _i = 0; _i < rows.length; rows.length === t2 || (0, A.throwConcurrentModificationError)(rows), ++_i) { + row = rows[_i]; + t3 = []; + for (t4 = keys.length, _i0 = 0; _i0 < keys.length; keys.length === t4 || (0, A.throwConcurrentModificationError)(keys), ++_i0) + t3.push(row.$index(0, keys[_i0])); + t1.push(t3); + } + return A.QueryResult$(keys, t1); + }, + QueryResult: function QueryResult(t0, t1, t2) { + this.columnNames = t0; + this.rows = t1; + this._columnIndexes = t2; + }, + QueryResult_asMap_closure: function QueryResult_asMap_closure(t0) { + this.$this = t0; + }, + ApplyInterceptor_interceptWith(_this, interceptor) { + return new A._InterceptedExecutor(_this, interceptor); + }, + QueryInterceptor: function QueryInterceptor() { + }, + _InterceptedExecutor: function _InterceptedExecutor(t0, t1) { + this._interceptor$_inner = t0; + this._interceptor$_interceptor = t1; + }, + _InterceptedTransactionExecutor: function _InterceptedTransactionExecutor(t0, t1) { + this._interceptor$_inner = t0; + this._interceptor$_interceptor = t1; + }, + OpeningDetails: function OpeningDetails(t0, t1) { + this.versionBefore = t0; + this.versionNow = t1; + }, + SqlDialect: function SqlDialect(t0, t1) { + this.index = t0; + this._name = t1; + }, + Sqlite3Delegate: function Sqlite3Delegate() { + }, + _SqliteVersionDelegate: function _SqliteVersionDelegate(t0) { + this.database = t0; + }, + PreparedStatementsCache: function PreparedStatementsCache(t0) { + this._cachedStatements = t0; + }, + EnableNativeFunctions_useNativeFunctions(_this) { + var _s13_ = "moor_contains"; + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___pow$closure(), "power"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___pow$closure(), "pow"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__sqrt$closure()), "sqrt"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__sin$closure()), "sin"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__cos$closure()), "cos"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__tan$closure()), "tan"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__asin$closure()), "asin"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__acos$closure()), "acos"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_1, true, A._unaryNumFunction(A.math__atan$closure()), "atan"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___regexpImpl$closure(), "regexp"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_3, true, A.native_functions___regexpImpl$closure(), "regexp_moor_ffi"); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_2, true, A.native_functions___containsImpl$closure(), _s13_); + _this.createFunction$4$argumentCount$deterministic$function$functionName(B.AllowedArgumentCount_3, true, A.native_functions___containsImpl$closure(), _s13_); + _this.createFunction$5$argumentCount$deterministic$directOnly$function$functionName(B.AllowedArgumentCount_0, true, false, new A.EnableNativeFunctions_useNativeFunctions_closure(), "current_time_millis"); + }, + _pow(args) { + var first = args.$index(0, 0), + second = args.$index(0, 1); + if (first == null || second == null || typeof first != "number" || typeof second != "number") + return null; + return Math.pow(first, second); + }, + _unaryNumFunction(calculation) { + return new A._unaryNumFunction_closure(calculation); + }, + _regexpImpl(args) { + var firstParam, regex, secondParam, value, t1, t2, t3, exception, + multiLine = false, + caseSensitive = true, + unicode = false, + dotAll = false, + argCount = args.rawValues.length; + if (argCount < 2 || argCount > 3) + throw A.wrapException("Expected two or three arguments to regexp"); + firstParam = args.$index(0, 0); + secondParam = args.$index(0, 1); + if (firstParam == null || secondParam == null) + return null; + if (typeof firstParam != "string" || typeof secondParam != "string") + throw A.wrapException("Expected two strings as parameters to regexp"); + if (argCount === 3) { + value = args.$index(0, 2); + if (A._isInt(value)) { + multiLine = (value & 1) === 1; + caseSensitive = (value & 2) !== 2; + unicode = (value & 4) === 4; + dotAll = (value & 8) === 8; + } + } + regex = null; + try { + t1 = multiLine; + t2 = caseSensitive; + t3 = unicode; + regex = A.RegExp_RegExp(firstParam, t2, dotAll, t1, t3); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.FormatException) + throw A.wrapException("Invalid regex"); + else + throw exception; + } + t1 = regex._nativeRegExp; + return t1.test(secondParam); + }, + _containsImpl(args) { + var first, second, + argCount = args.rawValues.length; + if (argCount < 2 || argCount > 3) + throw A.wrapException("Expected 2 or 3 arguments to moor_contains"); + first = args.$index(0, 0); + second = args.$index(0, 1); + if (first == null || second == null) + return null; + if (typeof first != "string" || typeof second != "string") + throw A.wrapException("First two args to contains must be strings"); + return argCount === 3 && args.$index(0, 2) === 1 ? B.JSString_methods.contains$1(first, second) : B.JSString_methods.contains$1(first.toLowerCase(), second.toLowerCase()); + }, + EnableNativeFunctions_useNativeFunctions_closure: function EnableNativeFunctions_useNativeFunctions_closure() { + }, + _unaryNumFunction_closure: function _unaryNumFunction_closure(t0) { + this.calculation = t0; + }, + LazyDatabase: function LazyDatabase(t0) { + var _ = this; + _.__LazyDatabase__delegate_F = $; + _._delegateAvailable = false; + _._openDelegate = null; + _.opener = t0; + }, + LazyDatabase__awaitOpened_closure: function LazyDatabase__awaitOpened_closure(t0, t1) { + this.$this = t0; + this.delegate = t1; + }, + LazyDatabase_ensureOpen_closure: function LazyDatabase_ensureOpen_closure(t0, t1) { + this.$this = t0; + this.user = t1; + }, + Lock: function Lock() { + this._last = null; + }, + Lock_synchronized_callBlockAndComplete: function Lock_synchronized_callBlockAndComplete(t0, t1, t2, t3, t4) { + var _ = this; + _.$this = t0; + _.block = t1; + _.blockCompleted = t2; + _.blockReleasedLock = t3; + _.T = t4; + }, + Lock_synchronized_callBlockAndComplete_closure: function Lock_synchronized_callBlockAndComplete_closure(t0, t1, t2) { + this.$this = t0; + this.blockCompleted = t1; + this.blockReleasedLock = t2; + }, + Lock_synchronized_closure: function Lock_synchronized_closure(t0, t1) { + this.callBlockAndComplete = t0; + this.T = t1; + }, + WebPortToChannel_channel(_this, explicitClose, nativeSerializionVersion, webNativeSerialization) { + var protocol, _null = null, + controller = new A.StreamChannelController(type$.StreamChannelController_nullable_Object), + t1 = type$.nullable_Object, + localToForeignController = A.StreamController_StreamController(_null, _null, false, t1), + foreignToLocalController = A.StreamController_StreamController(_null, _null, false, t1), + t2 = A._instanceType(foreignToLocalController), + t3 = A._instanceType(localToForeignController), + t4 = A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t2._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t3._eval$1("_StreamSinkWrapper<1>")), true, t1); + controller.__StreamChannelController__local_F = t4; + t1 = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t3._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t2._eval$1("_StreamSinkWrapper<1>")), true, t1); + controller.__StreamChannelController__foreign_F = t1; + protocol = new A.WebProtocol(A.ProtocolVersion_negotiate(nativeSerializionVersion)); + _this.onmessage = A._functionToJS1(new A.WebPortToChannel_channel_closure(explicitClose, controller, webNativeSerialization, protocol)); + t4 = t4.__GuaranteeChannel__streamController_F; + t4 === $ && A.throwLateFieldNI("_streamController"); + new A._ControllerStream(t4, A._instanceType(t4)._eval$1("_ControllerStream<1>")).listen$2$onDone(new A.WebPortToChannel_channel_closure0(webNativeSerialization, protocol, _this), new A.WebPortToChannel_channel_closure1(explicitClose, _this)); + return t1; + }, + WebPortToChannel_channel_closure: function WebPortToChannel_channel_closure(t0, t1, t2, t3) { + var _ = this; + _.explicitClose = t0; + _.controller = t1; + _.webNativeSerialization = t2; + _.protocol = t3; + }, + WebPortToChannel_channel_closure0: function WebPortToChannel_channel_closure0(t0, t1, t2) { + this.webNativeSerialization = t0; + this.protocol = t1; + this._this = t2; + }, + WebPortToChannel_channel_closure1: function WebPortToChannel_channel_closure1(t0, t1) { + this.explicitClose = t0; + this._this = t1; + }, + DedicatedDriftWorker: function DedicatedDriftWorker(t0, t1, t2) { + var _ = this; + _.self = t0; + _._checkCompatibility = t1; + _._dedicated_worker$_servers = t2; + _._compatibility = null; + }, + DedicatedDriftWorker_start_closure: function DedicatedDriftWorker_start_closure(t0) { + this.$this = t0; + }, + DedicatedDriftWorker__handleMessage_closure: function DedicatedDriftWorker__handleMessage_closure(t0, t1) { + this._box_0 = t0; + this.$this = t1; + }, + ProtocolVersion_negotiate(versionCode) { + var t1; + $label0$0: { + if (versionCode <= 0) { + t1 = B.ProtocolVersion_0_0_legacy; + break $label0$0; + } + if (1 === versionCode) { + t1 = B.ProtocolVersion_1_1_v1; + break $label0$0; + } + if (2 === versionCode) { + t1 = B.ProtocolVersion_2_2_v2; + break $label0$0; + } + if (3 === versionCode) { + t1 = B.ProtocolVersion_3_3_v3; + break $label0$0; + } + if (versionCode > 3) { + t1 = B.ProtocolVersion_4_4_v4; + break $label0$0; + } + t1 = A.throwExpression(A.AssertionError$(null)); + } + return t1; + }, + ProtocolVersion_fromJsObject(object) { + if ("v" in object) + return A.ProtocolVersion_negotiate(A._asInt(A._asDouble(object.v))); + else + return B.ProtocolVersion_0_0_legacy; + }, + WasmInitializationMessage_WasmInitializationMessage$fromJs(jsObject) { + var t1, version, t2, t3, t4, t5, t6, t7, existingDatabases, + type = A._asString(jsObject.type), + payload = jsObject.payload; + $label0$0: { + if ("Error" === type) { + t1 = new A.WorkerError(A._asString(A._asJSObject(payload))); + break $label0$0; + } + if ("ServeDriftDatabase" === type) { + A._asJSObject(payload); + version = A.ProtocolVersion_fromJsObject(payload); + t1 = A.Uri_parse(A._asString(payload.sqlite)); + t2 = A._asJSObject(payload.port); + t3 = A.EnumByName_byName(B.List_5sp, A._asString(payload.storage), type$.WasmStorageImplementation); + t4 = A._asString(payload.database); + t5 = A._asJSObjectQ(payload.initPort); + t6 = version.versionCode; + t7 = t6 < 2 || A._asBool(payload.migrations); + t1 = new A.ServeDriftDatabase(t1, t2, t3, t4, t5, version, t7, t6 < 3 || A._asBool(payload.new_serialization)); + break $label0$0; + } + if ("StartFileSystemServer" === type) { + t1 = new A.StartFileSystemServer(A._asJSObject(payload)); + break $label0$0; + } + if ("RequestCompatibilityCheck" === type) { + t1 = new A.RequestCompatibilityCheck(A._asString(payload)); + break $label0$0; + } + if ("DedicatedWorkerCompatibilityResult" === type) { + A._asJSObject(payload); + existingDatabases = A._setArrayType([], type$.JSArray_Record_2_WebStorageApi_and_String); + if ("existing" in payload) + B.JSArray_methods.addAll$1(existingDatabases, A.EncodeLocations_readFromJs(type$.JSArray_nullable_Object._as(payload.existing))); + t1 = A._asBool(payload.supportsNestedWorkers); + t2 = A._asBool(payload.canAccessOpfs); + t3 = A._asBool(payload.supportsSharedArrayBuffers); + t4 = A._asBool(payload.supportsIndexedDb); + t5 = A._asBool(payload.indexedDbExists); + t6 = A._asBool(payload.opfsExists); + t6 = new A.DedicatedWorkerCompatibilityResult(t1, t2, t3, t4, existingDatabases, A.ProtocolVersion_fromJsObject(payload), t5, t6); + t1 = t6; + break $label0$0; + } + if ("SharedWorkerCompatibilityResult" === type) { + t1 = A.SharedWorkerCompatibilityResult_SharedWorkerCompatibilityResult$fromJsPayload(type$.JSArray_nullable_Object._as(payload)); + break $label0$0; + } + if ("DeleteDatabase" === type) { + t1 = payload == null ? A._asObject(payload) : payload; + type$.JSArray_nullable_Object._as(t1); + t2 = $.$get$WebStorageApi_byName(); + if (0 < 0 || 0 >= t1.length) + return A.ioore(t1, 0); + t2 = t2.$index(0, A._asString(t1[0])); + t2.toString; + if (1 < 0 || 1 >= t1.length) + return A.ioore(t1, 1); + t1 = new A.DeleteDatabase(new A._Record_2(t2, A._asString(t1[1]))); + break $label0$0; + } + t1 = A.throwExpression(A.ArgumentError$("Unknown type " + type, null)); + } + return t1; + }, + SharedWorkerCompatibilityResult_SharedWorkerCompatibilityResult$fromJsPayload(payload) { + var existingDatabases, version, + t1 = new A.SharedWorkerCompatibilityResult_SharedWorkerCompatibilityResult$fromJsPayload_asBoolean(payload); + if (payload.length > 5) { + if (5 < 0 || 5 >= payload.length) + return A.ioore(payload, 5); + existingDatabases = A.EncodeLocations_readFromJs(type$.JSArray_nullable_Object._as(payload[5])); + if (payload.length > 6) { + if (6 < 0 || 6 >= payload.length) + return A.ioore(payload, 6); + version = A.ProtocolVersion_negotiate(A._asInt(A._asDouble(payload[6]))); + } else + version = B.ProtocolVersion_0_0_legacy; + } else { + existingDatabases = B.List_empty4; + version = B.ProtocolVersion_0_0_legacy; + } + return new A.SharedWorkerCompatibilityResult(t1.call$1(0), t1.call$1(1), t1.call$1(2), existingDatabases, version, t1.call$1(3), t1.call$1(4)); + }, + EncodeLocations_readFromJs(object) { + var t3, t4, + existing = A._setArrayType([], type$.JSArray_Record_2_WebStorageApi_and_String), + t1 = B.JSArray_methods.cast$1$0(object, type$.JSObject), + t2 = t1.$ti; + t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")); + t2 = t2._eval$1("ListBase.E"); + while (t1.moveNext$0()) { + t3 = t1.__internal$_current; + if (t3 == null) + t3 = t2._as(t3); + t4 = $.$get$WebStorageApi_byName().$index(0, A._asString(t3.l)); + t4.toString; + B.JSArray_methods.add$1(existing, new A._Record_2(t4, A._asString(t3.n))); + } + return existing; + }, + EncodeLocations_encodeToJs(_this) { + var t1, _i, entry, _this0, + existing = A._setArrayType([], type$.JSArray_JSObject); + for (t1 = _this.length, _i = 0; _i < _this.length; _this.length === t1 || (0, A.throwConcurrentModificationError)(_this), ++_i) { + entry = _this[_i]; + _this0 = {}; + _this0.l = entry._0._name; + _this0.n = entry._1; + B.JSArray_methods.add$1(existing, _this0); + } + return existing; + }, + _extension_1_sendTyped(_this, type, payload, transfer) { + var _this0 = {}; + _this0.type = type; + _this0.payload = payload; + _this.call$2(_this0, transfer); + }, + ProtocolVersion: function ProtocolVersion(t0, t1, t2) { + this.versionCode = t0; + this.index = t1; + this._name = t2; + }, + WasmInitializationMessage: function WasmInitializationMessage() { + }, + WasmInitializationMessage_sendToWorker_closure: function WasmInitializationMessage_sendToWorker_closure(t0) { + this.worker = t0; + }, + WasmInitializationMessage_sendToPort_closure: function WasmInitializationMessage_sendToPort_closure(t0) { + this.port = t0; + }, + WasmInitializationMessage_sendToClient_closure: function WasmInitializationMessage_sendToClient_closure(t0) { + this.worker = t0; + }, + CompatibilityResult: function CompatibilityResult() { + }, + SharedWorkerCompatibilityResult: function SharedWorkerCompatibilityResult(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.canSpawnDedicatedWorkers = t0; + _.dedicatedWorkersCanUseOpfs = t1; + _.canUseIndexedDb = t2; + _.existingDatabases = t3; + _.version = t4; + _.indexedDbExists = t5; + _.opfsExists = t6; + }, + SharedWorkerCompatibilityResult_SharedWorkerCompatibilityResult$fromJsPayload_asBoolean: function SharedWorkerCompatibilityResult_SharedWorkerCompatibilityResult$fromJsPayload_asBoolean(t0) { + this.asList = t0; + }, + WorkerError: function WorkerError(t0) { + this.error = t0; + }, + ServeDriftDatabase: function ServeDriftDatabase(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _.sqlite3WasmUri = t0; + _.port = t1; + _.storage = t2; + _.databaseName = t3; + _.initializationPort = t4; + _.protocolVersion = t5; + _.enableMigrations = t6; + _.newSerialization = t7; + }, + RequestCompatibilityCheck: function RequestCompatibilityCheck(t0) { + this.databaseName = t0; + }, + DedicatedWorkerCompatibilityResult: function DedicatedWorkerCompatibilityResult(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _.supportsNestedWorkers = t0; + _.canAccessOpfs = t1; + _.supportsSharedArrayBuffers = t2; + _.supportsIndexedDb = t3; + _.existingDatabases = t4; + _.version = t5; + _.indexedDbExists = t6; + _.opfsExists = t7; + }, + StartFileSystemServer: function StartFileSystemServer(t0) { + this.sqlite3Options = t0; + }, + DeleteDatabase: function DeleteDatabase(t0) { + this.database = t0; + }, + storageManager0() { + var $navigator = A._asJSObject(init.G.navigator); + if ("storage" in $navigator) + return A._asJSObject($navigator.storage); + return null; + }, + checkOpfsSupport() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$next = [], opfsRoot, fileHandle, openedFile, getSizeResult, t1, exception, storage, $async$exception; + var $async$checkOpfsSupport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + storage = A.storageManager0(); + if (storage == null) { + $async$returnValue = false; + // goto return + $async$goto = 1; + break; + } + opfsRoot = null; + fileHandle = null; + openedFile = null; + $async$handler = 4; + t1 = type$.JSObject; + $async$goto = 7; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(storage.getDirectory()), t1), $async$checkOpfsSupport); + case 7: + // returning from await. + opfsRoot = $async$result; + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(opfsRoot.getFileHandle("_drift_feature_detection", {create: true})), t1), $async$checkOpfsSupport); + case 8: + // returning from await. + fileHandle = $async$result; + $async$goto = 9; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(fileHandle.createSyncAccessHandle()), t1), $async$checkOpfsSupport); + case 9: + // returning from await. + openedFile = $async$result; + getSizeResult = A.JSObjectUnsafeUtilExtension__callMethod(openedFile, "getSize", null, null, null, null); + $async$goto = typeof getSizeResult === "object" ? 10 : 11; + break; + case 10: + // then + $async$goto = 12; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(getSizeResult), type$.nullable_Object), $async$checkOpfsSupport); + case 12: + // returning from await. + $async$returnValue = false; + $async$next = [1]; + // goto finally + $async$goto = 5; + break; + case 11: + // join + $async$returnValue = true; + $async$next = [1]; + // goto finally + $async$goto = 5; + break; + $async$next.push(6); + // goto finally + $async$goto = 5; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$errorStack.pop(); + $async$returnValue = false; + $async$next = [1]; + // goto finally + $async$goto = 5; + break; + $async$next.push(6); + // goto finally + $async$goto = 5; + break; + case 3: + // uncaught + $async$next = [2]; + case 5: + // finally + $async$handler = 2; + if (openedFile != null) + openedFile.close(); + $async$goto = opfsRoot != null && fileHandle != null ? 13 : 14; + break; + case 13: + // then + $async$goto = 15; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(opfsRoot.removeEntry("_drift_feature_detection")), type$.nullable_Object), $async$checkOpfsSupport); + case 15: + // returning from await. + case 14: + // join + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 6: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$checkOpfsSupport, $async$completer); + }, + checkIndexedDbSupport() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$handler = 2, $async$errorStack = [], idb, mockDb, exception, t1, $async$exception; + var $async$checkIndexedDbSupport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = init.G; + if (!("indexedDB" in t1) || !("FileReader" in t1)) { + $async$returnValue = false; + // goto return + $async$goto = 1; + break; + } + idb = A._asJSObject(t1.indexedDB); + $async$handler = 4; + $async$goto = 7; + return A._asyncAwait(A.CompleteIdbRequest_complete0(A._asJSObject(idb.open("drift_mock_db")), type$.JSObject), $async$checkIndexedDbSupport); + case 7: + // returning from await. + mockDb = $async$result; + mockDb.close(); + A._asJSObject(idb.deleteDatabase("drift_mock_db")); + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$errorStack.pop(); + $async$returnValue = false; + // goto return + $async$goto = 1; + break; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + $async$returnValue = true; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$checkIndexedDbSupport, $async$completer); + }, + checkIndexedDbExists(databaseName) { + return A.checkIndexedDbExists$body(databaseName); + }, + checkIndexedDbExists$body(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$handler = 2, $async$errorStack = [], idb, databases, entry, openRequest, database, t1, exception, _box_0, $async$exception; + var $async$checkIndexedDbExists = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + $async$outer: + switch ($async$goto) { + case 0: + // Function start + _box_0 = {}; + _box_0.indexedDbExists = null; + $async$handler = 4; + idb = A._asJSObject(init.G.indexedDB); + $async$goto = "databases" in idb ? 7 : 8; + break; + case 7: + // then + $async$goto = 9; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(idb.databases()), type$.JSArray_nullable_Object), $async$checkIndexedDbExists); + case 9: + // returning from await. + databases = $async$result; + t1 = databases; + t1 = J.get$iterator$ax(type$.List_JSObject._is(t1) ? t1 : new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,JSObject>"))); + while (t1.moveNext$0()) { + entry = t1.get$current(); + if (A._asString(entry.name) === databaseName) { + $async$returnValue = true; + // goto return + $async$goto = 1; + break $async$outer; + } + } + $async$returnValue = false; + // goto return + $async$goto = 1; + break; + case 8: + // join + openRequest = A._asJSObject(idb.open(databaseName, 1)); + openRequest.onupgradeneeded = A._functionToJS1(new A.checkIndexedDbExists_closure(_box_0, openRequest)); + $async$goto = 10; + return A._asyncAwait(A.CompleteIdbRequest_complete0(openRequest, type$.JSObject), $async$checkIndexedDbExists); + case 10: + // returning from await. + database = $async$result; + if (_box_0.indexedDbExists == null) + _box_0.indexedDbExists = true; + database.close(); + $async$goto = _box_0.indexedDbExists === false ? 11 : 12; + break; + case 11: + // then + $async$goto = 13; + return A._asyncAwait(A.CompleteIdbRequest_complete0(A._asJSObject(idb.deleteDatabase(databaseName)), type$.nullable_Object), $async$checkIndexedDbExists); + case 13: + // returning from await. + case 12: + // join + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$errorStack.pop(); + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + t1 = _box_0.indexedDbExists; + $async$returnValue = t1 === true; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$checkIndexedDbExists, $async$completer); + }, + deleteDatabaseInIndexedDb(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + t1; + var $async$deleteDatabaseInIndexedDb = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = init.G; + $async$goto = "indexedDB" in t1 ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait(A.CompleteIdbRequest_complete0(A._asJSObject(A._asJSObject(t1.indexedDB).deleteDatabase(databaseName)), type$.nullable_Object), $async$deleteDatabaseInIndexedDb); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$deleteDatabaseInIndexedDb, $async$completer); + }, + opfsDriftDirectoryHandle() { + var options = null; + return A.opfsDriftDirectoryHandle$body(); + }, + opfsDriftDirectoryHandle$body() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_JSObject), + $async$returnValue, $async$handler = 2, $async$errorStack = [], directory, t1, t2, exception, options, storage, $async$exception; + var $async$opfsDriftDirectoryHandle = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + options = null; + storage = A.storageManager0(); + if (storage == null) { + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + } + t1 = type$.JSObject; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(storage.getDirectory()), t1), $async$opfsDriftDirectoryHandle); + case 3: + // returning from await. + directory = $async$result; + $async$handler = 5; + t2 = options; + if (t2 == null) + t2 = {}; + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(directory.getDirectoryHandle("drift_db", t2)), t1), $async$opfsDriftDirectoryHandle); + case 8: + // returning from await. + t1 = $async$result; + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + $async$handler = 2; + // goto after finally + $async$goto = 7; + break; + case 5: + // catch + $async$handler = 4; + $async$exception = $async$errorStack.pop(); + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + // goto after finally + $async$goto = 7; + break; + case 4: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 7: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$opfsDriftDirectoryHandle, $async$completer); + }, + opfsDatabases() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.List_String), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$next = [], entries, found, entry, t1, t2, exception, directory, $async$exception; + var $async$opfsDatabases = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait(A.opfsDriftDirectoryHandle(), $async$opfsDatabases); + case 3: + // returning from await. + directory = $async$result; + if (directory == null) { + $async$returnValue = B.List_empty0; + // goto return + $async$goto = 1; + break; + } + t1 = type$.AsyncJavaScriptIteratable_JSArray_nullable_Object; + if (!(type$.JavaScriptSymbol._as(init.G.Symbol.asyncIterator) in directory)) + A.throwExpression(A.ArgumentError$("Target object does not implement the async iterable interface", null)); + entries = new A._MapStream(t1._eval$1("JSObject(Stream.T)")._as(new A.opfsDatabases_closure()), new A.AsyncJavaScriptIteratable(directory, t1), t1._eval$1("_MapStream")); + found = A._setArrayType([], type$.JSArray_String); + t1 = new A._StreamIterator(A.checkNotNullable(entries, "stream", type$.Object), type$._StreamIterator_JSObject); + $async$handler = 4; + t2 = type$.JSObject; + case 7: + // for condition + $async$goto = 9; + return A._asyncAwait(t1.moveNext$0(), $async$opfsDatabases); + case 9: + // returning from await. + if (!$async$result) { + // goto after for + $async$goto = 8; + break; + } + entry = t1.get$current(); + $async$goto = A._asString(entry.kind) === "directory" ? 10 : 11; + break; + case 10: + // then + $async$handler = 13; + $async$goto = 16; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(entry.getFileHandle("database")), t2), $async$opfsDatabases); + case 16: + // returning from await. + J.add$1$ax(found, A._asString(entry.name)); + $async$handler = 4; + // goto after finally + $async$goto = 15; + break; + case 13: + // catch + $async$handler = 12; + $async$exception = $async$errorStack.pop(); + // goto after finally + $async$goto = 15; + break; + case 12: + // uncaught + // goto uncaught + $async$goto = 4; + break; + case 15: + // after finally + case 11: + // join + // goto for condition + $async$goto = 7; + break; + case 8: + // after for + $async$next.push(6); + // goto finally + $async$goto = 5; + break; + case 4: + // uncaught + $async$next = [2]; + case 5: + // finally + $async$handler = 2; + $async$goto = 17; + return A._asyncAwait(t1.cancel$0(), $async$opfsDatabases); + case 17: + // returning from await. + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 6: + // after finally + $async$returnValue = found; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$opfsDatabases, $async$completer); + }, + deleteDatabaseInOpfs(databaseName) { + return A.deleteDatabaseInOpfs$body(databaseName); + }, + deleteDatabaseInOpfs$body(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$errorStack = [], directory, t1, exception, storage, $async$exception; + var $async$deleteDatabaseInOpfs = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + storage = A.storageManager0(); + if (storage == null) { + // goto return + $async$goto = 1; + break; + } + t1 = type$.JSObject; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(storage.getDirectory()), t1), $async$deleteDatabaseInOpfs); + case 3: + // returning from await. + directory = $async$result; + $async$handler = 5; + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(directory.getDirectoryHandle("drift_db")), t1), $async$deleteDatabaseInOpfs); + case 8: + // returning from await. + directory = $async$result; + $async$goto = 9; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(directory.removeEntry(databaseName, {recursive: true})), type$.nullable_Object), $async$deleteDatabaseInOpfs); + case 9: + // returning from await. + $async$handler = 2; + // goto after finally + $async$goto = 7; + break; + case 5: + // catch + $async$handler = 4; + $async$exception = $async$errorStack.pop(); + // goto after finally + $async$goto = 7; + break; + case 4: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 7: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$deleteDatabaseInOpfs, $async$completer); + }, + CompleteIdbRequest_complete0(_this, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._SyncCompleter(t1, $T._eval$1("_SyncCompleter<0>")), + t2 = type$.nullable_void_Function_JSObject, + t3 = type$.JSObject; + A._EventStreamSubscription$(_this, "success", t2._as(new A.CompleteIdbRequest_complete_closure1(completer, _this, $T)), false, t3); + A._EventStreamSubscription$(_this, "error", t2._as(new A.CompleteIdbRequest_complete_closure2(completer, _this)), false, t3); + A._EventStreamSubscription$(_this, "blocked", t2._as(new A.CompleteIdbRequest_complete_closure3(completer, _this)), false, t3); + return t1; + }, + checkIndexedDbExists_closure: function checkIndexedDbExists_closure(t0, t1) { + this._box_0 = t0; + this.openRequest = t1; + }, + opfsDatabases_closure: function opfsDatabases_closure() { + }, + DriftServerController: function DriftServerController(t0, t1) { + this.servers = t0; + this._setup = t1; + }, + DriftServerController_serve_closure: function DriftServerController_serve_closure(t0, t1) { + this.$this = t0; + this.message = t1; + }, + DriftServerController_serve__closure: function DriftServerController_serve__closure(t0) { + this.initPort = t0; + }, + DriftServerController_serve___closure: function DriftServerController_serve___closure(t0) { + this.completer = t0; + }, + DriftServerController_serve__closure0: function DriftServerController_serve__closure0(t0, t1, t2) { + this.$this = t0; + this.message = t1; + this.initializer = t2; + }, + DriftServerController_serve__closure1: function DriftServerController_serve__closure1(t0, t1, t2) { + this.$this = t0; + this.message = t1; + this.wasmServer = t2; + }, + _CloseVfsOnClose: function _CloseVfsOnClose(t0, t1) { + this._shared$_close = t0; + this._root = t1; + }, + RunningWasmServer: function RunningWasmServer(t0, t1, t2) { + var _ = this; + _.storage = t0; + _.server = t1; + _._connectedClients = 0; + _._lastClientDisconnected = t2; + }, + RunningWasmServer_serve_closure: function RunningWasmServer_serve_closure(t0) { + this.$this = t0; + }, + WasmCompatibility: function WasmCompatibility(t0, t1) { + this.supportsIndexedDb = t0; + this.supportsOpfs = t1; + }, + CompleteIdbRequest_complete_closure1: function CompleteIdbRequest_complete_closure1(t0, t1, t2) { + this.completer = t0; + this._this = t1; + this.T = t2; + }, + CompleteIdbRequest_complete_closure2: function CompleteIdbRequest_complete_closure2(t0, t1) { + this.completer = t0; + this._this = t1; + }, + CompleteIdbRequest_complete_closure3: function CompleteIdbRequest_complete_closure3(t0, t1) { + this.completer = t0; + this._this = t1; + }, + SharedDriftWorker: function SharedDriftWorker(t0, t1) { + this.self = t0; + this._dedicatedWorker = null; + this._servers = t1; + }, + SharedDriftWorker_start_closure: function SharedDriftWorker_start_closure(t0) { + this.$this = t0; + }, + SharedDriftWorker__newConnection_closure: function SharedDriftWorker__newConnection_closure(t0, t1) { + this.$this = t0; + this.clientPort = t1; + }, + SharedDriftWorker__startFeatureDetection_result: function SharedDriftWorker__startFeatureDetection_result(t0, t1, t2) { + this._box_0 = t0; + this.completer = t1; + this.canUseIndexedDb = t2; + }, + SharedDriftWorker__startFeatureDetection_closure: function SharedDriftWorker__startFeatureDetection_closure(t0) { + this.result = t0; + }, + SharedDriftWorker__startFeatureDetection_closure0: function SharedDriftWorker__startFeatureDetection_closure0(t0, t1, t2) { + this.$this = t0; + this.result = t1; + this.worker = t2; + }, + WasmStorageImplementation: function WasmStorageImplementation(t0, t1) { + this.index = t0; + this._name = t1; + }, + WebStorageApi: function WebStorageApi(t0, t1) { + this.index = t0; + this._name = t1; + }, + WasmDatabase: function WasmDatabase(t0, t1, t2, t3, t4) { + var _ = this; + _.delegate = t0; + _._migrationError = null; + _.logStatements = t1; + _.isSequential = t2; + _._openingLock = t3; + _._lock = t4; + _._waitingChildExecutors = 0; + _._engines$_closed = _._ensureOpenCalled = false; + }, + _WasmDelegate: function _WasmDelegate(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._sqlite3 = t0; + _._path = t1; + _._fileSystem = t2; + _._database = null; + _._isOpen = _._hasInitializedDatabase = false; + _._database$_setup = t3; + _.cachePreparedStatements = t4; + _.enableMigrations = t5; + _._preparedStmtsCache = t6; + _.__Sqlite3Delegate_versionDelegate_A = $; + _.isInTransaction = false; + }, + Context_Context(current, style) { + if (current == null) + current = "."; + return new A.Context(style, current); + }, + _parseUri(uri) { + return uri; + }, + _validateArgList(method, args) { + var numArgs, i, numArgs0, message, t1, t2, t3, t4; + for (numArgs = args.length, i = 1; i < numArgs; ++i) { + if (args[i] == null || args[i - 1] != null) + continue; + for (; numArgs >= 1; numArgs = numArgs0) { + numArgs0 = numArgs - 1; + if (args[numArgs0] != null) + break; + } + message = new A.StringBuffer(""); + t1 = method + "("; + message._contents = t1; + t2 = A._arrayInstanceType(args); + t3 = t2._eval$1("SubListIterable<1>"); + t4 = new A.SubListIterable(args, 0, numArgs, t3); + t4.SubListIterable$3(args, 0, numArgs, t2._precomputed1); + t3 = t1 + new A.MappedListIterable(t4, t3._eval$1("String(ListIterable.E)")._as(new A._validateArgList_closure()), t3._eval$1("MappedListIterable")).join$1(0, ", "); + message._contents = t3; + message._contents = t3 + ("): part " + (i - 1) + " was null, but part " + i + " was not."); + throw A.wrapException(A.ArgumentError$(message.toString$0(0), null)); + } + }, + Context: function Context(t0, t1) { + this.style = t0; + this._context$_current = t1; + }, + Context_joinAll_closure: function Context_joinAll_closure() { + }, + Context_split_closure: function Context_split_closure() { + }, + _validateArgList_closure: function _validateArgList_closure() { + }, + _PathDirection: function _PathDirection(t0) { + this.name = t0; + }, + _PathRelation: function _PathRelation(t0) { + this.name = t0; + }, + InternalStyle: function InternalStyle() { + }, + ParsedPath_ParsedPath$parse(path, style) { + var t1, parts, separators, t2, start, i, + root = style.getRoot$1(path); + style.isRootRelative$1(path); + if (root != null) + path = B.JSString_methods.substring$1(path, root.length); + t1 = type$.JSArray_String; + parts = A._setArrayType([], t1); + separators = A._setArrayType([], t1); + t1 = path.length; + if (t1 !== 0) { + if (0 >= t1) + return A.ioore(path, 0); + t2 = style.isSeparator$1(path.charCodeAt(0)); + } else + t2 = false; + if (t2) { + if (0 >= t1) + return A.ioore(path, 0); + B.JSArray_methods.add$1(separators, path[0]); + start = 1; + } else { + B.JSArray_methods.add$1(separators, ""); + start = 0; + } + for (i = start; i < t1; ++i) + if (style.isSeparator$1(path.charCodeAt(i))) { + B.JSArray_methods.add$1(parts, B.JSString_methods.substring$2(path, start, i)); + B.JSArray_methods.add$1(separators, path[i]); + start = i + 1; + } + if (start < t1) { + B.JSArray_methods.add$1(parts, B.JSString_methods.substring$1(path, start)); + B.JSArray_methods.add$1(separators, ""); + } + return new A.ParsedPath(style, root, parts, separators); + }, + ParsedPath: function ParsedPath(t0, t1, t2, t3) { + var _ = this; + _.style = t0; + _.root = t1; + _.parts = t2; + _.separators = t3; + }, + PathException$(message) { + return new A.PathException(message); + }, + PathException: function PathException(t0) { + this.message = t0; + }, + Style__getPlatformStyle() { + if (A.Uri_base().get$scheme() !== "file") + return $.$get$Style_url(); + if (!B.JSString_methods.endsWith$1(A.Uri_base().get$path(), "/")) + return $.$get$Style_url(); + if (A._Uri__Uri(null, "a/b", null, null).toFilePath$0() === "a\\b") + return $.$get$Style_windows(); + return $.$get$Style_posix(); + }, + Style: function Style() { + }, + PosixStyle: function PosixStyle(t0, t1, t2) { + this.separatorPattern = t0; + this.needsSeparatorPattern = t1; + this.rootPattern = t2; + }, + UrlStyle: function UrlStyle(t0, t1, t2, t3) { + var _ = this; + _.separatorPattern = t0; + _.needsSeparatorPattern = t1; + _.rootPattern = t2; + _.relativeRootPattern = t3; + }, + WindowsStyle: function WindowsStyle(t0, t1, t2, t3) { + var _ = this; + _.separatorPattern = t0; + _.needsSeparatorPattern = t1; + _.rootPattern = t2; + _.relativeRootPattern = t3; + }, + WindowsStyle_absolutePathToUri_closure: function WindowsStyle_absolutePathToUri_closure() { + }, + SqliteException$(extendedResultCode, message, explanation, causingStatement, parametersToStatement, operation, offset) { + return new A.SqliteException(message, explanation, extendedResultCode, offset, operation, causingStatement, parametersToStatement); + }, + SqliteException: function SqliteException(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.message = t0; + _.explanation = t1; + _.extendedResultCode = t2; + _.offset = t3; + _.operation = t4; + _.causingStatement = t5; + _.parametersToStatement = t6; + }, + SqliteException_toString_closure: function SqliteException_toString_closure() { + }, + AllowedArgumentCount: function AllowedArgumentCount(t0) { + this.allowedArgs = t0; + }, + RawSqliteBindings: function RawSqliteBindings() { + }, + SqliteResult: function SqliteResult(t0, t1, t2) { + this.resultCode = t0; + this.result = t1; + this.$ti = t2; + }, + RawSqliteDatabase: function RawSqliteDatabase() { + }, + RawStatementCompiler: function RawStatementCompiler() { + }, + RawSqliteStatement: function RawSqliteStatement() { + }, + RawSqliteContext: function RawSqliteContext() { + }, + RawSqliteValue: function RawSqliteValue() { + }, + _extension_0_runWithArgsAndSetResult(_this, $function, args) { + var e, exception, encoded, t1, ptr, + dartArgs = new A.ValueList(args, A.List_List$filled(args.length, null, false, type$.nullable_Object)); + try { + A._extension_0_setResult(_this, $function.call$1(dartArgs)); + } catch (exception) { + e = A.unwrapException(exception); + encoded = B.C_Utf8Encoder.convert$1(A.Error_safeToString(e)); + t1 = _this.bindings; + ptr = t1.allocateBytes$1(encoded); + t1 = t1.sqlite3; + t1.sqlite3_result_error(_this.context, ptr, encoded.length); + t1.dart_sqlite3_free(ptr); + } finally { + dartArgs.isValid = false; + } + }, + _extension_0_setResult(_this, result) { + var t1, encoded, t2, ptr, _this0; + $label0$0: { + t1 = null; + if (result == null) { + _this.bindings.sqlite3.sqlite3_result_null(_this.context); + break $label0$0; + } + if (A._isInt(result)) { + _this.bindings.sqlite3.sqlite3_result_int64(_this.context, type$.JavaScriptBigInt._as(init.G.BigInt(A._BigIntImpl__BigIntImpl$from(result).toString$0(0)))); + break $label0$0; + } + if (result instanceof A._BigIntImpl) { + _this.bindings.sqlite3.sqlite3_result_int64(_this.context, type$.JavaScriptBigInt._as(init.G.BigInt(A.BigIntRangeCheck_get_checkRange(result).toString$0(0)))); + break $label0$0; + } + if (typeof result == "number") { + _this.bindings.sqlite3.sqlite3_result_double(_this.context, result); + break $label0$0; + } + if (A._isBool(result)) { + _this.bindings.sqlite3.sqlite3_result_int64(_this.context, type$.JavaScriptBigInt._as(init.G.BigInt(A._BigIntImpl__BigIntImpl$from(result ? 1 : 0).toString$0(0)))); + break $label0$0; + } + if (typeof result == "string") { + encoded = B.C_Utf8Encoder.convert$1(result); + t2 = _this.bindings; + ptr = t2.allocateBytes$1(encoded); + t2 = t2.sqlite3; + t2.sqlite3_result_text(_this.context, ptr, encoded.length, -1); + t2.dart_sqlite3_free(ptr); + break $label0$0; + } + t2 = type$.List_int; + if (t2._is(result)) { + t2._as(result); + t2 = _this.bindings; + ptr = t2.allocateBytes$1(result); + t2 = t2.sqlite3; + t2.sqlite3_result_blob64(_this.context, ptr, type$.JavaScriptBigInt._as(init.G.BigInt(J.get$length$asx(result))), -1); + t2.dart_sqlite3_free(ptr); + break $label0$0; + } + if (type$.Record_2_nullable_Object_and_int._is(result)) { + A._extension_0_setResult(_this, result._0); + _this0 = result._1; + t2 = type$.nullable_JavaScriptFunction._as(_this.bindings.sqlite3.sqlite3_result_subtype); + if (t2 != null) + t2.call(null, _this.context, _this0); + break $label0$0; + } + t1 = A.throwExpression(A.ArgumentError$value(result, "result", "Unsupported type")); + } + return t1; + }, + FinalizableDatabase: function FinalizableDatabase(t0, t1, t2, t3) { + var _ = this; + _.bindings = t0; + _.database = t1; + _._statements = t2; + _.dartCleanup = t3; + }, + DatabaseImplementation: function DatabaseImplementation(t0, t1, t2) { + var _ = this; + _.bindings = t0; + _.database = t1; + _.finalizable = t2; + _._isClosed = false; + }, + DatabaseImplementation_createFunction_closure: function DatabaseImplementation_createFunction_closure(t0) { + this.$function = t0; + }, + DatabaseImplementation__prepareInternal_freeIntermediateResults: function DatabaseImplementation__prepareInternal_freeIntermediateResults(t0, t1) { + this.compiler = t0; + this.createdStatements = t1; + }, + ValueList: function ValueList(t0, t1) { + this.rawValues = t0; + this._cachedCopies = t1; + this.isValid = true; + }, + FinalizablePart: function FinalizablePart() { + }, + disposeFinalizer_closure: function disposeFinalizer_closure() { + }, + Sqlite3Implementation: function Sqlite3Implementation() { + }, + FinalizableStatement: function FinalizableStatement(t0) { + this.statement = t0; + this._inResetState = true; + this._statement$_closed = false; + }, + StatementImplementation: function StatementImplementation(t0, t1, t2, t3) { + var _ = this; + _.statement = t0; + _.database = t1; + _.finalizable = t2; + _.sql = t3; + _._latestArguments = null; + }, + InMemoryFileSystem$(random) { + var t1 = $.$get$BaseVirtualFileSystem__fallbackRandom(); + return new A.InMemoryFileSystem(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Uint8Buffer), t1, "dart-memory"); + }, + InMemoryFileSystem: function InMemoryFileSystem(t0, t1, t2) { + this.fileData = t0; + this.random = t1; + this.name = t2; + }, + _InMemoryFile: function _InMemoryFile(t0, t1, t2) { + var _ = this; + _.vfs = t0; + _.path = t1; + _.deleteOnClose = t2; + _._lockMode = 0; + }, + Cursor: function Cursor() { + }, + ResultSet: function ResultSet(t0, t1, t2) { + this.rows = t0; + this._result_set$_columnNames = t1; + this._calculatedIndexes = t2; + }, + Row: function Row(t0, t1) { + this._result = t0; + this._data = t1; + }, + _ResultIterator: function _ResultIterator(t0) { + this.result = t0; + this.index = -1; + }, + _ResultSet_Cursor_ListMixin: function _ResultSet_Cursor_ListMixin() { + }, + _ResultSet_Cursor_ListMixin_NonGrowableListMixin: function _ResultSet_Cursor_ListMixin_NonGrowableListMixin() { + }, + _Row_Object_UnmodifiableMapMixin: function _Row_Object_UnmodifiableMapMixin() { + }, + _Row_Object_UnmodifiableMapMixin_MapMixin: function _Row_Object_UnmodifiableMapMixin_MapMixin() { + }, + OpenMode: function OpenMode(t0, t1) { + this.index = t0; + this._name = t1; + }, + CommonPreparedStatement: function CommonPreparedStatement() { + }, + IndexedParameters: function IndexedParameters(t0) { + this.parameters = t0; + }, + VfsException$(returnCode) { + A.assertHelper(returnCode !== 0); + return new A.VfsException(returnCode); + }, + BaseVirtualFileSystem_generateRandomness(target, random) { + var t1, i, t2; + if (random == null) + random = $.$get$BaseVirtualFileSystem__fallbackRandom(); + for (t1 = target.length, i = 0; i < t1; ++i) { + t2 = random.nextInt$1(256); + target.$flags & 2 && A.throwUnsupportedOperation(target); + target[i] = t2; + } + }, + VfsException: function VfsException(t0) { + this.returnCode = t0; + }, + Sqlite3Filename: function Sqlite3Filename(t0) { + this.path = t0; + }, + VirtualFileSystem: function VirtualFileSystem() { + }, + BaseVirtualFileSystem: function BaseVirtualFileSystem() { + }, + BaseVfsFile: function BaseVfsFile() { + }, + WasmSqliteBindings: function WasmSqliteBindings(t0) { + this.bindings = t0; + }, + WasmDatabase0: function WasmDatabase0(t0, t1) { + this.bindings = t0; + this.db = t1; + }, + WasmStatementCompiler: function WasmStatementCompiler(t0, t1, t2, t3) { + var _ = this; + _.database = t0; + _.sql = t1; + _.stmtOut = t2; + _.pzTail = t3; + }, + WasmStatement: function WasmStatement(t0, t1, t2) { + this.stmt = t0; + this.bindings = t1; + this._allocatedArguments = t2; + }, + WasmContext: function WasmContext(t0, t1) { + this.bindings = t0; + this.context = t1; + }, + WasmValue: function WasmValue(t0, t1) { + this.bindings = t0; + this.value = t1; + }, + WasmValueList: function WasmValueList(t0, t1, t2) { + this.bindings = t0; + this.length = t1; + this.value = t2; + }, + AsyncJavaScriptIteratable: function AsyncJavaScriptIteratable(t0, t1) { + this._jsObject = t0; + this.$ti = t1; + }, + AsyncJavaScriptIteratable_listen_fetchNext: function AsyncJavaScriptIteratable_listen_fetchNext(t0, t1, t2, t3) { + var _ = this; + _._box_0 = t0; + _.$this = t1; + _.iterator = t2; + _.controller = t3; + }, + AsyncJavaScriptIteratable_listen_fetchNext_closure: function AsyncJavaScriptIteratable_listen_fetchNext_closure(t0, t1, t2, t3) { + var _ = this; + _._box_0 = t0; + _.$this = t1; + _.controller = t2; + _.fetchNext = t3; + }, + AsyncJavaScriptIteratable_listen_fetchNextIfNecessary: function AsyncJavaScriptIteratable_listen_fetchNextIfNecessary(t0, t1, t2) { + this._box_0 = t0; + this.controller = t1; + this.fetchNext = t2; + }, + CompleteIdbRequest_complete(_this, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._SyncCompleter(t1, $T._eval$1("_SyncCompleter<0>")), + t2 = type$.nullable_void_Function_JSObject, + t3 = type$.JSObject; + A._EventStreamSubscription$(_this, "success", t2._as(new A.CompleteIdbRequest_complete_closure(completer, _this, $T)), false, t3); + A._EventStreamSubscription$(_this, "error", t2._as(new A.CompleteIdbRequest_complete_closure0(completer, _this)), false, t3); + return t1; + }, + CompleteOpenIdbRequest_completeOrBlocked(_this, $T) { + var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), + completer = new A._SyncCompleter(t1, $T._eval$1("_SyncCompleter<0>")), + t2 = type$.nullable_void_Function_JSObject, + t3 = type$.JSObject; + A._EventStreamSubscription$(_this, "success", t2._as(new A.CompleteOpenIdbRequest_completeOrBlocked_closure(completer, _this, $T)), false, t3); + A._EventStreamSubscription$(_this, "error", t2._as(new A.CompleteOpenIdbRequest_completeOrBlocked_closure0(completer, _this)), false, t3); + A._EventStreamSubscription$(_this, "blocked", t2._as(new A.CompleteOpenIdbRequest_completeOrBlocked_closure1(completer, _this)), false, t3); + return t1; + }, + _CursorReader: function _CursorReader(t0, t1) { + var _ = this; + _._indexed_db0$_onError = _._onSuccess = _._cursor = null; + _._cursorRequest = t0; + _.$ti = t1; + }, + _CursorReader_moveNext_closure: function _CursorReader_moveNext_closure(t0, t1) { + this.$this = t0; + this.completer = t1; + }, + _CursorReader_moveNext_closure0: function _CursorReader_moveNext_closure0(t0, t1) { + this.$this = t0; + this.completer = t1; + }, + CompleteIdbRequest_complete_closure: function CompleteIdbRequest_complete_closure(t0, t1, t2) { + this.completer = t0; + this._this = t1; + this.T = t2; + }, + CompleteIdbRequest_complete_closure0: function CompleteIdbRequest_complete_closure0(t0, t1) { + this.completer = t0; + this._this = t1; + }, + CompleteOpenIdbRequest_completeOrBlocked_closure: function CompleteOpenIdbRequest_completeOrBlocked_closure(t0, t1, t2) { + this.completer = t0; + this._this = t1; + this.T = t2; + }, + CompleteOpenIdbRequest_completeOrBlocked_closure0: function CompleteOpenIdbRequest_completeOrBlocked_closure0(t0, t1) { + this.completer = t0; + this._this = t1; + }, + CompleteOpenIdbRequest_completeOrBlocked_closure1: function CompleteOpenIdbRequest_completeOrBlocked_closure1(t0, t1) { + this.completer = t0; + this._this = t1; + }, + WasmInstance_load(response, imports) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.JSObject), + $async$returnValue, native, exports, _this; + var $async$WasmInstance_load = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + _this = {}; + imports.forEach$1(0, new A.WasmInstance_load_closure(_this)); + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(init.G.WebAssembly.instantiateStreaming(response, _this)), type$.JSObject), $async$WasmInstance_load); + case 3: + // returning from await. + native = $async$result; + exports = A._asJSObject(A._asJSObject(native.instance).exports); + if ("_initialize" in exports) + type$.JavaScriptFunction._as(exports._initialize).call(); + $async$returnValue = A._asJSObject(native.instance); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmInstance_load, $async$completer); + }, + WasmInstance_load_closure: function WasmInstance_load_closure(t0) { + this.importsJs = t0; + }, + WasmInstance_load__closure: function WasmInstance_load__closure(t0) { + this.moduleJs = t0; + }, + WasmSqlite3_loadFromUrl(uri) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmSqlite3), + $async$returnValue, t1, jsUri, $async$temp1; + var $async$WasmSqlite3_loadFromUrl = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = init.G; + jsUri = uri.get$isAbsolute() ? A._asJSObject(new t1.URL(uri.toString$0(0))) : A._asJSObject(new t1.URL(uri.toString$0(0), A.Uri_base().toString$0(0))); + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(t1.fetch(jsUri, null)), type$.JSObject), $async$WasmSqlite3_loadFromUrl); + case 3: + // returning from await. + $async$returnValue = $async$temp1.WasmSqlite3__load($async$result); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmSqlite3_loadFromUrl, $async$completer); + }, + WasmSqlite3__load(fetchResponse) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmSqlite3), + $async$returnValue, $async$temp1, $async$temp2; + var $async$WasmSqlite3__load = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$temp1 = A; + $async$temp2 = A; + $async$goto = 3; + return A._asyncAwait(A.WasmBindings_instantiateAsync(fetchResponse), $async$WasmSqlite3__load); + case 3: + // returning from await. + $async$returnValue = new $async$temp1.WasmSqlite3(new $async$temp2.WasmSqliteBindings($async$result)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmSqlite3__load, $async$completer); + }, + WasmSqlite3: function WasmSqlite3(t0) { + this.bindings = t0; + }, + WasmVfs: function WasmVfs(t0, t1, t2, t3, t4) { + var _ = this; + _.synchronizer = t0; + _.serializer = t1; + _.pathContext = t2; + _.random = t3; + _.name = t4; + }, + WasmFile: function WasmFile(t0, t1) { + this.vfs = t0; + this.fd = t1; + this.lockStatus = 0; + }, + RequestResponseSynchronizer_RequestResponseSynchronizer(buffer) { + var t1 = A._asInt(buffer.byteLength); + if (t1 !== 8) + throw A.wrapException(A.ArgumentError$("Must be 8 in length", null)); + t1 = type$.JavaScriptFunction._as(init.G.Int32Array); + return new A.RequestResponseSynchronizer(type$.NativeInt32List._as(A.callConstructor(t1, [buffer], type$.JSObject))); + }, + MessageSerializer_readEmpty(unused) { + return B.C_EmptyMessage; + }, + MessageSerializer_readFlags(msg) { + var t1 = msg.dataView; + return new A.Flags(t1.getInt32(0, false), t1.getInt32(4, false), t1.getInt32(8, false)); + }, + MessageSerializer_readNameAndFlags(msg) { + var t1 = msg.dataView; + return new A.NameAndInt32Flags(B.C_Utf8Codec.decode$1(A.SharedArrayBuffer_asUint8ListSlice(msg.buffer, 16, t1.getInt32(12, false))), t1.getInt32(0, false), t1.getInt32(4, false), t1.getInt32(8, false)); + }, + RequestResponseSynchronizer: function RequestResponseSynchronizer(t0) { + this.int32View = t0; + }, + MessageSerializer: function MessageSerializer(t0, t1, t2) { + this.buffer = t0; + this.dataView = t1; + this.byteView = t2; + }, + WorkerOperation: function WorkerOperation(t0, t1, t2, t3, t4) { + var _ = this; + _.readRequest = t0; + _.readResponse = t1; + _.index = t2; + _._name = t3; + _.$ti = t4; + }, + Message0: function Message0() { + }, + EmptyMessage: function EmptyMessage() { + }, + Flags: function Flags(t0, t1, t2) { + this.flag0 = t0; + this.flag1 = t1; + this.flag2 = t2; + }, + NameAndInt32Flags: function NameAndInt32Flags(t0, t1, t2, t3) { + var _ = this; + _.name = t0; + _.flag0 = t1; + _.flag1 = t2; + _.flag2 = t3; + }, + VfsWorker_create(options) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.VfsWorker), + $async$returnValue, t2, _i, t3, t4, t5, t6, t1, root, split; + var $async$VfsWorker_create = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(A.storageManager().getDirectory()), t1), $async$VfsWorker_create); + case 3: + // returning from await. + root = $async$result; + split = $.$get$url().split$1(0, A._asString(options.root)); + t2 = split.length, _i = 0; + case 4: + // for condition + if (!(_i < split.length)) { + // goto after for + $async$goto = 6; + break; + } + $async$goto = 7; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(root.getDirectoryHandle(split[_i], {create: true})), t1), $async$VfsWorker_create); + case 7: + // returning from await. + root = $async$result; + case 5: + // for update + split.length === t2 || (0, A.throwConcurrentModificationError)(split), ++_i; + // goto for condition + $async$goto = 4; + break; + case 6: + // after for + t2 = type$._OpenedFileHandle; + t3 = A.RequestResponseSynchronizer_RequestResponseSynchronizer(A._asJSObject(options.synchronizationBuffer)); + t4 = A._asJSObject(options.communicationBuffer); + t5 = A.SharedArrayBuffer_asByteData(t4, 65536, 2048); + t6 = type$.JavaScriptFunction._as(init.G.Uint8Array); + $async$returnValue = new A.VfsWorker(t3, new A.MessageSerializer(t4, t5, type$.NativeUint8List._as(A.callConstructor(t6, [t4], t1))), root, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, t2), A.LinkedHashSet_LinkedHashSet$_empty(t2)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$VfsWorker_create, $async$completer); + }, + _ResolvedPath: function _ResolvedPath(t0, t1, t2) { + this.fullPath = t0; + this.directory = t1; + this.filename = t2; + }, + VfsWorker: function VfsWorker(t0, t1, t2, t3, t4) { + var _ = this; + _.synchronizer = t0; + _.messages = t1; + _.root = t2; + _._fdCounter = 0; + _._stopped = false; + _._openFiles = t3; + _._implicitlyHeldLocks = t4; + }, + _OpenedFileHandle: function _OpenedFileHandle(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.fd = t0; + _.readonly = t1; + _.deleteOnClose = t2; + _.fullPath = t3; + _.directory = t4; + _.filename = t5; + _.file = t6; + _.explicitlyLocked = false; + _.syncHandle = null; + }, + IndexedDbFileSystem_open(dbName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.IndexedDbFileSystem), + $async$returnValue, t1, t2, t3, t4, fs; + var $async$IndexedDbFileSystem_open = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.String; + t2 = new A.AsynchronousIndexedDbFileSystem(dbName); + t3 = A.InMemoryFileSystem$(null); + t4 = $.$get$BaseVirtualFileSystem__fallbackRandom(); + fs = new A.IndexedDbFileSystem(t2, t3, new A.LinkedList(type$.LinkedList__IndexedDbWorkItem), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.int), t4, "indexeddb"); + $async$goto = 3; + return A._asyncAwait(t2.open$0(), $async$IndexedDbFileSystem_open); + case 3: + // returning from await. + $async$goto = 4; + return A._asyncAwait(fs._readFiles$0(), $async$IndexedDbFileSystem_open); + case 4: + // returning from await. + $async$returnValue = fs; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$IndexedDbFileSystem_open, $async$completer); + }, + AsynchronousIndexedDbFileSystem: function AsynchronousIndexedDbFileSystem(t0) { + this._indexed_db$_database = null; + this._dbName = t0; + }, + AsynchronousIndexedDbFileSystem_open_closure: function AsynchronousIndexedDbFileSystem_open_closure(t0) { + this.openRequest = t0; + }, + AsynchronousIndexedDbFileSystem__readFile_closure: function AsynchronousIndexedDbFileSystem__readFile_closure(t0) { + this.fileId = t0; + }, + AsynchronousIndexedDbFileSystem_readFully_closure: function AsynchronousIndexedDbFileSystem_readFully_closure(t0, t1, t2, t3) { + var _ = this; + _.row = t0; + _.result = t1; + _.rowOffset = t2; + _.length = t3; + }, + AsynchronousIndexedDbFileSystem__write_writeBlock: function AsynchronousIndexedDbFileSystem__write_writeBlock(t0, t1) { + this.blocks = t0; + this.fileId = t1; + }, + AsynchronousIndexedDbFileSystem__write_closure: function AsynchronousIndexedDbFileSystem__write_closure(t0, t1) { + this.writeBlock = t0; + this.writes = t1; + }, + _FileWriteRequest: function _FileWriteRequest(t0, t1, t2) { + this.originalContent = t0; + this.replacedBlocks = t1; + this.newFileLength = t2; + }, + _FileWriteRequest__updateBlock_closure: function _FileWriteRequest__updateBlock_closure(t0, t1) { + this.$this = t0; + this.blockOffset = t1; + }, + _OffsetAndBuffer: function _OffsetAndBuffer(t0, t1) { + this.offset = t0; + this.buffer = t1; + }, + IndexedDbFileSystem: function IndexedDbFileSystem(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _._asynchronous = t0; + _._isClosing = false; + _._currentWorkItem = null; + _._memory = t1; + _._pendingWork = t2; + _._inMemoryOnlyFiles = t3; + _._knownFileIds = t4; + _.random = t5; + _.name = t6; + }, + IndexedDbFileSystem__startWorkingIfNeeded_closure: function IndexedDbFileSystem__startWorkingIfNeeded_closure(t0) { + this.$this = t0; + }, + _IndexedDbFile: function _IndexedDbFile(t0, t1, t2) { + this.vfs = t0; + this.memoryFile = t1; + this.path = t2; + }, + _IndexedDbFile_xTruncate_closure: function _IndexedDbFile_xTruncate_closure(t0, t1) { + this.$this = t0; + this.size = t1; + }, + _IndexedDbWorkItem: function _IndexedDbWorkItem() { + }, + _FunctionWorkItem: function _FunctionWorkItem(t0, t1) { + var _ = this; + _.work = t0; + _.completer = t1; + _._previous = _._next = _._list = null; + }, + _DeleteFileWorkItem: function _DeleteFileWorkItem(t0, t1, t2) { + var _ = this; + _.fileSystem = t0; + _.path = t1; + _.completer = t2; + _._previous = _._next = _._list = null; + }, + _CreateFileWorkItem: function _CreateFileWorkItem(t0, t1, t2) { + var _ = this; + _.fileSystem = t0; + _.path = t1; + _.completer = t2; + _._previous = _._next = _._list = null; + }, + _WriteFileWorkItem: function _WriteFileWorkItem(t0, t1, t2, t3, t4) { + var _ = this; + _.fileSystem = t0; + _.path = t1; + _.originalContent = t2; + _.writes = t3; + _.completer = t4; + _._previous = _._next = _._list = null; + }, + SimpleOpfsFileSystem__resolveDir(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_nullable_JSObject_and_JSObject), + $async$returnValue, t1, opfsDirectory, t2, t3, $parent, _i, opfsDirectory0, storage; + var $async$SimpleOpfsFileSystem__resolveDir = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + storage = A.storageManager(); + if (storage == null) + throw A.wrapException(A.VfsException$(1)); + t1 = type$.JSObject; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(storage.getDirectory()), t1), $async$SimpleOpfsFileSystem__resolveDir); + case 3: + // returning from await. + opfsDirectory = $async$result; + t2 = $.$get$context().split$1(0, path), t3 = t2.length, $parent = null, _i = 0; + case 4: + // for condition + if (!(_i < t2.length)) { + // goto after for + $async$goto = 6; + break; + } + $async$goto = 7; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(opfsDirectory.getDirectoryHandle(t2[_i], {create: true})), t1), $async$SimpleOpfsFileSystem__resolveDir); + case 7: + // returning from await. + opfsDirectory0 = $async$result; + case 5: + // for update + t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i, $parent = opfsDirectory, opfsDirectory = opfsDirectory0; + // goto for condition + $async$goto = 4; + break; + case 6: + // after for + $async$returnValue = new A._Record_2($parent, opfsDirectory); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$SimpleOpfsFileSystem__resolveDir, $async$completer); + }, + SimpleOpfsFileSystem_loadFromStorage(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.SimpleOpfsFileSystem), + $async$returnValue, $async$temp1; + var $async$SimpleOpfsFileSystem_loadFromStorage = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + if (A.storageManager() == null) + throw A.wrapException(A.VfsException$(1)); + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.SimpleOpfsFileSystem__resolveDir(path), $async$SimpleOpfsFileSystem_loadFromStorage); + case 3: + // returning from await. + $async$returnValue = $async$temp1.SimpleOpfsFileSystem_inDirectory($async$result._1, false, "simple-opfs"); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$SimpleOpfsFileSystem_loadFromStorage, $async$completer); + }, + SimpleOpfsFileSystem_inDirectory(root, readWriteUnsafe, vfsName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.SimpleOpfsFileSystem), + $async$returnValue, t1, _i, type, t2, t3, t4, $open, meta, $async$temp1, $async$temp2; + var $async$SimpleOpfsFileSystem_inDirectory = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $open = new A.SimpleOpfsFileSystem_inDirectory_open(root, false); + $async$goto = 3; + return A._asyncAwait($open.call$1("meta"), $async$SimpleOpfsFileSystem_inDirectory); + case 3: + // returning from await. + meta = $async$result; + meta.truncate(2); + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.FileType, type$.JSObject); + _i = 0; + case 4: + // for condition + if (!(_i < 2)) { + // goto after for + $async$goto = 6; + break; + } + type = B.List_fyc[_i]; + $async$temp1 = t1; + $async$temp2 = type; + $async$goto = 7; + return A._asyncAwait($open.call$1(type._name), $async$SimpleOpfsFileSystem_inDirectory); + case 7: + // returning from await. + $async$temp1.$indexSet(0, $async$temp2, $async$result); + case 5: + // for update + ++_i; + // goto for condition + $async$goto = 4; + break; + case 6: + // after for + t2 = new Uint8Array(2); + t3 = A.InMemoryFileSystem$(null); + t4 = $.$get$BaseVirtualFileSystem__fallbackRandom(); + $async$returnValue = new A.SimpleOpfsFileSystem(meta, t2, t1, t3, t4, vfsName); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$SimpleOpfsFileSystem_inDirectory, $async$completer); + }, + FileType: function FileType(t0, t1, t2) { + this.filePath = t0; + this.index = t1; + this._name = t2; + }, + SimpleOpfsFileSystem: function SimpleOpfsFileSystem(t0, t1, t2, t3, t4, t5) { + var _ = this; + _._metaHandle = t0; + _._existsList = t1; + _._files = t2; + _._simple_opfs$_memory = t3; + _.random = t4; + _.name = t5; + }, + SimpleOpfsFileSystem_inDirectory_open: function SimpleOpfsFileSystem_inDirectory_open(t0, t1) { + this.root = t0; + this.readWriteUnsafe = t1; + }, + _SimpleOpfsFile: function _SimpleOpfsFile(t0, t1, t2, t3) { + var _ = this; + _.vfs = t0; + _.type = t1; + _.syncHandle = t2; + _.deleteOnClose = t3; + _._simple_opfs$_lockMode = 0; + }, + WasmBindings_instantiateAsync(response) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmBindings), + $async$returnValue, instance, injected, t1; + var $async$WasmBindings_instantiateAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + injected = A._InjectedValues$(); + t1 = injected.___InjectedValues_injectedValues_A; + t1 === $ && A.throwLateFieldNI("injectedValues"); + $async$goto = 3; + return A._asyncAwait(A.WasmInstance_load(response, t1), $async$WasmBindings_instantiateAsync); + case 3: + // returning from await. + instance = $async$result; + t1 = injected.___InjectedValues_memory_A; + t1 === $ && A.throwLateFieldNI("memory"); + $async$returnValue = injected.___InjectedValues_bindings_A = new A.WasmBindings(t1, injected.callbacks, A._asJSObject(instance.exports)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$WasmBindings_instantiateAsync, $async$completer); + }, + _runVfs(body) { + var e, exception, t1; + try { + body.call$0(); + return 0; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.VfsException) { + e = t1; + return e.returnCode; + } else + return 1; + } + }, + WrappedMemory_strlen(_this, address) { + var bytes, t1, $length; + if (A.assertTest(address !== 0)) + A.assertThrow("Null pointer dereference"); + bytes = A.NativeUint8List_NativeUint8List$view(type$.NativeArrayBuffer._as(_this.buffer), address, null); + t1 = bytes.length; + $length = 0; + for (;;) { + if (!($length < t1)) + return A.ioore(bytes, $length); + if (!(bytes[$length] !== 0)) + break; + ++$length; + } + return $length; + }, + WrappedMemory_int32ValueOfPointer(_this, pointer) { + var t1, t2; + if (A.assertTest(pointer !== 0)) + A.assertThrow("Null pointer dereference"); + t1 = A.NativeInt32List_NativeInt32List$view(type$.NativeArrayBuffer._as(_this.buffer), 0, null); + t2 = B.JSInt_methods._shrOtherPositive$1(pointer, 2); + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + return t1[t2]; + }, + WrappedMemory_setInt32Value(_this, pointer, value) { + var t1, t2; + if (A.assertTest(pointer !== 0)) + A.assertThrow("Null pointer dereference"); + t1 = A.NativeInt32List_NativeInt32List$view(type$.NativeArrayBuffer._as(_this.buffer), 0, null); + t2 = B.JSInt_methods._shrOtherPositive$1(pointer, 2); + t1.$flags & 2 && A.throwUnsupportedOperation(t1); + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + t1[t2] = value; + }, + WrappedMemory_readString(_this, address, $length) { + var t1; + if (A.assertTest(address !== 0)) + A.assertThrow("Null pointer dereference"); + t1 = type$.NativeArrayBuffer._as(_this.buffer); + return B.C_Utf8Codec.decode$1(A.NativeUint8List_NativeUint8List$view(t1, address, $length == null ? A.WrappedMemory_strlen(_this, address) : $length)); + }, + WrappedMemory_readNullableString(_this, address, $length) { + var t1; + if (address === 0) + return null; + t1 = type$.NativeArrayBuffer._as(_this.buffer); + return B.C_Utf8Codec.decode$1(A.NativeUint8List_NativeUint8List$view(t1, address, $length == null ? A.WrappedMemory_strlen(_this, address) : $length)); + }, + WrappedMemory_copyRange(_this, pointer, $length) { + var list = new Uint8Array($length); + B.NativeUint8List_methods.setAll$2(list, 0, A.NativeUint8List_NativeUint8List$view(type$.NativeArrayBuffer._as(_this.buffer), pointer, $length)); + return list; + }, + _InjectedValues$() { + var t1 = type$.int; + t1 = new A._InjectedValues(new A.DartCallbacks(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.RegisteredFunctionSet), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AggregateContext_nullable_Object), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VirtualFileSystem), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VirtualFileSystemFile), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.SessionApplyCallbacks))); + t1._InjectedValues$0(); + return t1; + }, + WasmBindings: function WasmBindings(t0, t1, t2) { + this.memory = t0; + this.callbacks = t1; + this.sqlite3 = t2; + }, + _InjectedValues: function _InjectedValues(t0) { + var _ = this; + _.___InjectedValues_memory_A = _.___InjectedValues_injectedValues_A = _.___InjectedValues_bindings_A = $; + _.callbacks = t0; + }, + _InjectedValues_closure: function _InjectedValues_closure(t0) { + this.memory = t0; + }, + _InjectedValues_closure0: function _InjectedValues_closure0(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure13: function _InjectedValues__closure13(t0, t1, t2, t3, t4, t5, t6) { + var _ = this; + _.$this = t0; + _.vfs = t1; + _.path = t2; + _.flags = t3; + _.memory = t4; + _.dartFdPtr = t5; + _.pOutFlags = t6; + }, + _InjectedValues_closure1: function _InjectedValues_closure1(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure12: function _InjectedValues__closure12(t0, t1, t2) { + this.vfs = t0; + this.path = t1; + this.syncDir = t2; + }, + _InjectedValues_closure2: function _InjectedValues_closure2(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure11: function _InjectedValues__closure11(t0, t1, t2, t3, t4) { + var _ = this; + _.vfs = t0; + _.path = t1; + _.flags = t2; + _.memory = t3; + _.pResOut = t4; + }, + _InjectedValues_closure3: function _InjectedValues_closure3(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure10: function _InjectedValues__closure10(t0, t1, t2, t3, t4) { + var _ = this; + _.vfs = t0; + _.path = t1; + _.nOut = t2; + _.memory = t3; + _.zOut = t4; + }, + _InjectedValues_closure4: function _InjectedValues_closure4(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure9: function _InjectedValues__closure9(t0, t1, t2, t3) { + var _ = this; + _.memory = t0; + _.zOut = t1; + _.nByte = t2; + _.vfs = t3; + }, + _InjectedValues_closure5: function _InjectedValues_closure5(t0) { + this.$this = t0; + }, + _InjectedValues__closure8: function _InjectedValues__closure8(t0, t1) { + this.vfs = t0; + this.micros = t1; + }, + _InjectedValues_closure6: function _InjectedValues_closure6(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues_closure7: function _InjectedValues_closure7(t0) { + this.$this = t0; + }, + _InjectedValues_closure8: function _InjectedValues_closure8(t0) { + this.$this = t0; + }, + _InjectedValues__closure7: function _InjectedValues__closure7(t0, t1, t2) { + this.$this = t0; + this.file = t1; + this.fd = t2; + }, + _InjectedValues_closure9: function _InjectedValues_closure9(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure6: function _InjectedValues__closure6(t0, t1, t2, t3, t4) { + var _ = this; + _.file = t0; + _.memory = t1; + _.target = t2; + _.amount = t3; + _.offset = t4; + }, + _InjectedValues_closure10: function _InjectedValues_closure10(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure5: function _InjectedValues__closure5(t0, t1, t2, t3, t4) { + var _ = this; + _.file = t0; + _.memory = t1; + _.source = t2; + _.amount = t3; + _.offset = t4; + }, + _InjectedValues_closure11: function _InjectedValues_closure11(t0) { + this.$this = t0; + }, + _InjectedValues__closure4: function _InjectedValues__closure4(t0, t1) { + this.file = t0; + this.size = t1; + }, + _InjectedValues_closure12: function _InjectedValues_closure12(t0) { + this.$this = t0; + }, + _InjectedValues__closure3: function _InjectedValues__closure3(t0, t1) { + this.file = t0; + this.flags = t1; + }, + _InjectedValues_closure13: function _InjectedValues_closure13(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure2: function _InjectedValues__closure2(t0, t1, t2) { + this.file = t0; + this.memory = t1; + this.sizePtr = t2; + }, + _InjectedValues_closure14: function _InjectedValues_closure14(t0) { + this.$this = t0; + }, + _InjectedValues__closure1: function _InjectedValues__closure1(t0, t1) { + this.file = t0; + this.flags = t1; + }, + _InjectedValues_closure15: function _InjectedValues_closure15(t0) { + this.$this = t0; + }, + _InjectedValues__closure0: function _InjectedValues__closure0(t0, t1) { + this.file = t0; + this.flags = t1; + }, + _InjectedValues_closure16: function _InjectedValues_closure16(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues__closure: function _InjectedValues__closure(t0, t1, t2) { + this.file = t0; + this.memory = t1; + this.pResOut = t2; + }, + _InjectedValues_closure17: function _InjectedValues_closure17(t0) { + this.$this = t0; + }, + _InjectedValues_closure18: function _InjectedValues_closure18(t0) { + this.$this = t0; + }, + _InjectedValues_closure19: function _InjectedValues_closure19(t0) { + this.$this = t0; + }, + _InjectedValues_closure20: function _InjectedValues_closure20(t0) { + this.$this = t0; + }, + _InjectedValues_closure21: function _InjectedValues_closure21(t0) { + this.$this = t0; + }, + _InjectedValues_closure22: function _InjectedValues_closure22(t0) { + this.$this = t0; + }, + _InjectedValues_closure23: function _InjectedValues_closure23(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues_closure24: function _InjectedValues_closure24(t0, t1) { + this.$this = t0; + this.memory = t1; + }, + _InjectedValues_closure25: function _InjectedValues_closure25(t0) { + this.$this = t0; + }, + _InjectedValues_closure26: function _InjectedValues_closure26(t0) { + this.$this = t0; + }, + _InjectedValues_closure27: function _InjectedValues_closure27(t0) { + this.memory = t0; + }, + _InjectedValues_closure28: function _InjectedValues_closure28(t0) { + this.$this = t0; + }, + _InjectedValues_closure29: function _InjectedValues_closure29(t0) { + this.$this = t0; + }, + DartCallbacks: function DartCallbacks(t0, t1, t2, t3, t4) { + var _ = this; + _._id = 0; + _.functions = t0; + _.aggregateContexts = t1; + _.registeredVfs = t2; + _.openedFiles = t3; + _.sessionApply = t4; + _.installedRollbackHook = _.installedCommitHook = _.installedUpdateHook = null; + }, + RegisteredFunctionSet: function RegisteredFunctionSet(t0, t1, t2) { + this.xFunc = t0; + this.xStep = t1; + this.xFinal = t2; + }, + Chain_Chain$parse(chain) { + var t1, t2, + _s51_ = string$.x3d_____; + if (chain.length === 0) + return new A.Chain(A.List_List$unmodifiable(A._setArrayType([], type$.JSArray_Trace), type$.Trace)); + t1 = $.$get$vmChainGap(); + if (B.JSString_methods.contains$1(chain, t1)) { + t1 = B.JSString_methods.split$1(chain, t1); + t2 = A._arrayInstanceType(t1); + return new A.Chain(A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.Chain_Chain$parse_closure()), t2._eval$1("WhereIterable<1>")), t2._eval$1("Trace(1)")._as(A.trace_Trace___parseVM_tearOff$closure()), t2._eval$1("MappedIterable<1,Trace>")), type$.Trace)); + } + if (!B.JSString_methods.contains$1(chain, _s51_)) + return new A.Chain(A.List_List$unmodifiable(A._setArrayType([A.Trace_Trace$parse(chain)], type$.JSArray_Trace), type$.Trace)); + return new A.Chain(A.List_List$unmodifiable(new A.MappedListIterable(A._setArrayType(chain.split(_s51_), type$.JSArray_String), type$.Trace_Function_String._as(A.trace_Trace___parseFriendly_tearOff$closure()), type$.MappedListIterable_String_Trace), type$.Trace)); + }, + Chain: function Chain(t0) { + this.traces = t0; + }, + Chain_Chain$parse_closure: function Chain_Chain$parse_closure() { + }, + Chain_toTrace_closure: function Chain_toTrace_closure() { + }, + Chain_toString_closure0: function Chain_toString_closure0() { + }, + Chain_toString__closure0: function Chain_toString__closure0() { + }, + Chain_toString_closure: function Chain_toString_closure(t0) { + this.longest = t0; + }, + Chain_toString__closure: function Chain_toString__closure(t0) { + this.longest = t0; + }, + Frame___parseVM_tearOff(frame) { + return A.Frame_Frame$parseVM(A._asString(frame)); + }, + Frame_Frame$parseVM(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseVM_closure(frame)); + }, + Frame___parseV8_tearOff(frame) { + return A.Frame_Frame$parseV8(A._asString(frame)); + }, + Frame_Frame$parseV8(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseV8_closure(frame)); + }, + Frame_Frame$_parseFirefoxEval(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$_parseFirefoxEval_closure(frame)); + }, + Frame___parseFirefox_tearOff(frame) { + return A.Frame_Frame$parseFirefox(A._asString(frame)); + }, + Frame_Frame$parseFirefox(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFirefox_closure(frame)); + }, + Frame___parseFriendly_tearOff(frame) { + return A.Frame_Frame$parseFriendly(A._asString(frame)); + }, + Frame_Frame$parseFriendly(frame) { + return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFriendly_closure(frame)); + }, + Frame__uriOrPathToUri(uriOrPath) { + if (B.JSString_methods.contains$1(uriOrPath, $.$get$Frame__uriRegExp())) + return A.Uri_parse(uriOrPath); + else if (B.JSString_methods.contains$1(uriOrPath, $.$get$Frame__windowsRegExp())) + return A._Uri__Uri$file(uriOrPath, true); + else if (B.JSString_methods.startsWith$1(uriOrPath, "/")) + return A._Uri__Uri$file(uriOrPath, false); + if (B.JSString_methods.contains$1(uriOrPath, "\\")) + return $.$get$windows().toUri$1(uriOrPath); + return A.Uri_parse(uriOrPath); + }, + Frame__catchFormatException(text, body) { + var t1, exception; + try { + t1 = body.call$0(); + return t1; + } catch (exception) { + if (A.unwrapException(exception) instanceof A.FormatException) + return new A.UnparsedFrame(A._Uri__Uri(null, "unparsed", null, null), text); + else + throw exception; + } + }, + Frame: function Frame(t0, t1, t2, t3) { + var _ = this; + _.uri = t0; + _.line = t1; + _.column = t2; + _.member = t3; + }, + Frame_Frame$parseVM_closure: function Frame_Frame$parseVM_closure(t0) { + this.frame = t0; + }, + Frame_Frame$parseV8_closure: function Frame_Frame$parseV8_closure(t0) { + this.frame = t0; + }, + Frame_Frame$parseV8_closure_parseJsLocation: function Frame_Frame$parseV8_closure_parseJsLocation(t0) { + this.frame = t0; + }, + Frame_Frame$_parseFirefoxEval_closure: function Frame_Frame$_parseFirefoxEval_closure(t0) { + this.frame = t0; + }, + Frame_Frame$parseFirefox_closure: function Frame_Frame$parseFirefox_closure(t0) { + this.frame = t0; + }, + Frame_Frame$parseFriendly_closure: function Frame_Frame$parseFriendly_closure(t0) { + this.frame = t0; + }, + LazyTrace: function LazyTrace(t0) { + this._thunk = t0; + this.__LazyTrace__trace_FI = $; + }, + Trace_Trace$from(trace) { + if (type$.Trace._is(trace)) + return trace; + if (trace instanceof A.Chain) + return trace.toTrace$0(); + return new A.LazyTrace(new A.Trace_Trace$from_closure(trace)); + }, + Trace_Trace$parse(trace) { + var error, t1, exception; + try { + if (trace.length === 0) { + t1 = A.Trace$(A._setArrayType([], type$.JSArray_Frame), null); + return t1; + } + if (B.JSString_methods.contains$1(trace, $.$get$_v8Trace())) { + t1 = A.Trace$parseV8(trace); + return t1; + } + if (B.JSString_methods.contains$1(trace, "\tat ")) { + t1 = A.Trace$parseJSCore(trace); + return t1; + } + if (B.JSString_methods.contains$1(trace, $.$get$_firefoxSafariTrace()) || B.JSString_methods.contains$1(trace, $.$get$_firefoxEvalTrace())) { + t1 = A.Trace$parseFirefox(trace); + return t1; + } + if (B.JSString_methods.contains$1(trace, string$.x3d_____)) { + t1 = A.Chain_Chain$parse(trace).toTrace$0(); + return t1; + } + if (B.JSString_methods.contains$1(trace, $.$get$_friendlyTrace())) { + t1 = A.Trace$parseFriendly(trace); + return t1; + } + t1 = A.Trace$parseVM(trace); + return t1; + } catch (exception) { + t1 = A.unwrapException(exception); + if (t1 instanceof A.FormatException) { + error = t1; + throw A.wrapException(A.FormatException$(error.message + "\nStack trace:\n" + trace, null, null)); + } else + throw exception; + } + }, + Trace___parseVM_tearOff(trace) { + return A.Trace$parseVM(A._asString(trace)); + }, + Trace$parseVM(trace) { + var t1 = A.List_List$unmodifiable(A.Trace__parseVM(trace), type$.Frame); + return new A.Trace(t1); + }, + Trace__parseVM(trace) { + var $frames, + t1 = B.JSString_methods.trim$0(trace), + t2 = $.$get$vmChainGap(), + t3 = type$.WhereIterable_String, + lines = new A.WhereIterable(A._setArrayType(A.stringReplaceAllUnchecked(t1, t2, "").split("\n"), type$.JSArray_String), type$.bool_Function_String._as(new A.Trace__parseVM_closure()), t3); + if (!lines.get$iterator(0).moveNext$0()) + return A._setArrayType([], type$.JSArray_Frame); + t1 = A.TakeIterable_TakeIterable(lines, lines.get$length(0) - 1, t3._eval$1("Iterable.E")); + t2 = A._instanceType(t1); + t2 = A.MappedIterable_MappedIterable(t1, t2._eval$1("Frame(Iterable.E)")._as(A.frame_Frame___parseVM_tearOff$closure()), t2._eval$1("Iterable.E"), type$.Frame); + $frames = A.List_List$_of(t2, A._instanceType(t2)._eval$1("Iterable.E")); + if (!B.JSString_methods.endsWith$1(lines.get$last(0), ".da")) + B.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(lines.get$last(0))); + return $frames; + }, + Trace$parseV8(trace) { + var t2, t3, + t1 = A.SubListIterable$(A._setArrayType(trace.split("\n"), type$.JSArray_String), 1, null, type$.String); + t1 = t1.super$Iterable$skipWhile(0, t1.$ti._eval$1("bool(ListIterable.E)")._as(new A.Trace$parseV8_closure())); + t2 = type$.Frame; + t3 = t1.$ti; + t2 = A.List_List$unmodifiable(A.MappedIterable_MappedIterable(t1, t3._eval$1("Frame(Iterable.E)")._as(A.frame_Frame___parseV8_tearOff$closure()), t3._eval$1("Iterable.E"), t2), t2); + return new A.Trace(t2); + }, + Trace$parseJSCore(trace) { + var t1 = A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(A._setArrayType(trace.split("\n"), type$.JSArray_String), type$.bool_Function_String._as(new A.Trace$parseJSCore_closure()), type$.WhereIterable_String), type$.Frame_Function_String._as(A.frame_Frame___parseV8_tearOff$closure()), type$.MappedIterable_String_Frame), type$.Frame); + return new A.Trace(t1); + }, + Trace$parseFirefox(trace) { + var t1 = A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(A._setArrayType(B.JSString_methods.trim$0(trace).split("\n"), type$.JSArray_String), type$.bool_Function_String._as(new A.Trace$parseFirefox_closure()), type$.WhereIterable_String), type$.Frame_Function_String._as(A.frame_Frame___parseFirefox_tearOff$closure()), type$.MappedIterable_String_Frame), type$.Frame); + return new A.Trace(t1); + }, + Trace___parseFriendly_tearOff(trace) { + return A.Trace$parseFriendly(A._asString(trace)); + }, + Trace$parseFriendly(trace) { + var t1 = trace.length === 0 ? A._setArrayType([], type$.JSArray_Frame) : new A.MappedIterable(new A.WhereIterable(A._setArrayType(B.JSString_methods.trim$0(trace).split("\n"), type$.JSArray_String), type$.bool_Function_String._as(new A.Trace$parseFriendly_closure()), type$.WhereIterable_String), type$.Frame_Function_String._as(A.frame_Frame___parseFriendly_tearOff$closure()), type$.MappedIterable_String_Frame); + t1 = A.List_List$unmodifiable(t1, type$.Frame); + return new A.Trace(t1); + }, + Trace$($frames, original) { + var t1 = A.List_List$unmodifiable($frames, type$.Frame); + return new A.Trace(t1); + }, + Trace: function Trace(t0) { + this.frames = t0; + }, + Trace_Trace$from_closure: function Trace_Trace$from_closure(t0) { + this.trace = t0; + }, + Trace__parseVM_closure: function Trace__parseVM_closure() { + }, + Trace$parseV8_closure: function Trace$parseV8_closure() { + }, + Trace$parseJSCore_closure: function Trace$parseJSCore_closure() { + }, + Trace$parseFirefox_closure: function Trace$parseFirefox_closure() { + }, + Trace$parseFriendly_closure: function Trace$parseFriendly_closure() { + }, + Trace_toString_closure0: function Trace_toString_closure0() { + }, + Trace_toString_closure: function Trace_toString_closure(t0) { + this.longest = t0; + }, + UnparsedFrame: function UnparsedFrame(t0, t1) { + this.uri = t0; + this.member = t1; + }, + CloseGuaranteeChannel: function CloseGuaranteeChannel(t0) { + var _ = this; + _.__CloseGuaranteeChannel__sink_F = _.__CloseGuaranteeChannel__stream_F = $; + _._close_guarantee_channel$_subscription = null; + _._disconnected = false; + _.$ti = t0; + }, + _CloseGuaranteeStream: function _CloseGuaranteeStream(t0, t1, t2) { + this._inner = t0; + this._channel = t1; + this.$ti = t2; + }, + _CloseGuaranteeSink: function _CloseGuaranteeSink(t0, t1, t2) { + this._channel = t0; + this._sink = t1; + this.$ti = t2; + }, + GuaranteeChannel$(innerStream, innerSink, allowSinkErrors, $T) { + var t2, t1 = {}; + t1.innerStream = innerStream; + t2 = new A.GuaranteeChannel($T._eval$1("GuaranteeChannel<0>")); + t2.GuaranteeChannel$3$allowSinkErrors(innerSink, true, t1, $T); + return t2; + }, + GuaranteeChannel: function GuaranteeChannel(t0) { + var _ = this; + _.__GuaranteeChannel__streamController_F = _.__GuaranteeChannel__sink_F = $; + _._guarantee_channel$_subscription = null; + _._guarantee_channel$_disconnected = false; + _.$ti = t0; + }, + GuaranteeChannel_closure: function GuaranteeChannel_closure(t0, t1, t2) { + this._box_0 = t0; + this.$this = t1; + this.T = t2; + }, + GuaranteeChannel__closure: function GuaranteeChannel__closure(t0) { + this.$this = t0; + }, + _GuaranteeSink: function _GuaranteeSink(t0, t1, t2, t3, t4) { + var _ = this; + _._guarantee_channel$_inner = t0; + _._guarantee_channel$_channel = t1; + _._doneCompleter = t2; + _._closed = _._guarantee_channel$_disconnected = false; + _._addStreamCompleter = _._addStreamSubscription = null; + _._allowErrors = t3; + _.$ti = t4; + }, + StreamChannelController: function StreamChannelController(t0) { + this.__StreamChannelController__foreign_F = this.__StreamChannelController__local_F = $; + this.$ti = t0; + }, + StreamChannelMixin: function StreamChannelMixin() { + }, + TypedDataBuffer: function TypedDataBuffer() { + }, + _IntBuffer: function _IntBuffer() { + }, + Uint8Buffer: function Uint8Buffer(t0, t1) { + this._typed_buffer$_buffer = t0; + this._typed_buffer$_length = t1; + }, + _EventStreamSubscription$(_target, _eventType, onData, _useCapture, $T) { + var t1; + if (onData == null) + t1 = null; + else { + t1 = A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.JSObject); + t1 = t1 == null ? null : A._functionToJS1(t1); + } + 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); + }, + EventStreamProvider: function EventStreamProvider(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; + }, + printString(string) { + if (typeof dartPrint == "function") { + dartPrint(string); + return; + } + if (typeof console == "object" && typeof console.log != "undefined") { + console.log(string); + return; + } + if (typeof print == "function") { + print(string); + return; + } + 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 if (arg3 == null) + return _this[method](arg1, arg2); + else { + t1 = _this[method](arg1, arg2, arg3); + return t1; + } + }, + current() { + var exception, t1, path, lastIndex, uri = null; + try { + uri = A.Uri_base(); + } catch (exception) { + if (type$.Exception._is(A.unwrapException(exception))) { + t1 = $._current; + if (t1 != null) + return t1; + throw exception; + } else + throw exception; + } + if (J.$eq$(uri, $._currentUriBase)) { + t1 = $._current; + t1.toString; + return t1; + } + $._currentUriBase = uri; + if ($.$get$Style_platform() === $.$get$Style_url()) + t1 = $._current = uri.resolve$1(".").toString$0(0); + else { + path = uri.toFilePath$0(); + t1 = path.length; + lastIndex = t1 - 1; + if (!(lastIndex >= 0)) + return A.ioore(path, lastIndex); + t1 = path[lastIndex]; + A.assertHelper(t1 === "/" || t1 === "\\"); + t1 = $._current = lastIndex === 0 ? path : B.JSString_methods.substring$2(path, 0, lastIndex); + } + return t1; + }, + isAlphabetic(char) { + var t1; + if (!(char >= 65 && char <= 90)) + t1 = char >= 97 && char <= 122; + else + t1 = true; + return t1; + }, + driveLetterEnd(path, index) { + var t2, t3, _null = null, + t1 = path.length, + index0 = index + 2; + if (t1 < index0) + return _null; + if (!(index >= 0 && index < t1)) + return A.ioore(path, index); + if (!A.isAlphabetic(path.charCodeAt(index))) + return _null; + t2 = index + 1; + if (!(t2 < t1)) + return A.ioore(path, t2); + if (path.charCodeAt(t2) !== 58) { + t3 = index + 4; + if (t1 < t3) + return _null; + if (B.JSString_methods.substring$2(path, t2, t3).toLowerCase() !== "%3a") + return _null; + index = index0; + } + t2 = index + 2; + if (t1 === t2) + return t2; + if (!(t2 >= 0 && t2 < t1)) + return A.ioore(path, t2); + if (path.charCodeAt(t2) !== 47) + return _null; + return index + 3; + }, + createExceptionRaw(bindings, db, returnCode, operation, previousStatement, statementArgs) { + var t5, _null = null, + t1 = db.bindings, + t2 = db.db, + t3 = t1.sqlite3, + extendedCode = A._asInt(t3.sqlite3_extended_errcode(t2)), + t4 = type$.nullable_JavaScriptFunction._as(t3.sqlite3_error_offset), + _0_0 = t4 == null ? _null : A._asInt(A._asDouble(t4.call(null, t2))); + if (_0_0 == null) + _0_0 = -1; + $label0$0: { + if (_0_0 < 0) { + t4 = _null; + break $label0$0; + } + t4 = _0_0; + break $label0$0; + } + t5 = bindings.bindings; + return new A.SqliteException(A.WrappedMemory_readString(t1.memory, A._asInt(t3.sqlite3_errmsg(t2)), _null), A.WrappedMemory_readString(t5.memory, A._asInt(t5.sqlite3.sqlite3_errstr(extendedCode)), _null) + " (code " + extendedCode + ")", returnCode, t4, operation, previousStatement, statementArgs); + }, + throwException(db, returnCode, operation, previousStatement, statementArgs) { + throw A.wrapException(A.createExceptionRaw(db.bindings, db.database, returnCode, operation, previousStatement, statementArgs)); + }, + BigIntRangeCheck_get_checkRange(_this) { + if (_this.compareTo$1(0, $.$get$bigIntMinValue64()) < 0 || _this.compareTo$1(0, $.$get$bigIntMaxValue64()) > 0) + throw A.wrapException(A.Exception_Exception("BigInt value exceeds the range of 64 bits")); + return _this; + }, + ReadDartValue_read(_this) { + var t4, $length, + t1 = _this.bindings, + t2 = _this.value, + t3 = t1.sqlite3, + _0_0 = A._asInt(t3.sqlite3_value_type(t2)); + $label0$0: { + t4 = null; + if (1 === _0_0) { + t1 = A._asInt(A._asDouble(init.G.Number(type$.JavaScriptBigInt._as(t3.sqlite3_value_int64(t2))))); + break $label0$0; + } + if (2 === _0_0) { + t1 = A._asDouble(t3.sqlite3_value_double(t2)); + break $label0$0; + } + if (3 === _0_0) { + $length = A._asInt(t3.sqlite3_value_bytes(t2)); + t1 = A.WrappedMemory_readString(t1.memory, A._asInt(t3.sqlite3_value_text(t2)), $length); + break $label0$0; + } + if (4 === _0_0) { + $length = A._asInt(t3.sqlite3_value_bytes(t2)); + t1 = A.WrappedMemory_copyRange(t1.memory, A._asInt(t3.sqlite3_value_blob(t2)), $length); + break $label0$0; + } + t1 = t4; + break $label0$0; + } + return t1; + }, + GenerateFilename_randomFileName(_this, prefix) { + var t1, i, t2, + _s61_ = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012346789"; + for (t1 = prefix, i = 0; i < 16; ++i, t1 = t2) { + t2 = _this.nextInt$1(61); + if (!(t2 < 61)) + return A.ioore(_s61_, t2); + t2 = t1 + A.Primitives_stringFromCharCode(_s61_.charCodeAt(t2)); + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + ReadBlob_byteBuffer(_this) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.ByteBuffer), + $async$returnValue; + var $async$ReadBlob_byteBuffer = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(_this.arrayBuffer()), type$.NativeArrayBuffer), $async$ReadBlob_byteBuffer); + case 3: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$ReadBlob_byteBuffer, $async$completer); + }, + SharedArrayBuffer_asByteData(_this, offset, $length) { + var t1 = type$.JavaScriptFunction._as(init.G.DataView), + t2 = [_this]; + t2.push(offset); + t2.push($length); + return type$.NativeByteData._as(A.callConstructor(t1, t2, type$.JSObject)); + }, + SharedArrayBuffer_asUint8ListSlice(_this, offset, $length) { + var t1 = type$.JavaScriptFunction._as(init.G.Uint8Array), + t2 = [_this]; + t2.push(offset); + t2.push($length); + return type$.NativeUint8List._as(A.callConstructor(t1, t2, type$.JSObject)); + }, + Atomics_notify(typedArray, index) { + init.G.Atomics.notify(typedArray, index, 1 / 0); + }, + storageManager() { + var $navigator = A._asJSObject(init.G.navigator); + if ("storage" in $navigator) + return A._asJSObject($navigator.storage); + return null; + }, + FileSystemSyncAccessHandleApi_readDart(_this, buffer, options) { + var t1 = A._asInt(_this.read(buffer, options)); + return t1; + }, + FileSystemSyncAccessHandleApi_writeDart(_this, buffer, options) { + var t1 = A._asInt(_this.write(buffer, options)); + return t1; + }, + FileSystemDirectoryHandleApi_remove(_this, $name) { + return A.promiseToFuture(A._asJSObject(_this.removeEntry($name, {recursive: false})), type$.nullable_Object); + }, + main() { + var $self = init.G; + if (A.JSAnyUtilityExtension_instanceOfString($self, "DedicatedWorkerGlobalScope")) + new A.DedicatedDriftWorker($self, new A.Lock(), new A.DriftServerController(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.RunningWasmServer), null)).start$0(); + else if (A.JSAnyUtilityExtension_instanceOfString($self, "SharedWorkerGlobalScope")) + new A.SharedDriftWorker($self, new A.DriftServerController(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.RunningWasmServer), null)).start$0(); + return null; + } + }, + B = {}; + var holders = [A, J, B]; + var $ = {}; + A.JS_CONST.prototype = {}; + J.Interceptor.prototype = { + $eq(receiver, other) { + return receiver === other; + }, + get$hashCode(receiver) { + return A.Primitives_objectHashCode(receiver); + }, + toString$0(receiver) { + return "Instance of '" + A.Primitives_objectTypeName(receiver) + "'"; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(A._instanceTypeFromConstructor(this)); + } + }; + J.JSBool.prototype = { + toString$0(receiver) { + return String(receiver); + }, + get$hashCode(receiver) { + return receiver ? 519018 : 218159; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.bool); + }, + $isTrustedGetRuntimeType: 1, + $isbool: 1 + }; + J.JSNull.prototype = { + $eq(receiver, other) { + return null == other; + }, + toString$0(receiver) { + return "null"; + }, + get$hashCode(receiver) { + return 0; + }, + $isTrustedGetRuntimeType: 1, + $isNull: 1 + }; + J.JavaScriptObject.prototype = {$isJSObject: 1}; + J.LegacyJavaScriptObject.prototype = { + get$hashCode(receiver) { + return 0; + }, + toString$0(receiver) { + return String(receiver); + } + }; + J.PlainJavaScriptObject.prototype = {}; + J.UnknownJavaScriptObject.prototype = {}; + J.JavaScriptFunction.prototype = { + toString$0(receiver) { + var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()]; + if (dartClosure == null) + return this.super$LegacyJavaScriptObject$toString(receiver); + return "JavaScript function for " + J.toString$0$(dartClosure); + }, + $isFunction: 1 + }; + J.JavaScriptBigInt.prototype = { + get$hashCode(receiver) { + return 0; + }, + toString$0(receiver) { + return String(receiver); + } + }; + J.JavaScriptSymbol.prototype = { + get$hashCode(receiver) { + return 0; + }, + toString$0(receiver) { + return String(receiver); + } + }; + 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); + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, 29); + receiver.push(value); + }, + removeAt$1(receiver, index) { + var t1; + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "removeAt", 1); + t1 = receiver.length; + if (index >= t1) + throw A.wrapException(A.RangeError$value(index, null)); + return receiver.splice(index, 1)[0]; + }, + insert$2(receiver, index, value) { + var t1; + A._arrayInstanceType(receiver)._precomputed1._as(value); + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "insert", 2); + t1 = receiver.length; + if (index > t1) + throw A.wrapException(A.RangeError$value(index, null)); + receiver.splice(index, 0, value); + }, + insertAll$2(receiver, index, iterable) { + var insertionLength, end; + A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable); + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "insertAll", 2); + A.RangeError_checkValueInInterval(index, 0, receiver.length, "index"); + if (!type$.EfficientLengthIterable_dynamic._is(iterable)) + iterable = J.toList$0$ax(iterable); + insertionLength = J.get$length$asx(iterable); + this._setLengthUnsafe$1(receiver, receiver.length + insertionLength); + end = index + insertionLength; + this.setRange$4(receiver, end, receiver.length, receiver, index); + this.setRange$3(receiver, index, end, iterable); + }, + removeLast$0(receiver) { + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "removeLast", 1); + if (receiver.length === 0) + throw A.wrapException(A.diagnoseIndexError(receiver, -1)); + return receiver.pop(); + }, + remove$1(receiver, element) { + var i; + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "remove", 1); + for (i = 0; i < receiver.length; ++i) + if (J.$eq$(receiver[i], element)) { + receiver.splice(i, 1); + return true; + } + return false; + }, + addAll$1(receiver, collection) { + var i, t1, e, i0; + A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection); + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "addAll", 2); + if (Array.isArray(collection)) { + this._addAllFromArray$1(receiver, collection); + return; + } + i = receiver.length; + for (t1 = J.get$iterator$ax(collection); t1.moveNext$0(); i = i0) { + e = t1.get$current(); + i0 = i + 1; + A.assertHelper(i === receiver.length || A.throwExpression(A.ConcurrentModificationError$(receiver))); + receiver.push(e); + } + }, + _addAllFromArray$1(receiver, array) { + var len, i; + type$.JSArray_dynamic._as(array); + len = array.length; + if (len === 0) + return; + if (receiver === array) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + for (i = 0; i < len; ++i) + receiver.push(array[i]); + }, + clear$0(receiver) { + receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "clear", "clear"); + this._setLengthUnsafe$1(receiver, 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>")); + }, + join$1(receiver, separator) { + var i, + list = A.List_List$filled(receiver.length, "", false, type$.String); + for (i = 0; i < receiver.length; ++i) + this.$indexSet(list, i, A.S(receiver[i])); + return list.join(separator); + }, + join$0(receiver) { + return this.join$1(receiver, ""); + }, + 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); + }, + elementAt$1(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + return A.ioore(receiver, index); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + var t1 = receiver.length; + if (start > t1) + throw A.wrapException(A.RangeError$range(start, 0, t1, "start", null)); + if (end < start || end > t1) + throw A.wrapException(A.RangeError$range(end, start, t1, "end", null)); + if (start === end) + return A._setArrayType([], A._arrayInstanceType(receiver)); + return A._setArrayType(receiver.slice(start, end), A._arrayInstanceType(receiver)); + }, + 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]; + throw A.wrapException(A.IterableElementError_noElement()); + }, + get$last(receiver) { + var t1 = receiver.length; + if (t1 > 0) + return receiver[t1 - 1]; + throw A.wrapException(A.IterableElementError_noElement()); + }, + setRange$4(receiver, start, end, iterable, skipCount) { + var $length, otherList, otherStart, t1, i; + A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable); + receiver.$flags & 2 && A.throwUnsupportedOperation(receiver, 5); + A.RangeError_checkValidRange(start, end, receiver.length); + $length = end - start; + 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; + } + t1 = J.getInterceptor$asx(otherList); + if (otherStart + $length > t1.get$length(otherList)) + throw A.wrapException(A.IterableElementError_tooFew()); + if (otherStart < start) + for (i = $length - 1; i >= 0; --i) + receiver[start + i] = t1.$index(otherList, otherStart + i); + else + for (i = 0; i < $length; ++i) + receiver[start + i] = t1.$index(otherList, otherStart + i); + }, + setRange$3(receiver, start, end, iterable) { + return this.setRange$4(receiver, start, end, iterable, 0); + }, + every$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 (!test.call$1(receiver[i])) + return false; + if (receiver.length !== end) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + } + return true; + }, + sort$1(receiver, compare) { + var len, a, b, undefineds, i, + t1 = A._arrayInstanceType(receiver); + t1._eval$1("int(1,1)?")._as(compare); + receiver.$flags & 2 && A.throwUnsupportedOperation(receiver, "sort"); + len = receiver.length; + if (len < 2) + return; + if (compare == null) + compare = J._interceptors_JSArray__compareAny$closure(); + if (len === 2) { + a = receiver[0]; + b = receiver[1]; + t1 = compare.call$2(a, b); + if (typeof t1 !== "number") + return t1.$gt(); + if (t1 > 0) { + receiver[0] = b; + receiver[1] = a; + } + return; + } + undefineds = 0; + if (t1._precomputed1._is(null)) + for (i = 0; i < receiver.length; ++i) + if (receiver[i] === void 0) { + receiver[i] = null; + ++undefineds; + } + receiver.sort(A.convertDartClosureToJS(compare, 2)); + if (undefineds > 0) + this._replaceSomeNullsWithUndefined$1(receiver, undefineds); + }, + sort$0(receiver) { + return this.sort$1(receiver, null); + }, + _replaceSomeNullsWithUndefined$1(receiver, count) { + var i, i0; + A.assertHelper(count > 0); + i = receiver.length; + for (; i0 = i - 1, i > 0; i = i0) + if (receiver[i0] === null) { + receiver[i0] = void 0; + --count; + if (count === 0) + break; + } + }, + lastIndexOf$1(receiver, element) { + var i, + t1 = receiver.length, + start = t1 - 1; + if (start < 0) + return -1; + start < t1; + for (i = start; i >= 0; --i) { + if (!(i < receiver.length)) + return A.ioore(receiver, i); + if (J.$eq$(receiver[i], element)) + return i; + } + return -1; + }, + get$isEmpty(receiver) { + return receiver.length === 0; + }, + toString$0(receiver) { + return A.Iterable_iterableToFullString(receiver, "[", "]"); + }, + toList$1$growable(receiver, growable) { + var t1 = A._setArrayType(receiver.slice(0), A._arrayInstanceType(receiver)); + return t1; + }, + toList$0(receiver) { + return this.toList$1$growable(receiver, true); + }, + get$iterator(receiver) { + return new J.ArrayIterator(receiver, receiver.length, A._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>")); + }, + get$hashCode(receiver) { + return A.Primitives_objectHashCode(receiver); + }, + get$length(receiver) { + return receiver.length; + }, + _setLengthUnsafe$1(receiver, newLength) { + if (A.assertTest(newLength >= 0)) + A.assertThrow(A.throwExpression(A.RangeError$range(newLength, 0, null, "newLength", null))); + receiver.length = newLength; + }, + $index(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + return receiver[index]; + }, + $indexSet(receiver, index, value) { + A._arrayInstanceType(receiver)._precomputed1._as(value); + receiver.$flags & 2 && A.throwUnsupportedOperation(receiver); + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + receiver[index] = value; + }, + $isJSIndexable: 1, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + J.JSArraySafeToStringHook.prototype = { + tryFormat$1(array) { + var flags, info, base; + if (!Array.isArray(array)) + return null; + flags = array.$flags | 0; + if ((flags & 4) !== 0) + info = "const, "; + else if ((flags & 2) !== 0) + info = "unmodifiable, "; + else + info = (flags & 1) !== 0 ? "fixed, " : ""; + base = "Instance of '" + A.Primitives_objectTypeName(array) + "'"; + if (info === "") + return base; + return base + " (" + info + "length: " + array.length + ")"; + } + }; + J.JSUnmodifiableArray.prototype = {}; + J.ArrayIterator.prototype = { + get$current() { + var t1 = this._current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var t2, _this = this, + t1 = _this._iterable, + $length = t1.length; + if (_this._length !== $length) { + t1 = A.throwConcurrentModificationError(t1); + throw A.wrapException(t1); + } + t2 = _this._index; + if (t2 >= $length) { + _this._current = null; + return false; + } + _this._current = t1[t2]; + _this._index = t2 + 1; + return true; + }, + $isIterator: 1 + }; + J.JSNumber.prototype = { + compareTo$1(receiver, b) { + var bIsNegative; + A._asNum(b); + if (receiver < b) + return -1; + else if (receiver > b) + return 1; + else if (receiver === b) { + if (receiver === 0) { + bIsNegative = this.get$isNegative(b); + if (this.get$isNegative(receiver) === bIsNegative) + return 0; + if (this.get$isNegative(receiver)) + return -1; + return 1; + } + return 0; + } else if (isNaN(receiver)) { + if (isNaN(b)) + return 0; + return 1; + } else + return -1; + }, + get$isNegative(receiver) { + return receiver === 0 ? 1 / receiver < 0 : receiver < 0; + }, + toInt$0(receiver) { + var t1; + if (receiver >= -2147483648 && receiver <= 2147483647) + return receiver | 0; + if (isFinite(receiver)) { + t1 = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver); + return t1 + 0; + } + throw A.wrapException(A.UnsupportedError$("" + receiver + ".toInt()")); + }, + ceil$0(receiver) { + var truncated, d; + if (receiver >= 0) { + if (receiver <= 2147483647) { + truncated = receiver | 0; + return receiver === truncated ? truncated : truncated + 1; + } + } else if (receiver >= -2147483648) + return receiver | 0; + d = Math.ceil(receiver); + if (isFinite(d)) + return d; + throw A.wrapException(A.UnsupportedError$("" + receiver + ".ceil()")); + }, + toString$0(receiver) { + if (receiver === 0 && 1 / receiver < 0) + return "-0.0"; + else + return "" + receiver; + }, + get$hashCode(receiver) { + var absolute, floorLog2, factor, scaled, + intValue = receiver | 0; + if (receiver === intValue) + return intValue & 536870911; + absolute = Math.abs(receiver); + floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0; + factor = Math.pow(2, floorLog2); + scaled = absolute < 1 ? absolute / factor : factor / absolute; + return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911; + }, + $mod(receiver, other) { + var result = receiver % other; + if (result === 0) + return 0; + if (result > 0) + return result; + return result + other; + }, + $tdiv(receiver, other) { + if ((receiver | 0) === receiver) + if (other >= 1 || other < -1) + return receiver / other | 0; + return this._tdivSlow$1(receiver, other); + }, + _tdivFast$1(receiver, other) { + return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); + }, + _tdivSlow$1(receiver, other) { + var quotient = receiver / other; + if (quotient >= -2147483648 && quotient <= 2147483647) + return quotient | 0; + if (quotient > 0) { + if (quotient !== 1 / 0) + return Math.floor(quotient); + } else if (quotient > -1 / 0) + return Math.ceil(quotient); + throw A.wrapException(A.UnsupportedError$("Result of truncating division is " + A.S(quotient) + ": " + A.S(receiver) + " ~/ " + other)); + }, + $shl(receiver, other) { + if (other < 0) + throw A.wrapException(A.argumentErrorValue(other)); + return other > 31 ? 0 : receiver << other >>> 0; + }, + $shr(receiver, other) { + var t1; + if (other < 0) + throw A.wrapException(A.argumentErrorValue(other)); + if (receiver > 0) + t1 = this._shrBothPositive$1(receiver, other); + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, + _shrOtherPositive$1(receiver, other) { + var t1; + if (receiver > 0) + t1 = this._shrBothPositive$1(receiver, other); + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, + _shrReceiverPositive$1(receiver, other) { + if (0 > other) + throw A.wrapException(A.argumentErrorValue(other)); + return this._shrBothPositive$1(receiver, other); + }, + _shrBothPositive$1(receiver, other) { + return other > 31 ? 0 : receiver >>> other; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.num); + }, + $isComparable: 1, + $isdouble: 1, + $isnum: 1 + }; + J.JSInt.prototype = { + get$bitLength(receiver) { + var wordBits, + t1 = receiver < 0 ? -receiver - 1 : receiver, + nonneg = t1; + for (wordBits = 32; nonneg >= 4294967296;) { + nonneg = this._tdivFast$1(nonneg, 4294967296); + wordBits += 32; + } + return wordBits - Math.clz32(nonneg); + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.int); + }, + $isTrustedGetRuntimeType: 1, + $isint: 1 + }; + J.JSNumNotInt.prototype = { + get$runtimeType(receiver) { + return A.createRuntimeType(type$.double); + }, + $isTrustedGetRuntimeType: 1 + }; + J.JSString.prototype = { + codeUnitAt$1(receiver, index) { + if (index < 0) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + if (index >= receiver.length) + A.throwExpression(A.diagnoseIndexError(receiver, index)); + return receiver.charCodeAt(index); + }, + allMatches$2(receiver, string, start) { + var t1 = string.length; + if (start > t1) + throw A.wrapException(A.RangeError$range(start, 0, t1, null, null)); + return new A._StringAllMatchesIterable(string, receiver, start); + }, + allMatches$1(receiver, string) { + return this.allMatches$2(receiver, string, 0); + }, + matchAsPrefix$2(receiver, string, start) { + var t1, t2, i, t3, _null = null; + if (start < 0 || start > string.length) + throw A.wrapException(A.RangeError$range(start, 0, string.length, _null, _null)); + t1 = receiver.length; + t2 = string.length; + if (start + t1 > t2) + return _null; + for (i = 0; i < t1; ++i) { + t3 = start + i; + if (!(t3 >= 0 && t3 < t2)) + return A.ioore(string, t3); + if (string.charCodeAt(t3) !== receiver.charCodeAt(i)) + return _null; + } + return new A.StringMatch(start, receiver); + }, + endsWith$1(receiver, other) { + var otherLength = other.length, + t1 = receiver.length; + if (otherLength > t1) + return false; + return other === this.substring$1(receiver, t1 - otherLength); + }, + replaceFirst$2(receiver, from, to) { + A.RangeError_checkValueInInterval(0, 0, receiver.length, "startIndex"); + return A.stringReplaceFirstUnchecked(receiver, from, to, 0); + }, + split$1(receiver, pattern) { + var t1; + if (typeof pattern == "string") + return A._setArrayType(receiver.split(pattern), type$.JSArray_String); + else { + if (pattern instanceof A.JSSyntaxRegExp) { + t1 = pattern._hasCapturesCache; + t1 = !(t1 == null ? pattern._hasCapturesCache = pattern._computeHasCaptures$0() : t1); + } else + t1 = false; + if (t1) + return A._setArrayType(receiver.split(pattern._nativeRegExp), type$.JSArray_String); + else + return this._defaultSplit$1(receiver, pattern); + } + }, + replaceRange$3(receiver, start, end, replacement) { + var e = A.RangeError_checkValidRange(start, end, receiver.length); + return A.stringReplaceRangeUnchecked(receiver, start, e, replacement); + }, + _defaultSplit$1(receiver, pattern) { + var t1, start, $length, match, matchStart, matchEnd, + result = A._setArrayType([], type$.JSArray_String); + for (t1 = J.allMatches$1$s(pattern, receiver), t1 = t1.get$iterator(t1), start = 0, $length = 1; t1.moveNext$0();) { + match = t1.get$current(); + matchStart = match.get$start(); + matchEnd = match.get$end(); + $length = matchEnd - matchStart; + if ($length === 0 && start === matchStart) + continue; + B.JSArray_methods.add$1(result, this.substring$2(receiver, start, matchStart)); + start = matchEnd; + } + if (start < receiver.length || $length > 0) + B.JSArray_methods.add$1(result, this.substring$1(receiver, start)); + return result; + }, + startsWith$2(receiver, pattern, index) { + var endIndex; + if (index < 0 || index > receiver.length) + throw A.wrapException(A.RangeError$range(index, 0, receiver.length, null, null)); + if (typeof pattern == "string") { + endIndex = index + pattern.length; + if (endIndex > receiver.length) + return false; + return pattern === receiver.substring(index, endIndex); + } + return J.matchAsPrefix$2$s(pattern, receiver, index) != null; + }, + startsWith$1(receiver, pattern) { + return this.startsWith$2(receiver, pattern, 0); + }, + substring$2(receiver, start, end) { + return receiver.substring(start, A.RangeError_checkValidRange(start, end, receiver.length)); + }, + substring$1(receiver, start) { + return this.substring$2(receiver, start, null); + }, + trim$0(receiver) { + var startIndex, t1, endIndex0, + result = receiver.trim(), + endIndex = result.length; + if (endIndex === 0) + return result; + if (0 >= endIndex) + return A.ioore(result, 0); + if (result.charCodeAt(0) === 133) { + startIndex = J.JSString__skipLeadingWhitespace(result, 1); + if (startIndex === endIndex) + return ""; + } else + startIndex = 0; + t1 = endIndex - 1; + if (!(t1 >= 0)) + return A.ioore(result, t1); + endIndex0 = result.charCodeAt(t1) === 133 ? J.JSString__skipTrailingWhitespace(result, t1) : endIndex; + if (startIndex === 0 && endIndex0 === endIndex) + return result; + return result.substring(startIndex, endIndex0); + }, + $mul(receiver, times) { + var s, result; + if (0 >= times) + return ""; + if (times === 1 || receiver.length === 0) + return receiver; + if (times !== times >>> 0) + throw A.wrapException(B.C_OutOfMemoryError); + for (s = receiver, result = "";;) { + if ((times & 1) === 1) + result = s + result; + times = times >>> 1; + if (times === 0) + break; + s += s; + } + return result; + }, + padLeft$2(receiver, width, padding) { + var delta = width - receiver.length; + if (delta <= 0) + return receiver; + return this.$mul(padding, delta) + receiver; + }, + padRight$1(receiver, width) { + var delta = width - receiver.length; + if (delta <= 0) + return receiver; + return receiver + this.$mul(" ", delta); + }, + indexOf$2(receiver, pattern, start) { + var t1; + if (start < 0 || start > receiver.length) + throw A.wrapException(A.RangeError$range(start, 0, receiver.length, null, null)); + t1 = receiver.indexOf(pattern, start); + return t1; + }, + indexOf$1(receiver, pattern) { + return this.indexOf$2(receiver, pattern, 0); + }, + lastIndexOf$2(receiver, pattern, start) { + var t1, t2; + if (start == null) + start = receiver.length; + else if (start < 0 || start > receiver.length) + throw A.wrapException(A.RangeError$range(start, 0, receiver.length, null, null)); + t1 = pattern.length; + t2 = receiver.length; + if (start + t1 > t2) + start = t2 - t1; + return receiver.lastIndexOf(pattern, start); + }, + lastIndexOf$1(receiver, pattern) { + return this.lastIndexOf$2(receiver, pattern, null); + }, + contains$1(receiver, other) { + return A.stringContainsUnchecked(receiver, other, 0); + }, + compareTo$1(receiver, other) { + var t1; + A._asString(other); + if (receiver === other) + t1 = 0; + else + t1 = receiver < other ? -1 : 1; + return t1; + }, + toString$0(receiver) { + return receiver; + }, + get$hashCode(receiver) { + var t1, hash, i; + for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) { + hash = hash + receiver.charCodeAt(i) & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + hash ^= hash >> 6; + } + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + get$runtimeType(receiver) { + return A.createRuntimeType(type$.String); + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + if (!(index >= 0 && index < receiver.length)) + throw A.wrapException(A.diagnoseIndexError(receiver, index)); + return receiver[index]; + }, + $isJSIndexable: 1, + $isTrustedGetRuntimeType: 1, + $isComparable: 1, + $isPattern: 1, + $isString: 1 + }; + A._CastIterableBase.prototype = { + get$iterator(_) { + return new A.CastIterator(J.get$iterator$ax(this.get$_source()), A._instanceType(this)._eval$1("CastIterator<1,2>")); + }, + get$length(_) { + return J.get$length$asx(this.get$_source()); + }, + get$isEmpty(_) { + return J.get$isEmpty$asx(this.get$_source()); + }, + skip$1(_, count) { + var t1 = A._instanceType(this); + return A.CastIterable_CastIterable(J.skip$1$ax(this.get$_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$_source(), count), t1._precomputed1, t1._rest[1]); + }, + elementAt$1(_, index) { + return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$_source(), index)); + }, + get$first(_) { + return A._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$_source())); + }, + get$last(_) { + return A._instanceType(this)._rest[1]._as(J.get$last$ax(this.get$_source())); + }, + toString$0(_) { + return J.toString$0$(this.get$_source()); + } + }; + A.CastIterator.prototype = { + moveNext$0() { + return this._source.moveNext$0(); + }, + get$current() { + return this.$ti._rest[1]._as(this._source.get$current()); + }, + $isIterator: 1 + }; + A.CastIterable.prototype = { + get$_source() { + return this._source; + } + }; + A._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1}; + A._CastListBase.prototype = { + $index(_, index) { + return this.$ti._rest[1]._as(J.$index$asx(this._source, index)); + }, + $indexSet(_, index, value) { + var t1 = this.$ti; + J.$indexSet$ax(this._source, index, t1._precomputed1._as(t1._rest[1]._as(value))); + }, + getRange$2(_, start, end) { + var t1 = this.$ti; + return A.CastIterable_CastIterable(J.getRange$2$ax(this._source, start, end), t1._precomputed1, t1._rest[1]); + }, + setRange$4(_, start, end, iterable, skipCount) { + var t1 = this.$ti; + J.setRange$4$ax(this._source, start, end, A.CastIterable_CastIterable(t1._eval$1("Iterable<2>")._as(iterable), t1._rest[1], t1._precomputed1), skipCount); + }, + setRange$3(_, start, end, iterable) { + return this.setRange$4(0, start, end, iterable, 0); + }, + $isEfficientLengthIterable: 1, + $isList: 1 + }; + A.CastList.prototype = { + cast$1$0(_, $R) { + return new A.CastList(this._source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>")); + }, + get$_source() { + return this._source; + } + }; + A.LateError.prototype = { + toString$0(_) { + return "LateInitializationError: " + this.__internal$_message; + } + }; + A.CodeUnits.prototype = { + get$length(_) { + return this._string.length; + }, + $index(_, i) { + var t1 = this._string; + if (!(i >= 0 && i < t1.length)) + return A.ioore(t1, i); + return t1.charCodeAt(i); + } + }; + A.nullFuture_closure.prototype = { + call$0() { + return A.Future_Future$value(null, type$.void); + }, + $signature: 2 + }; + A.SentinelValue.prototype = {}; + A.EfficientLengthIterable.prototype = {}; + A.ListIterable.prototype = { + get$iterator(_) { + var _this = this; + return new A.ListIterator(_this, _this.get$length(_this), A._instanceType(_this)._eval$1("ListIterator")); + }, + get$isEmpty(_) { + return this.get$length(this) === 0; + }, + get$first(_) { + if (this.get$length(this) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.elementAt$1(0, 0); + }, + get$last(_) { + var _this = this; + if (_this.get$length(_this) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return _this.elementAt$1(0, _this.get$length(_this) - 1); + }, + join$1(_, separator) { + var first, t1, i, _this = this, + $length = _this.get$length(_this); + if (separator.length !== 0) { + if ($length === 0) + return ""; + first = A.S(_this.elementAt$1(0, 0)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + for (t1 = first, i = 1; i < $length; ++i) { + t1 = t1 + separator + A.S(_this.elementAt$1(0, i)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + } else { + for (i = 0, t1 = ""; i < $length; ++i) { + t1 += A.S(_this.elementAt$1(0, i)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }, + join$0(_) { + return this.join$1(0, ""); + }, + 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("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + fold$1$2(_, initialValue, combine, $T) { + var $length, value, i, _this = this; + $T._as(initialValue); + A._instanceType(_this)._bind$1($T)._eval$1("1(1,ListIterable.E)")._as(combine); + $length = _this.get$length(_this); + for (value = initialValue, i = 0; i < $length; ++i) { + value = combine.call$2(value, _this.elementAt$1(0, i)); + if ($length !== _this.get$length(_this)) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return value; + }, + 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) { + var t1 = A.List_List$_of(this, A._instanceType(this)._eval$1("ListIterable.E")); + return t1; + }, + toList$0(_) { + return this.toList$1$growable(0, true); + } + }; + A.SubListIterable.prototype = { + SubListIterable$3(_iterable, _start, _endOrLength, $E) { + var endOrLength, + t1 = this._start; + A.RangeError_checkNotNegative(t1, "start"); + endOrLength = this._endOrLength; + if (endOrLength != null) { + A.RangeError_checkNotNegative(endOrLength, "end"); + if (t1 > endOrLength) + throw A.wrapException(A.RangeError$range(t1, 0, endOrLength, "start", null)); + } + }, + get$_endIndex() { + var $length = J.get$length$asx(this.__internal$_iterable), + endOrLength = this._endOrLength; + if (endOrLength == null || endOrLength > $length) + return $length; + return endOrLength; + }, + get$_startIndex() { + var $length = J.get$length$asx(this.__internal$_iterable), + t1 = this._start; + if (t1 > $length) + return $length; + return t1; + }, + get$length(_) { + var endOrLength, + $length = J.get$length$asx(this.__internal$_iterable), + t1 = this._start; + if (t1 >= $length) + return 0; + endOrLength = this._endOrLength; + if (endOrLength == null || endOrLength >= $length) + return $length - t1; + return endOrLength - t1; + }, + elementAt$1(_, index) { + 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(0), _this, null, "index")); + return J.elementAt$1$ax(_this.__internal$_iterable, realIndex); + }, + skip$1(_, count) { + var newStart, endOrLength, _this = this; + A.RangeError_checkNotNegative(count, "count"); + newStart = _this._start + count; + endOrLength = _this._endOrLength; + 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._start; + newEnd = t1 + count; + if (endOrLength == null) + return A.SubListIterable$(_this.__internal$_iterable, t1, newEnd, _this.$ti._precomputed1); + else { + 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._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 = { + get$current() { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var t3, _this = this, + t1 = _this.__internal$_iterable, + t2 = J.getInterceptor$asx(t1), + $length = t2.get$length(t1); + if (_this.__internal$_length !== $length) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + t3 = _this.__internal$_index; + if (t3 >= $length) { + _this.__internal$_current = null; + return false; + } + _this.__internal$_current = t2.elementAt$1(t1, t3); + ++_this.__internal$_index; + return true; + }, + $isIterator: 1 + }; + A.MappedIterable.prototype = { + get$iterator(_) { + var t1 = this.__internal$_iterable; + return new A.MappedIterator(t1.get$iterator(t1), this._f, A._instanceType(this)._eval$1("MappedIterator<1,2>")); + }, + get$length(_) { + var t1 = this.__internal$_iterable; + return t1.get$length(t1); + }, + get$isEmpty(_) { + var t1 = this.__internal$_iterable; + return t1.get$isEmpty(t1); + }, + get$first(_) { + var t1 = this.__internal$_iterable; + return this._f.call$1(t1.get$first(t1)); + }, + get$last(_) { + var t1 = this.__internal$_iterable; + return this._f.call$1(t1.get$last(t1)); + }, + elementAt$1(_, index) { + var t1 = this.__internal$_iterable; + return this._f.call$1(t1.elementAt$1(t1, index)); + } + }; + A.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1}; + A.MappedIterator.prototype = { + moveNext$0() { + var _this = this, + t1 = _this._iterator; + if (t1.moveNext$0()) { + _this.__internal$_current = _this._f.call$1(t1.get$current()); + return true; + } + _this.__internal$_current = null; + return false; + }, + get$current() { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + $isIterator: 1 + }; + A.MappedListIterable.prototype = { + get$length(_) { + return J.get$length$asx(this._source); + }, + elementAt$1(_, index) { + return this._f.call$1(J.elementAt$1$ax(this._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>")); + } + }; + A.WhereIterator.prototype = { + moveNext$0() { + var t1, t2; + for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) + if (t2.call$1(t1.get$current())) + return true; + return false; + }, + get$current() { + return this._iterator.get$current(); + }, + $isIterator: 1 + }; + A.ExpandIterable.prototype = { + get$iterator(_) { + return new A.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, B.C_EmptyIterator, this.$ti._eval$1("ExpandIterator<1,2>")); + } + }; + A.ExpandIterator.prototype = { + get$current() { + var t1 = this.__internal$_current; + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + moveNext$0() { + var t2, t3, _this = this, + t1 = _this._currentExpansion; + if (t1 == null) + return false; + for (t2 = _this._iterator, t3 = _this._f; !t1.moveNext$0();) { + _this.__internal$_current = null; + if (t2.moveNext$0()) { + _this._currentExpansion = null; + t1 = J.get$iterator$ax(t3.call$1(t2.get$current())); + _this._currentExpansion = t1; + } else + return false; + } + _this.__internal$_current = _this._currentExpansion.get$current(); + return true; + }, + $isIterator: 1 + }; + A.TakeIterable.prototype = { + get$iterator(_) { + var t2, + t1 = this.__internal$_iterable; + t1 = t1.get$iterator(t1); + t2 = this._takeCount; + A.assertHelper(t2 >= 0); + return new A.TakeIterator(t1, t2, A._instanceType(this)._eval$1("TakeIterator<1>")); + } + }; + A.EfficientLengthTakeIterable.prototype = { + get$length(_) { + var t1 = this.__internal$_iterable, + iterableLength = t1.get$length(t1); + 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() { + if (this._remaining < 0) { + this.$ti._precomputed1._as(null); + return null; + } + return this._iterator.get$current(); + }, + $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(_) { + var t2, + t1 = this.__internal$_iterable; + t1 = t1.get$iterator(t1); + t2 = this._skipCount; + A.assertHelper(t2 >= 0); + return new A.SkipIterator(t1, t2, A._instanceType(this)._eval$1("SkipIterator<1>")); + } + }; + A.EfficientLengthSkipIterable.prototype = { + get$length(_) { + var t1 = this.__internal$_iterable, + $length = t1.get$length(t1) - 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() { + return this._iterator.get$current(); + }, + $isIterator: 1 + }; + A.SkipWhileIterable.prototype = { + get$iterator(_) { + return new A.SkipWhileIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("SkipWhileIterator<1>")); + } + }; + A.SkipWhileIterator.prototype = { + moveNext$0() { + var t1, t2, _this = this; + if (!_this._hasSkipped) { + _this._hasSkipped = true; + for (t1 = _this._iterator, t2 = _this._f; t1.moveNext$0();) + if (!t2.call$1(t1.get$current())) + return true; + } + return _this._iterator.moveNext$0(); + }, + get$current() { + return this._iterator.get$current(); + }, + $isIterator: 1 + }; + A.EmptyIterable.prototype = { + get$iterator(_) { + return B.C_EmptyIterator; + }, + get$isEmpty(_) { + return true; + }, + get$length(_) { + return 0; + }, + get$first(_) { + throw A.wrapException(A.IterableElementError_noElement()); + }, + get$last(_) { + throw A.wrapException(A.IterableElementError_noElement()); + }, + elementAt$1(_, index) { + throw A.wrapException(A.RangeError$range(index, 0, 0, "index", null)); + }, + map$1$1(_, toElement, $T) { + this.$ti._bind$1($T)._eval$1("1(2)")._as(toElement); + return new A.EmptyIterable($T._eval$1("EmptyIterable<0>")); + }, + skip$1(_, count) { + A.RangeError_checkNotNegative(count, "count"); + return this; + }, + take$1(_, count) { + A.RangeError_checkNotNegative(count, "count"); + return this; + } + }; + A.EmptyIterator.prototype = { + moveNext$0() { + return false; + }, + get$current() { + throw A.wrapException(A.IterableElementError_noElement()); + }, + $isIterator: 1 + }; + A.WhereTypeIterable.prototype = { + get$iterator(_) { + return new A.WhereTypeIterator(J.get$iterator$ax(this._source), this.$ti._eval$1("WhereTypeIterator<1>")); + } + }; + A.WhereTypeIterator.prototype = { + moveNext$0() { + var t1, t2; + for (t1 = this._source, t2 = this.$ti._precomputed1; t1.moveNext$0();) + if (t2._is(t1.get$current())) + return true; + return false; + }, + get$current() { + return this.$ti._precomputed1._as(this._source.get$current()); + }, + $isIterator: 1 + }; + A.IndexedIterable.prototype = { + get$length(_) { + return J.get$length$asx(this._source); + }, + get$isEmpty(_) { + return J.get$isEmpty$asx(this._source); + }, + get$first(_) { + return new A._Record_2(this._start, J.get$first$ax(this._source)); + }, + elementAt$1(_, index) { + return new A._Record_2(index + this._start, J.elementAt$1$ax(this._source, index)); + }, + take$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.IndexedIterable(J.take$1$ax(this._source, count), this._start, A._instanceType(this)._eval$1("IndexedIterable<1>")); + }, + skip$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.IndexedIterable(J.skip$1$ax(this._source, count), count + this._start, A._instanceType(this)._eval$1("IndexedIterable<1>")); + }, + get$iterator(_) { + return new A.IndexedIterator(J.get$iterator$ax(this._source), this._start, A._instanceType(this)._eval$1("IndexedIterator<1>")); + } + }; + A.EfficientLengthIndexedIterable.prototype = { + get$last(_) { + var last, + t1 = this._source, + t2 = J.getInterceptor$asx(t1), + $length = t2.get$length(t1); + if ($length <= 0) + throw A.wrapException(A.IterableElementError_noElement()); + last = t2.get$last(t1); + if ($length !== t2.get$length(t1)) + throw A.wrapException(A.ConcurrentModificationError$(this)); + return new A._Record_2($length - 1 + this._start, last); + }, + take$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.EfficientLengthIndexedIterable(J.take$1$ax(this._source, count), this._start, this.$ti); + }, + skip$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.EfficientLengthIndexedIterable(J.skip$1$ax(this._source, count), this._start + count, this.$ti); + }, + $isEfficientLengthIterable: 1 + }; + A.IndexedIterator.prototype = { + moveNext$0() { + if (++this.__internal$_index >= 0 && this._source.moveNext$0()) + return true; + this.__internal$_index = -2; + return false; + }, + get$current() { + var t1 = this.__internal$_index; + return t1 >= 0 ? new A._Record_2(this._start + t1, this._source.get$current()) : A.throwExpression(A.IterableElementError_noElement()); + }, + $isIterator: 1 + }; + A.FixedLengthListMixin.prototype = {}; + 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")); + }, + setRange$4(_, start, end, iterable, skipCount) { + A._instanceType(this)._eval$1("Iterable")._as(iterable); + throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); + }, + setRange$3(_, start, end, iterable) { + return this.setRange$4(0, start, end, iterable, 0); + } + }; + A.UnmodifiableListBase.prototype = {}; + A.ReversedListIterable.prototype = { + get$length(_) { + return J.get$length$asx(this._source); + }, + elementAt$1(_, index) { + var t1 = this._source, + t2 = J.getInterceptor$asx(t1); + return t2.elementAt$1(t1, t2.get$length(t1) - 1 - index); + } + }; + A.Symbol.prototype = { + get$hashCode(_) { + var hash = this._hashCode; + if (hash != null) + return hash; + hash = 664597 * B.JSString_methods.get$hashCode(this.__internal$_name) & 536870911; + this._hashCode = hash; + return hash; + }, + toString$0(_) { + return 'Symbol("' + this.__internal$_name + '")'; + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Symbol && this.__internal$_name === other.__internal$_name; + } + }; + A.__CastListBase__CastIterableBase_ListMixin.prototype = {}; + A._Record_2.prototype = {$recipe: "+(1,2)", $shape: 1}; + A._Record_2_file_outFlags.prototype = {$recipe: "+file,outFlags(1,2)", $shape: 2}; + A.ConstantMap.prototype = { + toString$0(_) { + return A.MapBase_mapToString(this); + }, + get$entries() { + return new A._SyncStarIterable(this.entries$body$ConstantMap(), A._instanceType(this)._eval$1("_SyncStarIterable>")); + }, + entries$body$ConstantMap() { + var $async$self = this; + return function() { + var $async$goto = 0, $async$handler = 1, $async$errorStack = [], t1, t2, t3, key, t4; + return function $async$get$entries($async$iterator, $async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.get$keys(), t1 = t1.get$iterator(t1), t2 = A._instanceType($async$self), t3 = t2._rest[1], t2 = t2._eval$1("MapEntry<1,2>"); + case 2: + // for condition + if (!t1.moveNext$0()) { + // goto after for + $async$goto = 3; + break; + } + key = t1.get$current(); + t4 = $async$self.$index(0, key); + $async$goto = 4; + return $async$iterator._async$_current = new A.MapEntry(key, t4 == null ? t3._as(t4) : t4, t2), 1; + case 4: + // after yield + // goto for condition + $async$goto = 2; + break; + case 3: + // after for + // implicit return + return 0; + case 1: + // rethrow + return $async$iterator._datum = $async$errorStack.at(-1), 3; + } + }; + }; + }, + $isMap: 1 + }; + A.ConstantStringMap.prototype = { + get$length(_) { + return this._values.length; + }, + get$__js_helper$_keys() { + var keys = this.$keys; + if (keys == null) { + keys = Object.keys(this._jsIndex); + this.$keys = keys; + } + return keys; + }, + containsKey$1(key) { + if (typeof key != "string") + return false; + if ("__proto__" === key) + return false; + return this._jsIndex.hasOwnProperty(key); + }, + $index(_, key) { + if (!this.containsKey$1(key)) + return null; + return this._values[this._jsIndex[key]]; + }, + forEach$1(_, f) { + var keys, values, t1, i; + this.$ti._eval$1("~(1,2)")._as(f); + keys = this.get$__js_helper$_keys(); + values = this._values; + for (t1 = keys.length, i = 0; i < t1; ++i) + f.call$2(keys[i], values[i]); + }, + get$keys() { + return new A._KeysOrValues(this.get$__js_helper$_keys(), this.$ti._eval$1("_KeysOrValues<1>")); + }, + get$values() { + return new A._KeysOrValues(this._values, this.$ti._eval$1("_KeysOrValues<2>")); + } + }; + A._KeysOrValues.prototype = { + get$length(_) { + return this._elements.length; + }, + get$isEmpty(_) { + return 0 === this._elements.length; + }, + get$iterator(_) { + var t1 = this._elements; + return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>")); + } + }; + A._KeysOrValuesOrElementsIterator.prototype = { + get$current() { + var t1 = this.__js_helper$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + t1 = _this.__js_helper$_index; + if (t1 >= _this.__js_helper$_length) { + _this.__js_helper$_current = null; + return false; + } + _this.__js_helper$_current = _this._elements[t1]; + _this.__js_helper$_index = t1 + 1; + return true; + }, + $isIterator: 1 + }; + A.Instantiation.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Instantiation1 && this._genericClosure.$eq(0, other._genericClosure) && A.getRuntimeTypeOfClosure(this) === A.getRuntimeTypeOfClosure(other); + }, + get$hashCode(_) { + return A.Object_hash(this._genericClosure, A.getRuntimeTypeOfClosure(this), B.C_SentinelValue, B.C_SentinelValue); + }, + toString$0(_) { + var t1 = B.JSArray_methods.join$1([A.createRuntimeType(this.$ti._precomputed1)], ", "); + return this._genericClosure.toString$0(0) + " with " + ("<" + t1 + ">"); + } + }; + A.Instantiation1.prototype = { + call$2(a0, a1) { + return this._genericClosure.call$1$2(a0, a1, this.$ti._rest[0]); + }, + call$4(a0, a1, a2, a3) { + return this._genericClosure.call$1$4(a0, a1, a2, a3, this.$ti._rest[0]); + }, + $signature() { + return A.instantiatedGenericFunctionType(A.closureFunctionType(this._genericClosure), this.$ti); + } + }; + A.SafeToStringHook.prototype = {}; + A.TypeErrorDecoder.prototype = { + matchTypeError$1(message) { + var result, t1, _this = this, + match = new RegExp(_this._pattern).exec(message); + if (match == null) + return null; + result = Object.create(null); + t1 = _this._arguments; + if (t1 !== -1) + result.arguments = match[t1 + 1]; + t1 = _this._argumentsExpr; + if (t1 !== -1) + result.argumentsExpr = match[t1 + 1]; + t1 = _this._expr; + if (t1 !== -1) + result.expr = match[t1 + 1]; + t1 = _this._method; + if (t1 !== -1) + result.method = match[t1 + 1]; + t1 = _this._receiver; + if (t1 !== -1) + result.receiver = match[t1 + 1]; + return result; + } + }; + A.NullError.prototype = { + toString$0(_) { + return "Null check operator used on a null value"; + } + }; + A.JsNoSuchMethodError.prototype = { + toString$0(_) { + var t2, _this = this, + _s38_ = "NoSuchMethodError: method not found: '", + t1 = _this._method; + if (t1 == null) + return "NoSuchMethodError: " + _this.__js_helper$_message; + t2 = _this._receiver; + if (t2 == null) + return _s38_ + t1 + "' (" + _this.__js_helper$_message + ")"; + return _s38_ + t1 + "' on '" + t2 + "' (" + _this.__js_helper$_message + ")"; + } + }; + A.UnknownJsTypeError.prototype = { + toString$0(_) { + var t1 = this.__js_helper$_message; + return t1.length === 0 ? "Error" : "Error: " + t1; + } + }; + A.NullThrownFromJavaScriptException.prototype = { + toString$0(_) { + return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)"; + }, + $isException: 1 + }; + A.ExceptionAndStackTrace.prototype = {}; + A._StackTrace.prototype = { + toString$0(_) { + var trace, + t1 = this._trace; + if (t1 != null) + return t1; + t1 = this._exception; + trace = t1 !== null && typeof t1 === "object" ? t1.stack : null; + return this._trace = trace == null ? "" : trace; + }, + $isStackTrace: 1 + }; + A.Closure.prototype = { + toString$0(_) { + var $constructor = this.constructor, + $name = $constructor == null ? null : $constructor.name; + return "Closure '" + A.unminifyOrTag($name == null ? "unknown" : $name) + "'"; + }, + $isFunction: 1, + get$$call() { + return this; + }, + "call*": "call$1", + $requiredArgCount: 1, + $defaultValues: null + }; + A.Closure0Args.prototype = {"call*": "call$0", $requiredArgCount: 0}; + A.Closure2Args.prototype = {"call*": "call$2", $requiredArgCount: 2}; + A.TearOffClosure.prototype = {}; + A.StaticClosure.prototype = { + toString$0(_) { + var $name = this.$static_name; + if ($name == null) + return "Closure of unknown static method"; + return "Closure '" + A.unminifyOrTag($name) + "'"; + } + }; + A.BoundClosure.prototype = { + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + if (!(other instanceof A.BoundClosure)) + return false; + return this.$_target === other.$_target && this._receiver === other._receiver; + }, + get$hashCode(_) { + return (A.objectHashCode(this._receiver) ^ A.Primitives_objectHashCode(this.$_target)) >>> 0; + }, + toString$0(_) { + return "Closure '" + this.$_name + "' of " + ("Instance of '" + A.Primitives_objectTypeName(this._receiver) + "'"); + } + }; + A.RuntimeError.prototype = { + toString$0(_) { + return "RuntimeError: " + this.message; + } + }; + A._AssertionError.prototype = { + toString$0(_) { + return "Assertion failed: " + A.Error_safeToString(this.message); + } + }; + A.assertInteropArgs_closure.prototype = { + call$1(arg) { + return !type$.Function._is(arg) || typeof arg == "function"; + }, + $signature: 73 + }; + A.JsLinkedHashMap.prototype = { + get$length(_) { + return this.__js_helper$_length; + }, + get$isEmpty(_) { + return this.__js_helper$_length === 0; + }, + get$keys() { + return new A.LinkedHashMapKeysIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeysIterable<1>")); + }, + get$values() { + return new A.LinkedHashMapValuesIterable(this, A._instanceType(this)._eval$1("LinkedHashMapValuesIterable<2>")); + }, + get$entries() { + return new A.LinkedHashMapEntriesIterable(this, A._instanceType(this)._eval$1("LinkedHashMapEntriesIterable<1,2>")); + }, + containsKey$1(key) { + var strings, nums; + if (typeof key == "string") { + strings = this.__js_helper$_strings; + if (strings == null) + return false; + return strings[key] != null; + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = this.__js_helper$_nums; + if (nums == null) + return false; + return nums[key] != null; + } else + return this.internalContainsKey$1(key); + }, + internalContainsKey$1(key) { + var rest = this.__js_helper$_rest; + if (rest == null) + return false; + return this.internalFindBucketIndex$2(rest[this.internalComputeHashCode$1(key)], key) >= 0; + }, + addAll$1(_, other) { + A._instanceType(this)._eval$1("Map<1,2>")._as(other).forEach$1(0, new A.JsLinkedHashMap_addAll_closure(this)); + }, + $index(_, key) { + var strings, cell, t1, nums, _null = null; + if (typeof key == "string") { + strings = this.__js_helper$_strings; + if (strings == null) + return _null; + cell = strings[key]; + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = this.__js_helper$_nums; + if (nums == null) + return _null; + cell = nums[key]; + t1 = cell == null ? _null : cell.hashMapCellValue; + return t1; + } else + return this.internalGet$1(key); + }, + internalGet$1(key) { + var bucket, index, + rest = this.__js_helper$_rest; + if (rest == null) + return null; + bucket = rest[this.internalComputeHashCode$1(key)]; + index = this.internalFindBucketIndex$2(bucket, key); + if (index < 0) + return null; + return bucket[index].hashMapCellValue; + }, + $indexSet(_, key, value) { + var strings, nums, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (typeof key == "string") { + strings = _this.__js_helper$_strings; + _this.__js_helper$_addHashTableEntry$3(strings == null ? _this.__js_helper$_strings = _this._newHashTable$0() : strings, key, value); + } else if (typeof key == "number" && (key & 0x3fffffff) === key) { + nums = _this.__js_helper$_nums; + _this.__js_helper$_addHashTableEntry$3(nums == null ? _this.__js_helper$_nums = _this._newHashTable$0() : nums, key, value); + } else + _this.internalSet$2(key, value); + }, + internalSet$2(key, value) { + var rest, hash, bucket, index, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + rest = _this.__js_helper$_rest; + if (rest == null) + rest = _this.__js_helper$_rest = _this._newHashTable$0(); + hash = _this.internalComputeHashCode$1(key); + bucket = rest[hash]; + if (bucket == null) { + t1 = [_this.__js_helper$_newLinkedCell$2(key, value)]; + A.assertHelper(t1 != null); + rest[hash] = t1; + } else { + index = _this.internalFindBucketIndex$2(bucket, key); + if (index >= 0) + bucket[index].hashMapCellValue = value; + else + bucket.push(_this.__js_helper$_newLinkedCell$2(key, value)); + } + }, + putIfAbsent$2(key, ifAbsent) { + var t2, value, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._eval$1("2()")._as(ifAbsent); + if (_this.containsKey$1(key)) { + t2 = _this.$index(0, key); + return t2 == null ? t1._rest[1]._as(t2) : t2; + } + value = ifAbsent.call$0(); + _this.$indexSet(0, key, value); + return value; + }, + remove$1(_, key) { + var _this = this; + if (typeof key == "string") + return _this.__js_helper$_removeHashTableEntry$2(_this.__js_helper$_strings, key); + else if (typeof key == "number" && (key & 0x3fffffff) === key) + return _this.__js_helper$_removeHashTableEntry$2(_this.__js_helper$_nums, key); + else + return _this.internalRemove$1(key); + }, + internalRemove$1(key) { + var hash, bucket, index, cell, _this = this, + rest = _this.__js_helper$_rest; + if (rest == null) + return null; + hash = _this.internalComputeHashCode$1(key); + bucket = rest[hash]; + index = _this.internalFindBucketIndex$2(bucket, key); + if (index < 0) + return null; + cell = bucket.splice(index, 1)[0]; + _this.__js_helper$_unlinkCell$1(cell); + if (bucket.length === 0) + delete rest[hash]; + return cell.hashMapCellValue; + }, + clear$0(_) { + var _this = this; + if (_this.__js_helper$_length > 0) { + _this.__js_helper$_strings = _this.__js_helper$_nums = _this.__js_helper$_rest = _this.__js_helper$_first = _this.__js_helper$_last = null; + _this.__js_helper$_length = 0; + _this.__js_helper$_modified$0(); + } + }, + forEach$1(_, action) { + var cell, modifications, _this = this; + A._instanceType(_this)._eval$1("~(1,2)")._as(action); + cell = _this.__js_helper$_first; + modifications = _this.__js_helper$_modifications; + while (cell != null) { + action.call$2(cell.hashMapCellKey, cell.hashMapCellValue); + if (modifications !== _this.__js_helper$_modifications) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + cell = cell.__js_helper$_next; + } + }, + __js_helper$_addHashTableEntry$3(table, key, value) { + var cell, + t1 = A._instanceType(this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + cell = table[key]; + if (cell == null) + table[key] = this.__js_helper$_newLinkedCell$2(key, value); + else + cell.hashMapCellValue = value; + }, + __js_helper$_removeHashTableEntry$2(table, key) { + var cell; + if (table == null) + return null; + cell = table[key]; + if (cell == null) + return null; + this.__js_helper$_unlinkCell$1(cell); + delete table[key]; + return cell.hashMapCellValue; + }, + __js_helper$_modified$0() { + this.__js_helper$_modifications = this.__js_helper$_modifications + 1 & 1073741823; + }, + __js_helper$_newLinkedCell$2(key, value) { + var _this = this, + t1 = A._instanceType(_this), + cell = new A.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value)); + if (_this.__js_helper$_first == null) + _this.__js_helper$_first = _this.__js_helper$_last = cell; + else { + t1 = _this.__js_helper$_last; + t1.toString; + cell.__js_helper$_previous = t1; + _this.__js_helper$_last = t1.__js_helper$_next = cell; + } + ++_this.__js_helper$_length; + _this.__js_helper$_modified$0(); + return cell; + }, + __js_helper$_unlinkCell$1(cell) { + var _this = this, + previous = cell.__js_helper$_previous, + next = cell.__js_helper$_next; + if (previous == null) { + A.assertHelper(cell === _this.__js_helper$_first); + _this.__js_helper$_first = next; + } else + previous.__js_helper$_next = next; + if (next == null) { + A.assertHelper(cell === _this.__js_helper$_last); + _this.__js_helper$_last = previous; + } else + next.__js_helper$_previous = previous; + --_this.__js_helper$_length; + _this.__js_helper$_modified$0(); + }, + internalComputeHashCode$1(key) { + return J.get$hashCode$(key) & 1073741823; + }, + internalFindBucketIndex$2(bucket, key) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; ++i) + if (J.$eq$(bucket[i].hashMapCellKey, key)) + return i; + return -1; + }, + toString$0(_) { + return A.MapBase_mapToString(this); + }, + _newHashTable$0() { + var table = Object.create(null); + A.assertHelper(table != null); + table[""] = table; + delete table[""]; + return table; + }, + $isLinkedHashMap: 1 + }; + A.JsLinkedHashMap_addAll_closure.prototype = { + call$2(key, value) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t1.$indexSet(0, t2._precomputed1._as(key), t2._rest[1]._as(value)); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(1,2)"); + } + }; + A.LinkedHashMapCell.prototype = {}; + A.LinkedHashMapKeysIterable.prototype = { + get$length(_) { + return this.__js_helper$_map.__js_helper$_length; + }, + get$isEmpty(_) { + return this.__js_helper$_map.__js_helper$_length === 0; + }, + get$iterator(_) { + var t1 = this.__js_helper$_map; + return new A.LinkedHashMapKeyIterator(t1, t1.__js_helper$_modifications, t1.__js_helper$_first, this.$ti._eval$1("LinkedHashMapKeyIterator<1>")); + } + }; + A.LinkedHashMapKeyIterator.prototype = { + get$current() { + return this.__js_helper$_current; + }, + moveNext$0() { + var cell, _this = this, + t1 = _this.__js_helper$_map; + if (_this.__js_helper$_modifications !== t1.__js_helper$_modifications) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + cell = _this.__js_helper$_cell; + if (cell == null) { + _this.__js_helper$_current = null; + return false; + } else { + _this.__js_helper$_current = cell.hashMapCellKey; + _this.__js_helper$_cell = cell.__js_helper$_next; + return true; + } + }, + $isIterator: 1 + }; + A.LinkedHashMapValuesIterable.prototype = { + get$length(_) { + return this.__js_helper$_map.__js_helper$_length; + }, + get$isEmpty(_) { + return this.__js_helper$_map.__js_helper$_length === 0; + }, + get$iterator(_) { + var t1 = this.__js_helper$_map; + return new A.LinkedHashMapValueIterator(t1, t1.__js_helper$_modifications, t1.__js_helper$_first, this.$ti._eval$1("LinkedHashMapValueIterator<1>")); + } + }; + A.LinkedHashMapValueIterator.prototype = { + get$current() { + return this.__js_helper$_current; + }, + moveNext$0() { + var cell, _this = this, + t1 = _this.__js_helper$_map; + if (_this.__js_helper$_modifications !== t1.__js_helper$_modifications) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + cell = _this.__js_helper$_cell; + if (cell == null) { + _this.__js_helper$_current = null; + return false; + } else { + _this.__js_helper$_current = cell.hashMapCellValue; + _this.__js_helper$_cell = cell.__js_helper$_next; + return true; + } + }, + $isIterator: 1 + }; + A.LinkedHashMapEntriesIterable.prototype = { + get$length(_) { + return this.__js_helper$_map.__js_helper$_length; + }, + get$isEmpty(_) { + return this.__js_helper$_map.__js_helper$_length === 0; + }, + get$iterator(_) { + var t1 = this.__js_helper$_map; + return new A.LinkedHashMapEntryIterator(t1, t1.__js_helper$_modifications, t1.__js_helper$_first, this.$ti._eval$1("LinkedHashMapEntryIterator<1,2>")); + } + }; + A.LinkedHashMapEntryIterator.prototype = { + get$current() { + var t1 = this.__js_helper$_current; + t1.toString; + return t1; + }, + moveNext$0() { + var cell, _this = this, + t1 = _this.__js_helper$_map; + if (_this.__js_helper$_modifications !== t1.__js_helper$_modifications) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + cell = _this.__js_helper$_cell; + if (cell == null) { + _this.__js_helper$_current = null; + return false; + } else { + _this.__js_helper$_current = new A.MapEntry(cell.hashMapCellKey, cell.hashMapCellValue, _this.$ti._eval$1("MapEntry<1,2>")); + _this.__js_helper$_cell = cell.__js_helper$_next; + return true; + } + }, + $isIterator: 1 + }; + A.initHooks_closure.prototype = { + call$1(o) { + return this.getTag(o); + }, + $signature: 84 + }; + A.initHooks_closure0.prototype = { + call$2(o, tag) { + return this.getUnknownTag(o, tag); + }, + $signature: 40 + }; + A.initHooks_closure1.prototype = { + call$1(tag) { + return this.prototypeForTag(A._asString(tag)); + }, + $signature: 50 + }; + A._Record.prototype = { + toString$0(_) { + return this._toString$1(false); + }, + _toString$1(safe) { + var t2, separator, i, key, value, + keys = this._fieldKeys$0(), + values = this._getFieldValues$0(), + t1 = keys.length; + A.assertHelper(t1 === values.length); + t2 = (safe ? "Record " : "") + "("; + for (separator = "", i = 0; i < t1; ++i, separator = ", ") { + t2 += separator; + key = keys[i]; + if (typeof key == "string") + t2 = t2 + key + ": "; + if (!(i < values.length)) + return A.ioore(values, i); + value = values[i]; + t2 = safe ? t2 + A.Primitives_safeToString(value) : t2 + A.S(value); + } + t1 = t2 + ")"; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _fieldKeys$0() { + var t1, + shapeTag = this.$shape; + while ($._Record__computedFieldKeys.length <= shapeTag) + B.JSArray_methods.add$1($._Record__computedFieldKeys, null); + t1 = $._Record__computedFieldKeys[shapeTag]; + if (t1 == null) { + t1 = this._computeFieldKeys$0(); + B.JSArray_methods.$indexSet($._Record__computedFieldKeys, shapeTag, t1); + } + return t1; + }, + _computeFieldKeys$0() { + var i, names, last, + recipe = this.$recipe, + position = recipe.indexOf("("), + joinedNames = recipe.substring(1, position), + fields = recipe.substring(position), + arity = fields === "()" ? 0 : fields.replace(/[^,]/g, "").length + 1, + result = A._setArrayType(new Array(arity), type$.JSArray_Object); + for (i = 0; i < arity; ++i) + result[i] = i; + if (joinedNames !== "") { + names = joinedNames.split(","); + i = names.length; + for (last = arity; i > 0;) { + --last; + --i; + B.JSArray_methods.$indexSet(result, last, names[i]); + } + } + return A.List_List$unmodifiable(result, type$.Object); + } + }; + A._Record2.prototype = { + _getFieldValues$0() { + return [this._0, this._1]; + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A._Record2 && this.$shape === other.$shape && J.$eq$(this._0, other._0) && J.$eq$(this._1, other._1); + }, + get$hashCode(_) { + return A.Object_hash(this.$shape, this._0, this._1, B.C_SentinelValue); + } + }; + A.JSSyntaxRegExp.prototype = { + toString$0(_) { + return "RegExp/" + this.pattern + "/" + this._nativeRegExp.flags; + }, + get$_nativeGlobalVersion() { + var _this = this, + t1 = _this._nativeGlobalRegExp; + if (t1 != null) + return t1; + t1 = _this._nativeRegExp; + return _this._nativeGlobalRegExp = A.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, "g"); + }, + get$_nativeAnchoredVersion() { + var _this = this, + t1 = _this._nativeAnchoredRegExp; + if (t1 != null) + return t1; + t1 = _this._nativeRegExp; + return _this._nativeAnchoredRegExp = A.JSSyntaxRegExp_makeNative(_this.pattern, t1.multiline, !t1.ignoreCase, t1.unicode, t1.dotAll, "y"); + }, + _computeHasCaptures$0() { + var t1, t2; + A.assertHelper(this._hasCapturesCache == null); + t1 = this.pattern; + if (!B.JSString_methods.contains$1(t1, "(")) + return false; + t2 = this._nativeRegExp.unicode ? "u" : ""; + return new RegExp("(?:)|" + t1, t2).exec("").length > 1; + }, + firstMatch$1(string) { + var m = this._nativeRegExp.exec(string); + if (m == null) + return null; + return A._MatchImplementation$(this, m); + }, + allMatches$2(_, string, start) { + var t1 = string.length; + if (start > t1) + throw A.wrapException(A.RangeError$range(start, 0, t1, null, null)); + return new A._AllMatchesIterable(this, string, start); + }, + allMatches$1(_, string) { + return this.allMatches$2(0, string, 0); + }, + _execGlobal$2(string, start) { + var match, + regexp = this.get$_nativeGlobalVersion(); + if (regexp == null) + regexp = A._asObject(regexp); + regexp.lastIndex = start; + match = regexp.exec(string); + if (match == null) + return null; + return A._MatchImplementation$(this, match); + }, + _execAnchored$2(string, start) { + var match, + regexp = this.get$_nativeAnchoredVersion(); + if (regexp == null) + regexp = A._asObject(regexp); + regexp.lastIndex = start; + match = regexp.exec(string); + if (match == null) + return null; + return A._MatchImplementation$(this, match); + }, + matchAsPrefix$2(_, string, start) { + if (start < 0 || start > string.length) + throw A.wrapException(A.RangeError$range(start, 0, string.length, null, null)); + return this._execAnchored$2(string, start); + }, + $isPattern: 1, + $isRegExp: 1 + }; + A._MatchImplementation.prototype = { + get$start() { + return this._match.index; + }, + get$end() { + var t1 = this._match; + return t1.index + t1[0].length; + }, + $index(_, index) { + var t1 = this._match; + if (!(index < t1.length)) + return A.ioore(t1, index); + return t1[index]; + }, + namedGroup$1($name) { + var result, + groups = this._match.groups; + if (groups != null) { + result = groups[$name]; + if (result != null || $name in groups) + return result; + } + throw A.wrapException(A.ArgumentError$value($name, "name", "Not a capture group name")); + }, + $isMatch: 1, + $isRegExpMatch: 1 + }; + A._AllMatchesIterable.prototype = { + get$iterator(_) { + return new A._AllMatchesIterator(this._re, this.__js_helper$_string, this.__js_helper$_start); + } + }; + A._AllMatchesIterator.prototype = { + get$current() { + var t1 = this.__js_helper$_current; + return t1 == null ? type$.RegExpMatch._as(t1) : t1; + }, + moveNext$0() { + var t1, t2, t3, match, nextIndex, t4, _this = this, + string = _this.__js_helper$_string; + if (string == null) + return false; + t1 = _this._nextIndex; + t2 = string.length; + if (t1 <= t2) { + t3 = _this._regExp; + match = t3._execGlobal$2(string, t1); + if (match != null) { + _this.__js_helper$_current = match; + nextIndex = match.get$end(); + if (match._match.index === nextIndex) { + t1 = false; + if (t3._nativeRegExp.unicode) { + t3 = _this._nextIndex; + t4 = t3 + 1; + if (t4 < t2) { + if (!(t3 >= 0 && t3 < t2)) + return A.ioore(string, t3); + t3 = string.charCodeAt(t3); + if (t3 >= 55296 && t3 <= 56319) { + if (!(t4 >= 0)) + return A.ioore(string, t4); + t1 = string.charCodeAt(t4); + t1 = t1 >= 56320 && t1 <= 57343; + } + } + } + nextIndex = (t1 ? nextIndex + 1 : nextIndex) + 1; + } + _this._nextIndex = nextIndex; + return true; + } + } + _this.__js_helper$_string = _this.__js_helper$_current = null; + return false; + }, + $isIterator: 1 + }; + A.StringMatch.prototype = { + get$end() { + return this.start + this.pattern.length; + }, + $index(_, g) { + if (g !== 0) + A.throwExpression(A.RangeError$value(g, null)); + return this.pattern; + }, + $isMatch: 1, + get$start() { + return this.start; + } + }; + 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 = { + moveNext$0() { + var index, end, _this = this, + t1 = _this.__js_helper$_index, + t2 = _this._pattern, + t3 = t2.length, + t4 = _this._input, + t5 = t4.length; + if (t1 + t3 > t5) { + _this.__js_helper$_current = null; + return false; + } + index = t4.indexOf(t2, t1); + if (index < 0) { + _this.__js_helper$_index = t5 + 1; + _this.__js_helper$_current = null; + return false; + } + end = index + t3; + _this.__js_helper$_current = new A.StringMatch(index, t2); + _this.__js_helper$_index = end === _this.__js_helper$_index ? end + 1 : end; + return true; + }, + get$current() { + var t1 = this.__js_helper$_current; + t1.toString; + return t1; + }, + $isIterator: 1 + }; + A._Cell.prototype = { + _readField$0() { + var t1 = this._value; + if (t1 === this) + throw A.wrapException(A.LateError$fieldNI(this.__late_helper$_name)); + return t1; + } + }; + A.NativeByteBuffer.prototype = { + get$runtimeType(receiver) { + return B.Type_ByteBuffer_rqD; + }, + asUint8List$2(receiver, offsetInBytes, $length) { + A._checkViewArguments(receiver, offsetInBytes, $length); + return $length == null ? new Uint8Array(receiver, offsetInBytes) : new Uint8Array(receiver, offsetInBytes, $length); + }, + asByteData$2(receiver, offsetInBytes, $length) { + var t1; + A._checkViewArguments(receiver, offsetInBytes, $length); + t1 = new DataView(receiver, offsetInBytes); + return t1; + }, + asByteData$0(receiver) { + return this.asByteData$2(receiver, 0, null); + }, + $isTrustedGetRuntimeType: 1, + $isNativeByteBuffer: 1, + $isByteBuffer: 1 + }; + A.NativeArrayBuffer.prototype = {$isNativeArrayBuffer: 1}; + A.NativeTypedData.prototype = { + get$buffer(receiver) { + if (((receiver.$flags | 0) & 2) !== 0) + return new A._UnmodifiableNativeByteBufferView(receiver.buffer); + else + return receiver.buffer; + }, + _invalidPosition$3(receiver, position, $length, $name) { + var t1 = A.RangeError$range(position, 0, $length, $name, null); + throw A.wrapException(t1); + }, + _checkPosition$3(receiver, position, $length, $name) { + if (position >>> 0 !== position || position > $length) + this._invalidPosition$3(receiver, position, $length, $name); + } + }; + A._UnmodifiableNativeByteBufferView.prototype = { + asUint8List$2(_, offsetInBytes, $length) { + var result = A.NativeUint8List_NativeUint8List$view(this.__native_typed_data$_data, offsetInBytes, $length); + result.$flags = 3; + return result; + }, + asByteData$0(_) { + var result = A.NativeByteData_NativeByteData$view(this.__native_typed_data$_data, 0, null); + result.$flags = 3; + return result; + }, + $isByteBuffer: 1 + }; + A.NativeByteData.prototype = { + get$runtimeType(receiver) { + return B.Type_ByteData_9dB; + }, + $isTrustedGetRuntimeType: 1, + $isNativeByteData: 1, + $isByteData: 1 + }; + A.NativeTypedArray.prototype = { + get$length(receiver) { + return receiver.length; + }, + _setRangeFast$4(receiver, start, end, source, skipCount) { + var count, sourceLength, + targetLength = receiver.length; + this._checkPosition$3(receiver, start, targetLength, "start"); + this._checkPosition$3(receiver, end, targetLength, "end"); + if (start > end) + throw A.wrapException(A.RangeError$range(start, 0, end, null, null)); + count = end - start; + if (skipCount < 0) + throw A.wrapException(A.ArgumentError$(skipCount, null)); + sourceLength = source.length; + if (sourceLength - skipCount < count) + throw A.wrapException(A.StateError$("Not enough elements")); + if (skipCount !== 0 || sourceLength !== count) + source = source.subarray(skipCount, skipCount + count); + receiver.set(source, start); + }, + $isJSIndexable: 1, + $isJavaScriptIndexingBehavior: 1 + }; + A.NativeTypedArrayOfDouble.prototype = { + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + $indexSet(receiver, index, value) { + A._asDouble(value); + receiver.$flags & 2 && A.throwUnsupportedOperation(receiver); + A._checkValidIndex(index, receiver, receiver.length); + receiver[index] = value; + }, + setRange$4(receiver, start, end, iterable, skipCount) { + type$.Iterable_double._as(iterable); + receiver.$flags & 2 && A.throwUnsupportedOperation(receiver, 5); + if (type$.NativeTypedArrayOfDouble._is(iterable)) { + this._setRangeFast$4(receiver, start, end, iterable, skipCount); + return; + } + this.super$ListBase$setRange(receiver, start, end, iterable, skipCount); + }, + setRange$3(receiver, start, end, iterable) { + return this.setRange$4(receiver, start, end, iterable, 0); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.NativeTypedArrayOfInt.prototype = { + $indexSet(receiver, index, value) { + A._asInt(value); + receiver.$flags & 2 && A.throwUnsupportedOperation(receiver); + A._checkValidIndex(index, receiver, receiver.length); + receiver[index] = value; + }, + setRange$4(receiver, start, end, iterable, skipCount) { + type$.Iterable_int._as(iterable); + receiver.$flags & 2 && A.throwUnsupportedOperation(receiver, 5); + if (type$.NativeTypedArrayOfInt._is(iterable)) { + this._setRangeFast$4(receiver, start, end, iterable, skipCount); + return; + } + this.super$ListBase$setRange(receiver, start, end, iterable, skipCount); + }, + setRange$3(receiver, start, end, iterable) { + return this.setRange$4(receiver, start, end, iterable, 0); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.NativeFloat32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Float32List_9Kz; + }, + sublist$2(receiver, start, end) { + return new Float32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isTypedDataList: 1, + $isFloat32List: 1 + }; + A.NativeFloat64List.prototype = { + get$runtimeType(receiver) { + return B.Type_Float64List_9Kz; + }, + sublist$2(receiver, start, end) { + return new Float64Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isTypedDataList: 1, + $isFloat64List: 1 + }; + A.NativeInt16List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int16List_s5h; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Int16Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isTypedDataList: 1, + $isInt16List: 1 + }; + A.NativeInt32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int32List_O8Z; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Int32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isNativeInt32List: 1, + $isTypedDataList: 1, + $isInt32List: 1 + }; + A.NativeInt8List.prototype = { + get$runtimeType(receiver) { + return B.Type_Int8List_rFV; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Int8Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isTypedDataList: 1, + $isInt8List: 1 + }; + A.NativeUint16List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint16List_kmP; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint16Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isTypedDataList: 1, + $isUint16List: 1 + }; + A.NativeUint32List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint32List_kmP; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint32Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isTypedDataList: 1, + $isUint32List: 1 + }; + A.NativeUint8ClampedList.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint8ClampedList_04U; + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint8ClampedArray(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isTypedDataList: 1, + $isUint8ClampedList: 1 + }; + A.NativeUint8List.prototype = { + get$runtimeType(receiver) { + return B.Type_Uint8List_8Eb; + }, + get$length(receiver) { + return receiver.length; + }, + $index(receiver, index) { + A._checkValidIndex(index, receiver, receiver.length); + return receiver[index]; + }, + sublist$2(receiver, start, end) { + return new Uint8Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length))); + }, + $isTrustedGetRuntimeType: 1, + $isNativeUint8List: 1, + $isTypedDataList: 1, + $isUint8List: 1 + }; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {}; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {}; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {}; + A.Rti.prototype = { + _eval$1(recipe) { + return A._Universe_evalInEnvironment(init.typeUniverse, this, recipe); + }, + _bind$1(typeOrTuple) { + return A._Universe_bind(init.typeUniverse, this, typeOrTuple); + } + }; + A._FunctionParameters.prototype = {}; + A._Type.prototype = { + toString$0(_) { + return A._rtiToString(this._rti, null); + } + }; + A._Error.prototype = { + toString$0(_) { + return this._message; + } + }; + A._TypeError.prototype = {$isTypeError: 1}; + A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { + call$1(__wc0_formal) { + var t1 = this._box_0, + f = t1.storedCallback; + t1.storedCallback = null; + f.call$0(); + }, + $signature: 35 + }; + A._AsyncRun__initializeScheduleImmediate_closure.prototype = { + call$1(callback) { + var t1, t2; + type$.void_Function._as(callback); + t1 = this._box_0; + A.assertHelper(t1.storedCallback == null); + t1.storedCallback = callback; + t1 = this.div; + t2 = this.span; + t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); + }, + $signature: 74 + }; + A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { + call$0() { + this.callback.call$0(); + }, + $signature: 6 + }; + A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { + call$0() { + this.callback.call$0(); + }, + $signature: 6 + }; + A._TimerImpl.prototype = { + _TimerImpl$2(milliseconds, callback) { + if (self.setTimeout != null) + self.setTimeout(A.convertDartClosureToJS(new A._TimerImpl_internalCallback(this, callback), 0), milliseconds); + else + throw A.wrapException(A.UnsupportedError$("`setTimeout()` not found.")); + }, + _TimerImpl$periodic$2(milliseconds, callback) { + if (self.setTimeout != null) + self.setInterval(A.convertDartClosureToJS(new A._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds); + else + throw A.wrapException(A.UnsupportedError$("Periodic timer.")); + }, + $isTimer: 1 + }; + A._TimerImpl_internalCallback.prototype = { + call$0() { + this.$this._tick = 1; + this.callback.call$0(); + }, + $signature: 0 + }; + A._TimerImpl$periodic_closure.prototype = { + call$0() { + var duration, _this = this, + t1 = _this.$this, + tick = t1._tick + 1, + t2 = _this.milliseconds; + if (t2 > 0) { + duration = Date.now() - _this.start; + if (duration > (tick + 1) * t2) + tick = B.JSInt_methods.$tdiv(duration, t2); + } + t1._tick = tick; + _this.callback.call$1(t1); + }, + $signature: 6 + }; + A._AsyncAwaitCompleter.prototype = { + complete$1(value) { + var t2, _this = this, + t1 = _this.$ti; + t1._eval$1("1/?")._as(value); + if (value == null) + value = t1._precomputed1._as(value); + if (!_this.isSync) + _this._future._asyncComplete$1(value); + else { + t2 = _this._future; + if (t1._eval$1("Future<1>")._is(value)) { + A.assertHelper((t2._state & 24) === 0); + t2._chainFuture$1(value); + } else + t2._completeWithValue$1(value); + } + }, + completeError$2(e, st) { + var t1 = this._future; + if (this.isSync) + t1._completeErrorObject$1(new A.AsyncError(e, st)); + else + t1._asyncCompleteErrorObject$1(new A.AsyncError(e, st)); + }, + $isCompleter: 1 + }; + A._awaitOnObject_closure.prototype = { + call$1(result) { + return this.bodyFunction.call$2(0, result); + }, + $signature: 16 + }; + A._awaitOnObject_closure0.prototype = { + call$2(error, stackTrace) { + this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); + }, + $signature: 51 + }; + A._wrapJsFunctionForAsync_closure.prototype = { + call$2(errorCode, result) { + this.$protected(A._asInt(errorCode), result); + }, + $signature: 59 + }; + A._SyncStarIterator.prototype = { + get$current() { + var t1 = this._async$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + _resumeBody$2(errorCode, errorValue) { + var body, t1, exception; + errorCode = A._asInt(errorCode); + errorValue = errorValue; + body = this._body; + for (;;) + try { + t1 = body(this, errorCode, errorValue); + return t1; + } catch (exception) { + errorValue = exception; + errorCode = 1; + } + }, + moveNext$0() { + var nestedIterator, exception, value, suspendedBodies, _this = this, errorValue = null, errorCode = 0; + for (;;) { + nestedIterator = _this._nestedIterator; + if (nestedIterator != null) + try { + if (nestedIterator.moveNext$0()) { + _this._async$_current = nestedIterator.get$current(); + return true; + } else + _this._nestedIterator = null; + } catch (exception) { + errorValue = exception; + errorCode = 1; + _this._nestedIterator = null; + } + value = _this._resumeBody$2(errorCode, errorValue); + if (1 === value) + return true; + if (0 === value) { + _this._async$_current = null; + suspendedBodies = _this._suspendedBodies; + if (suspendedBodies == null || suspendedBodies.length === 0) { + _this._body = A._SyncStarIterator__terminatedBody; + return false; + } + if (0 >= suspendedBodies.length) + return A.ioore(suspendedBodies, -1); + _this._body = suspendedBodies.pop(); + errorCode = 0; + errorValue = null; + continue; + } + if (2 === value) { + errorCode = 0; + errorValue = null; + continue; + } + if (3 === value) { + errorValue = _this._datum; + _this._datum = null; + suspendedBodies = _this._suspendedBodies; + if (suspendedBodies == null || suspendedBodies.length === 0) { + _this._async$_current = null; + _this._body = A._SyncStarIterator__terminatedBody; + throw errorValue; + return false; + } + if (0 >= suspendedBodies.length) + return A.ioore(suspendedBodies, -1); + _this._body = suspendedBodies.pop(); + errorCode = 1; + continue; + } + throw A.wrapException(A.StateError$("sync*")); + } + return false; + }, + _yieldStar$1(iterable) { + var t1, t2, _this = this; + if (iterable instanceof A._SyncStarIterable) { + t1 = iterable._outerHelper(); + t2 = _this._suspendedBodies; + if (t2 == null) + t2 = _this._suspendedBodies = []; + B.JSArray_methods.add$1(t2, _this._body); + _this._body = t1; + return 2; + } else { + _this._nestedIterator = J.get$iterator$ax(iterable); + return 2; + } + }, + $isIterator: 1 + }; + A._SyncStarIterable.prototype = { + get$iterator(_) { + return new A._SyncStarIterator(this._outerHelper(), this.$ti._eval$1("_SyncStarIterator<1>")); + } + }; + A.AsyncError.prototype = { + toString$0(_) { + return A.S(this.error); + }, + $isError: 1, + get$stackTrace() { + return this.stackTrace; + } + }; + A._BroadcastStream.prototype = {}; + A._BroadcastSubscription.prototype = { + _onPause$0() { + }, + _onResume$0() { + }, + set$_async$_next(_next) { + this._async$_next = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_next); + }, + set$_async$_previous(_previous) { + this._async$_previous = this.$ti._eval$1("_BroadcastSubscription<1>?")._as(_previous); + } + }; + A._BroadcastStreamController.prototype = { + get$_mayAddEvent() { + return this._state < 4; + }, + _removeListener$1(subscription) { + var previous, next, _this = this; + A._instanceType(_this)._eval$1("_BroadcastSubscription<1>")._as(subscription); + A.assertHelper(subscription._controller === _this); + A.assertHelper(subscription._async$_next !== subscription); + previous = subscription._async$_previous; + next = subscription._async$_next; + if (previous == null) + _this._firstSubscription = next; + else + previous.set$_async$_next(next); + if (next == null) + _this._lastSubscription = previous; + else + next.set$_async$_previous(previous); + subscription.set$_async$_previous(subscription); + subscription.set$_async$_next(subscription); + }, + _subscribe$4(onData, onError, onDone, cancelOnError) { + var t2, t3, t4, t5, t6, t7, subscription, oldLast, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + if ((_this._state & 4) !== 0) { + t2 = $.Zone__current; + t1 = new A._DoneStreamSubscription(t2, t1._eval$1("_DoneStreamSubscription<1>")); + A.scheduleMicrotask(t1.get$_onMicrotask()); + if (onDone != null) + t1._onDone = t2.registerCallback$1$1(onDone, type$.void); + return t1; + } + t2 = $.Zone__current; + t3 = cancelOnError ? 1 : 0; + t4 = onError != null ? 32 : 0; + t5 = A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1); + t6 = A._BufferingStreamSubscription__registerErrorHandler(t2, onError); + t7 = onDone == null ? A.async___nullDoneHandler$closure() : onDone; + t1 = t1._eval$1("_BroadcastSubscription<1>"); + subscription = new A._BroadcastSubscription(_this, t5, t6, t2.registerCallback$1$1(t7, type$.void), t2, t3 | t4, t1); + subscription._async$_previous = subscription; + subscription._async$_next = subscription; + t1._as(subscription); + subscription._eventState = _this._state & 1; + oldLast = _this._lastSubscription; + _this._lastSubscription = subscription; + subscription.set$_async$_next(null); + subscription.set$_async$_previous(oldLast); + if (oldLast == null) + _this._firstSubscription = subscription; + else + oldLast.set$_async$_next(subscription); + if (_this._firstSubscription == _this._lastSubscription) + A._runGuarded(_this.onListen); + return subscription; + }, + _recordCancel$1(sub) { + var _this = this, + t1 = A._instanceType(_this); + sub = t1._eval$1("_BroadcastSubscription<1>")._as(t1._eval$1("StreamSubscription<1>")._as(sub)); + if (sub._async$_next === sub) + return null; + if ((sub._eventState & 2) !== 0) + sub._eventState |= 4; + else { + _this._removeListener$1(sub); + if ((_this._state & 2) === 0 && _this._firstSubscription == null) + _this._callOnCancel$0(); + } + return null; + }, + _recordPause$1(subscription) { + A._instanceType(this)._eval$1("StreamSubscription<1>")._as(subscription); + }, + _recordResume$1(subscription) { + A._instanceType(this)._eval$1("StreamSubscription<1>")._as(subscription); + }, + _addEventError$0() { + var t1 = this._state; + if ((t1 & 4) !== 0) + return new A.StateError("Cannot add new events after calling close"); + A.assertHelper((t1 & 8) !== 0); + return new A.StateError("Cannot add new events while doing an addStream"); + }, + add$1(_, data) { + var _this = this; + A._instanceType(_this)._precomputed1._as(data); + if (!_this.get$_mayAddEvent()) + throw A.wrapException(_this._addEventError$0()); + _this._sendData$1(data); + }, + addError$2(error, stackTrace) { + var _0_0; + if (!this.get$_mayAddEvent()) + throw A.wrapException(this._addEventError$0()); + _0_0 = A._interceptUserError(error, stackTrace); + this._sendError$2(_0_0.error, _0_0.stackTrace); + }, + close$0() { + var t1, doneFuture, _this = this; + if ((_this._state & 4) !== 0) { + A.assertHelper(_this._doneFuture != null); + t1 = _this._doneFuture; + t1.toString; + return t1; + } + if (!_this.get$_mayAddEvent()) + throw A.wrapException(_this._addEventError$0()); + _this._state |= 4; + doneFuture = _this._doneFuture; + if (doneFuture == null) + doneFuture = _this._doneFuture = new A._Future($.Zone__current, type$._Future_void); + _this._sendDone$0(); + return doneFuture; + }, + _forEachListener$1(action) { + var t1, subscription, id, next, _this = this; + A._instanceType(_this)._eval$1("~(_BufferingStreamSubscription<1>)")._as(action); + t1 = _this._state; + if ((t1 & 2) !== 0) + throw A.wrapException(A.StateError$(string$.Cannotf)); + subscription = _this._firstSubscription; + if (subscription == null) + return; + id = t1 & 1; + _this._state = t1 ^ 3; + while (subscription != null) { + t1 = subscription._eventState; + if ((t1 & 1) === id) { + subscription._eventState = t1 | 2; + action.call$1(subscription); + t1 = subscription._eventState ^= 1; + next = subscription._async$_next; + if ((t1 & 4) !== 0) + _this._removeListener$1(subscription); + subscription._eventState &= 4294967293; + subscription = next; + } else + subscription = subscription._async$_next; + } + _this._state &= 4294967293; + if (_this._firstSubscription == null) + _this._callOnCancel$0(); + }, + _callOnCancel$0() { + var doneFuture, _this = this; + A.assertHelper(_this._firstSubscription == null); + if ((_this._state & 4) !== 0) { + doneFuture = _this._doneFuture; + if ((doneFuture._state & 30) === 0) + doneFuture._asyncComplete$1(null); + } + A._runGuarded(_this.onCancel); + }, + $isEventSink: 1, + $isStreamSink: 1, + $isStreamController: 1, + $is_StreamControllerLifecycle: 1, + $is_EventSink: 1, + $is_EventDispatch: 1 + }; + A._SyncBroadcastStreamController.prototype = { + get$_mayAddEvent() { + return A._BroadcastStreamController.prototype.get$_mayAddEvent.call(this) && (this._state & 2) === 0; + }, + _addEventError$0() { + if ((this._state & 2) !== 0) + return new A.StateError(string$.Cannotf); + return this.super$_BroadcastStreamController$_addEventError(); + }, + _sendData$1(data) { + var firstSubscription, _this = this; + _this.$ti._precomputed1._as(data); + firstSubscription = _this._firstSubscription; + if (firstSubscription == null) + return; + if (firstSubscription == _this._lastSubscription) { + _this._state |= 2; + firstSubscription._async$_add$1(data); + _this._state &= 4294967293; + if (_this._firstSubscription == null) + _this._callOnCancel$0(); + return; + } + _this._forEachListener$1(new A._SyncBroadcastStreamController__sendData_closure(_this, data)); + }, + _sendError$2(error, stackTrace) { + if (this._firstSubscription == null) + return; + this._forEachListener$1(new A._SyncBroadcastStreamController__sendError_closure(this, error, stackTrace)); + }, + _sendDone$0() { + var t1, _this = this; + if (_this._firstSubscription != null) + _this._forEachListener$1(new A._SyncBroadcastStreamController__sendDone_closure(_this)); + else { + t1 = _this._doneFuture; + A.assertHelper(t1 != null && (t1._state & 30) === 0); + _this._doneFuture._asyncComplete$1(null); + } + } + }; + A._SyncBroadcastStreamController__sendData_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._async$_add$1(this.data); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A._SyncBroadcastStreamController__sendError_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._addError$2(this.error, this.stackTrace); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A._SyncBroadcastStreamController__sendDone_closure.prototype = { + call$1(subscription) { + this.$this.$ti._eval$1("_BufferingStreamSubscription<1>")._as(subscription)._close$0(); + }, + $signature() { + return this.$this.$ti._eval$1("~(_BufferingStreamSubscription<1>)"); + } + }; + A.Future_Future_closure.prototype = { + call$0() { + var e, s, exception, t1, t2, t3, computationResult = null; + try { + computationResult = this.computation.call$0(); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = e; + t2 = s; + t3 = A._interceptError(t1, t2); + if (t3 == null) + t1 = new A.AsyncError(t1, t2); + else + t1 = t3; + this.result._completeErrorObject$1(t1); + return; + } + this.result._complete$1(computationResult); + }, + $signature: 0 + }; + A.Future_Future$delayed_closure.prototype = { + call$0() { + this.T._as(null); + this.result._complete$1(null); + }, + $signature: 0 + }; + A.Future_wait_handleError.prototype = { + call$2(theError, theStackTrace) { + var t1, t2, _this = this; + A._asObject(theError); + type$.StackTrace._as(theStackTrace); + t1 = _this._box_0; + t2 = --t1.remaining; + if (t1.values != null) { + t1.values = null; + t1.error = theError; + t1.stackTrace = theStackTrace; + if (t2 === 0 || _this.eagerError) + _this._future._completeErrorObject$1(new A.AsyncError(theError, theStackTrace)); + } else if (t2 === 0 && !_this.eagerError) { + t2 = t1.error; + t2.toString; + t1 = t1.stackTrace; + t1.toString; + _this._future._completeErrorObject$1(new A.AsyncError(t2, t1)); + } + }, + $signature: 7 + }; + A.Future_wait_closure.prototype = { + call$1(value) { + var remainingResults, valueList, t1, value0, t3, t4, _i, t5, _this = this, + t2 = _this.T; + t2._as(value); + t3 = _this._box_0; + remainingResults = --t3.remaining; + valueList = t3.values; + if (valueList != null) { + t3 = _this.pos; + A.assertHelper(J.$index$asx(valueList, t3) == null); + J.$indexSet$ax(valueList, t3, value); + if (J.$eq$(remainingResults, 0)) { + t1 = A._setArrayType([], t2._eval$1("JSArray<0>")); + for (t3 = valueList, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) { + value0 = t3[_i]; + t5 = value0; + if (t5 == null) + t5 = t2._as(t5); + J.add$1$ax(t1, t5); + } + _this._future._completeWithValue$1(t1); + } + } else if (J.$eq$(remainingResults, 0) && !_this.eagerError) { + t1 = t3.error; + t1.toString; + t3 = t3.stackTrace; + t3.toString; + _this._future._completeErrorObject$1(new A.AsyncError(t1, t3)); + } + }, + $signature() { + return this.T._eval$1("Null(0)"); + } + }; + A._Completer.prototype = { + completeError$2(error, stackTrace) { + A._asObject(error); + type$.nullable_StackTrace._as(stackTrace); + if ((this.future._state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + this._completeErrorObject$1(A._interceptUserError(error, stackTrace)); + }, + completeError$1(error) { + return this.completeError$2(error, null); + }, + $isCompleter: 1 + }; + A._AsyncCompleter.prototype = { + complete$1(value) { + var t2, + t1 = this.$ti; + t1._eval$1("1/?")._as(value); + t2 = this.future; + if ((t2._state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + t2._asyncComplete$1(t1._eval$1("1/")._as(value)); + }, + complete$0() { + return this.complete$1(null); + }, + _completeErrorObject$1(error) { + this.future._asyncCompleteErrorObject$1(error); + } + }; + A._SyncCompleter.prototype = { + complete$1(value) { + var t2, + t1 = this.$ti; + t1._eval$1("1/?")._as(value); + t2 = this.future; + if ((t2._state & 30) !== 0) + throw A.wrapException(A.StateError$("Future already completed")); + t2._complete$1(t1._eval$1("1/")._as(value)); + }, + complete$0() { + return this.complete$1(null); + }, + _completeErrorObject$1(error) { + this.future._completeErrorObject$1(error); + } + }; + A._FutureListener.prototype = { + matchesErrorTest$1(asyncError) { + if ((this.state & 15) !== 6) + return true; + return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object); + }, + handleError$1(asyncError) { + var result, errorCallback, t2, t3, t4, t5, exception, _this = this, + t1 = _this.state; + A.assertHelper((t1 & 2) !== 0 && _this.errorCallback != null); + errorCallback = _this.errorCallback; + result = null; + t2 = type$.dynamic; + t3 = type$.Object; + t4 = asyncError.error; + t5 = _this.result._zone; + if (type$.dynamic_Function_Object_StackTrace._is(errorCallback)) + result = t5.runBinary$3$3(errorCallback, t4, asyncError.stackTrace, t2, t3, type$.StackTrace); + else + result = t5.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t4, t2, t3); + try { + t2 = _this.$ti._eval$1("2/")._as(result); + return t2; + } catch (exception) { + if (type$.TypeError._is(A.unwrapException(exception))) { + if ((t1 & 1) !== 0) + throw A.wrapException(A.ArgumentError$("The error handler of Future.then must return a value of the returned future's type", "onError")); + throw A.wrapException(A.ArgumentError$("The error handler of Future.catchError must return a value of the future's type", "onError")); + } else + throw exception; + } + } + }; + A._Future.prototype = { + then$1$2$onError(f, onError, $R) { + var currentZone, result, t2, + t1 = this.$ti; + t1._bind$1($R)._eval$1("1/(2)")._as(f); + currentZone = $.Zone__current; + if (currentZone === B.C__RootZone) { + if (onError != null && !type$.dynamic_Function_Object_StackTrace._is(onError) && !type$.dynamic_Function_Object._is(onError)) + throw A.wrapException(A.ArgumentError$value(onError, "onError", string$.Error_)); + } else { + f = currentZone.registerUnaryCallback$2$1(f, $R._eval$1("0/"), t1._precomputed1); + if (onError != null) + onError = A._registerErrorHandler(onError, currentZone); + } + result = new A._Future($.Zone__current, $R._eval$1("_Future<0>")); + t2 = onError == null ? 1 : 3; + 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(f, $R) { + return this.then$1$2$onError(f, null, $R); + }, + _thenAwait$1$2(f, onError, $E) { + var result, + t1 = this.$ti; + t1._bind$1($E)._eval$1("1/(2)")._as(f); + result = new A._Future($.Zone__current, $E._eval$1("_Future<0>")); + this._addListener$1(new A._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>"))); + return result; + }, + whenComplete$1(action) { + var t1, t2, result; + type$.dynamic_Function._as(action); + t1 = this.$ti; + t2 = $.Zone__current; + result = new A._Future(t2, t1); + if (t2 !== B.C__RootZone) + action = t2.registerCallback$1$1(action, type$.dynamic); + this._addListener$1(new A._FutureListener(result, 8, action, null, t1._eval$1("_FutureListener<1,1>"))); + return result; + }, + _setPendingComplete$0() { + A.assertHelper((this._state & 30) === 0); + this._state ^= 2; + }, + _setErrorObject$1(error) { + var _this = this; + A.assertHelper((_this._state & 24) === 0); + _this._state = _this._state & 1 | 16; + _this._resultOrListeners = error; + }, + _cloneResult$1(source) { + var _this = this; + A.assertHelper((_this._state & 24) === 0); + A.assertHelper((source._state & 24) !== 0); + _this._state = source._state & 30 | _this._state & 1; + _this._resultOrListeners = source._resultOrListeners; + }, + _addListener$1(listener) { + var t1, source, _this = this; + A.assertHelper(listener._nextListener == null); + t1 = _this._state; + if (t1 <= 3) { + listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listener; + } else { + if ((t1 & 4) !== 0) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + if ((source._state & 24) === 0) { + source._addListener$1(listener); + return; + } + _this._cloneResult$1(source); + } + A.assertHelper((_this._state & 24) !== 0); + _this._zone.scheduleMicrotask$1(new A._Future__addListener_closure(_this, listener)); + } + }, + _prependListeners$1(listeners) { + var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {}; + _box_0.listeners = listeners; + if (listeners == null) + return; + t1 = _this._state; + if (t1 <= 3) { + existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = listeners; + if (existingListeners != null) { + next = listeners._nextListener; + for (cursor = listeners; next != null; cursor = next, next = next0) + next0 = next._nextListener; + cursor._nextListener = existingListeners; + } + } else { + if ((t1 & 4) !== 0) { + source = type$._Future_dynamic._as(_this._resultOrListeners); + if ((source._state & 24) === 0) { + source._prependListeners$1(listeners); + return; + } + _this._cloneResult$1(source); + } + A.assertHelper((_this._state & 24) !== 0); + _box_0.listeners = _this._reverseListeners$1(listeners); + _this._zone.scheduleMicrotask$1(new A._Future__prependListeners_closure(_box_0, _this)); + } + }, + _removeListeners$0() { + var current, _this = this; + A.assertHelper((_this._state & 24) === 0); + current = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); + _this._resultOrListeners = null; + return _this._reverseListeners$1(current); + }, + _reverseListeners$1(listeners) { + var current, prev, next; + for (current = listeners, prev = null; current != null; prev = current, current = next) { + next = current._nextListener; + current._nextListener = prev; + } + return prev; + }, + _complete$1(value) { + var listeners, _this = this, + t1 = _this.$ti; + t1._eval$1("1/")._as(value); + A.assertHelper((_this._state & 24) === 0); + if (t1._eval$1("Future<1>")._is(value)) + A._Future__chainCoreFuture(value, _this, true); + else { + listeners = _this._removeListeners$0(); + t1._precomputed1._as(value); + A.assertHelper((_this._state & 24) === 0); + _this._state = 8; + _this._resultOrListeners = value; + A._Future__propagateToListeners(_this, listeners); + } + }, + _completeWithValue$1(value) { + var listeners, _this = this; + _this.$ti._precomputed1._as(value); + A.assertHelper((_this._state & 24) === 0); + listeners = _this._removeListeners$0(); + A.assertHelper((_this._state & 24) === 0); + _this._state = 8; + _this._resultOrListeners = value; + A._Future__propagateToListeners(_this, listeners); + }, + _completeWithResultOf$1(source) { + var t1, t2, listeners, _this = this; + A.assertHelper((source._state & 24) !== 0); + if ((source._state & 16) !== 0) { + t1 = _this._zone; + t2 = source._zone; + t1 = !(t1 === t2 || t1.get$errorZone() === t2.get$errorZone()); + } else + t1 = false; + if (t1) + return; + listeners = _this._removeListeners$0(); + _this._cloneResult$1(source); + A._Future__propagateToListeners(_this, listeners); + }, + _completeErrorObject$1(error) { + var listeners, _this = this; + A.assertHelper((_this._state & 24) === 0); + listeners = _this._removeListeners$0(); + _this._setErrorObject$1(error); + A._Future__propagateToListeners(_this, listeners); + }, + _completeError$2(error, stackTrace) { + A._asObject(error); + type$.StackTrace._as(stackTrace); + this._completeErrorObject$1(new A.AsyncError(error, stackTrace)); + }, + _asyncComplete$1(value) { + var _this = this, + t1 = _this.$ti; + t1._eval$1("1/")._as(value); + A.assertHelper((_this._state & 24) === 0); + if (t1._eval$1("Future<1>")._is(value)) { + _this._chainFuture$1(value); + return; + } + _this._asyncCompleteWithValue$1(value); + }, + _asyncCompleteWithValue$1(value) { + var _this = this; + _this.$ti._precomputed1._as(value); + _this._setPendingComplete$0(); + _this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteWithValue_closure(_this, value)); + }, + _chainFuture$1(value) { + this.$ti._eval$1("Future<1>")._as(value); + A.assertHelper((this._state & 30) === 0); + A._Future__chainCoreFuture(value, this, false); + return; + }, + _asyncCompleteErrorObject$1(error) { + var _this = this; + A.assertHelper((_this._state & 24) === 0); + _this._setPendingComplete$0(); + _this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteErrorObject_closure(_this, error)); + }, + $isFuture: 1 + }; + A._Future__addListener_closure.prototype = { + call$0() { + A._Future__propagateToListeners(this.$this, this.listener); + }, + $signature: 0 + }; + A._Future__prependListeners_closure.prototype = { + call$0() { + A._Future__propagateToListeners(this.$this, this._box_0.listeners); + }, + $signature: 0 + }; + A._Future__chainCoreFuture_closure.prototype = { + call$0() { + A._Future__chainCoreFuture(this._box_0.source, this.target, true); + }, + $signature: 0 + }; + A._Future__asyncCompleteWithValue_closure.prototype = { + call$0() { + this.$this._completeWithValue$1(this.value); + }, + $signature: 0 + }; + A._Future__asyncCompleteErrorObject_closure.prototype = { + call$0() { + this.$this._completeErrorObject$1(this.error); + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { + call$0() { + var completeResult, e, s, t2, t3, exception, originalSource, joinedResult, _this = this, + t1 = _this._box_0; + A.assertHelper((t1.listener.state & 1) === 0); + A.assertHelper((t1.listener.state & 2) === 0); + completeResult = null; + try { + t2 = t1.listener; + t3 = t2.state; + A.assertHelper((t3 & 2) === 0); + A.assertHelper((t3 & 15) === 8); + completeResult = t2.result._zone.run$1$1(type$.dynamic_Function._as(t2.callback), type$.dynamic); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + if (_this.hasError) { + t2 = _this._box_1.source; + A.assertHelper((t2._state & 16) !== 0); + t2 = type$.AsyncError._as(t2._resultOrListeners).error === e; + } else + t2 = false; + if (t2) { + t2 = _this._box_1.source; + A.assertHelper((t2._state & 16) !== 0); + t1.listenerValueOrError = type$.AsyncError._as(t2._resultOrListeners); + } else { + t2 = e; + t3 = s; + t1.listenerValueOrError = new A.AsyncError(t2, t3 == null ? A.AsyncError_defaultStackTrace(t2) : t3); + } + t1.listenerHasError = true; + return; + } + if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) { + if ((completeResult._state & 16) !== 0) { + t2 = completeResult; + A.assertHelper((t2._state & 16) !== 0); + t1.listenerValueOrError = type$.AsyncError._as(t2._resultOrListeners); + t1.listenerHasError = true; + } + return; + } + if (completeResult instanceof A._Future) { + originalSource = _this._box_1.source; + joinedResult = new A._Future(originalSource._zone, originalSource.$ti); + completeResult.then$1$2$onError(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(joinedResult, originalSource), new A._Future__propagateToListeners_handleWhenCompleteCallback_closure0(joinedResult), type$.void); + t1.listenerValueOrError = joinedResult; + t1.listenerHasError = false; + } + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { + call$1(__wc0_formal) { + this.joinedResult._completeWithResultOf$1(this.originalSource); + }, + $signature: 35 + }; + A._Future__propagateToListeners_handleWhenCompleteCallback_closure0.prototype = { + call$2(e, s) { + A._asObject(e); + type$.StackTrace._as(s); + this.joinedResult._completeErrorObject$1(new A.AsyncError(e, s)); + }, + $signature: 76 + }; + A._Future__propagateToListeners_handleValueCallback.prototype = { + call$0() { + var e, s, t1, t2, t3, t4, t5, exception; + try { + t1 = this._box_0; + t2 = t1.listener; + t3 = t2.$ti; + t4 = t3._precomputed1; + t5 = t4._as(this.sourceResult); + A.assertHelper((t2.state & 1) !== 0); + t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = e; + t2 = s; + if (t2 == null) + t2 = A.AsyncError_defaultStackTrace(t1); + t3 = this._box_0; + t3.listenerValueOrError = new A.AsyncError(t1, t2); + t3.listenerHasError = true; + } + }, + $signature: 0 + }; + A._Future__propagateToListeners_handleError.prototype = { + call$0() { + var asyncError, e, s, t1, t2, exception, t3, _this = this; + try { + t1 = _this._box_1.source; + A.assertHelper((t1._state & 16) !== 0); + asyncError = type$.AsyncError._as(t1._resultOrListeners); + t1 = _this._box_0; + if (t1.listener.matchesErrorTest$1(asyncError)) { + t2 = t1.listener; + A.assertHelper((t2.state & 2) !== 0); + t2 = t2.errorCallback != null; + } else + t2 = false; + if (t2) { + t1.listenerValueOrError = t1.listener.handleError$1(asyncError); + t1.listenerHasError = false; + } + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = _this._box_1; + t2 = t1.source; + A.assertHelper((t2._state & 16) !== 0); + t3 = type$.AsyncError; + if (t3._as(t2._resultOrListeners).error === e) { + t1 = t1.source; + A.assertHelper((t1._state & 16) !== 0); + t2 = _this._box_0; + t2.listenerValueOrError = t3._as(t1._resultOrListeners); + t1 = t2; + } else { + t1 = e; + t2 = s; + if (t2 == null) + t2 = A.AsyncError_defaultStackTrace(t1); + t3 = _this._box_0; + t3.listenerValueOrError = new A.AsyncError(t1, t2); + t1 = t3; + } + t1.listenerHasError = true; + } + }, + $signature: 0 + }; + A._AsyncCallbackEntry.prototype = {}; + A.Stream.prototype = { + get$length(_) { + var t1 = {}, + future = new A._Future($.Zone__current, type$._Future_int); + t1.count = 0; + this.listen$4$cancelOnError$onDone$onError(new A.Stream_length_closure(t1, this), true, new A.Stream_length_closure0(t1, future), future.get$_completeError()); + return future; + }, + get$first(_) { + var future = new A._Future($.Zone__current, A._instanceType(this)._eval$1("_Future")), + subscription = this.listen$4$cancelOnError$onDone$onError(null, true, new A.Stream_first_closure(future), future.get$_completeError()); + subscription.onData$1(new A.Stream_first_closure0(this, subscription, future)); + return future; + }, + firstWhere$1(_, test) { + var future, subscription, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("bool(Stream.T)")._as(test); + future = new A._Future($.Zone__current, t1._eval$1("_Future")); + subscription = _this.listen$4$cancelOnError$onDone$onError(null, true, new A.Stream_firstWhere_closure(_this, null, future), future.get$_completeError()); + subscription.onData$1(new A.Stream_firstWhere_closure0(_this, test, subscription, future)); + return future; + } + }; + A.Stream_length_closure.prototype = { + call$1(__wc0_formal) { + A._instanceType(this.$this)._eval$1("Stream.T")._as(__wc0_formal); + ++this._box_0.count; + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(Stream.T)"); + } + }; + A.Stream_length_closure0.prototype = { + call$0() { + this.future._complete$1(this._box_0.count); + }, + $signature: 0 + }; + A.Stream_first_closure.prototype = { + call$0() { + var t1, + error = new A.StateError("No element"); + A.Primitives_trySetStackTrace(error, B._StringStackTrace_OdL); + t1 = A._interceptError(error, B._StringStackTrace_OdL); + if (t1 == null) + t1 = new A.AsyncError(error, B._StringStackTrace_OdL); + this.future._completeErrorObject$1(t1); + }, + $signature: 0 + }; + A.Stream_first_closure0.prototype = { + call$1(value) { + A._cancelAndValue(this.subscription, this.future, A._instanceType(this.$this)._eval$1("Stream.T")._as(value)); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(Stream.T)"); + } + }; + A.Stream_firstWhere_closure.prototype = { + call$0() { + var t1, + error = new A.StateError("No element"); + A.Primitives_trySetStackTrace(error, B._StringStackTrace_OdL); + t1 = A._interceptError(error, B._StringStackTrace_OdL); + if (t1 == null) + t1 = new A.AsyncError(error, B._StringStackTrace_OdL); + this.future._completeErrorObject$1(t1); + }, + $signature: 0 + }; + A.Stream_firstWhere_closure0.prototype = { + call$1(value) { + var t1, t2, _this = this; + A._instanceType(_this.$this)._eval$1("Stream.T")._as(value); + t1 = _this.subscription; + t2 = _this.future; + A._runUserCode(new A.Stream_firstWhere__closure(_this.test, value), new A.Stream_firstWhere__closure0(t1, t2, value), A._cancelAndErrorClosure(t1, t2), type$.bool); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("~(Stream.T)"); + } + }; + A.Stream_firstWhere__closure.prototype = { + call$0() { + return this.test.call$1(this.value); + }, + $signature: 34 + }; + A.Stream_firstWhere__closure0.prototype = { + call$1(isMatch) { + if (A._asBool(isMatch)) + A._cancelAndValue(this.subscription, this.future, this.value); + }, + $signature: 38 + }; + A.StreamTransformerBase.prototype = {$isStreamTransformer: 1}; + A._StreamController.prototype = { + get$_pendingEvents() { + var t1, _this = this; + A.assertHelper((_this._state & 3) === 0); + if ((_this._state & 8) === 0) + return A._instanceType(_this)._eval$1("_PendingEvents<1>?")._as(_this._varData); + t1 = A._instanceType(_this); + return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$_varData()); + }, + _ensurePendingEvents$0() { + var events, t1, _this = this; + A.assertHelper((_this._state & 3) === 0); + if ((_this._state & 8) === 0) { + events = _this._varData; + if (events == null) + events = _this._varData = new A._PendingEvents(A._instanceType(_this)._eval$1("_PendingEvents<1>")); + return A._instanceType(_this)._eval$1("_PendingEvents<1>")._as(events); + } + t1 = A._instanceType(_this); + events = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$_varData(); + return t1._eval$1("_PendingEvents<1>")._as(events); + }, + get$_subscription() { + var varData, _this = this; + A.assertHelper((_this._state & 1) !== 0); + varData = _this._varData; + if ((_this._state & 8) !== 0) + varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData).get$_varData(); + return A._instanceType(_this)._eval$1("_ControllerSubscription<1>")._as(varData); + }, + _badEventState$0() { + var t1 = this._state; + if ((t1 & 4) !== 0) + return new A.StateError("Cannot add event after closing"); + A.assertHelper((t1 & 8) !== 0); + return new A.StateError("Cannot add event while adding a stream"); + }, + _ensureDoneFuture$0() { + var t1 = this._doneFuture; + if (t1 == null) + t1 = this._doneFuture = (this._state & 2) !== 0 ? $.$get$Future__nullFuture() : new A._Future($.Zone__current, type$._Future_void); + return t1; + }, + add$1(_, value) { + var t2, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(value); + t2 = _this._state; + if (t2 >= 4) + throw A.wrapException(_this._badEventState$0()); + if ((t2 & 1) !== 0) + _this._sendData$1(value); + else if ((t2 & 3) === 0) + _this._ensurePendingEvents$0().add$1(0, new A._DelayedData(value, t1._eval$1("_DelayedData<1>"))); + }, + addError$2(error, stackTrace) { + var _0_0, t1, _this = this; + A._asObject(error); + type$.nullable_StackTrace._as(stackTrace); + if (_this._state >= 4) + throw A.wrapException(_this._badEventState$0()); + _0_0 = A._interceptUserError(error, stackTrace); + error = _0_0.error; + stackTrace = _0_0.stackTrace; + t1 = _this._state; + if ((t1 & 1) !== 0) + _this._sendError$2(error, stackTrace); + else if ((t1 & 3) === 0) + _this._ensurePendingEvents$0().add$1(0, new A._DelayedError(error, stackTrace)); + }, + addError$1(error) { + return this.addError$2(error, null); + }, + close$0() { + var _this = this, + t1 = _this._state; + if ((t1 & 4) !== 0) + return _this._ensureDoneFuture$0(); + if (t1 >= 4) + throw A.wrapException(_this._badEventState$0()); + t1 = _this._state = t1 | 4; + if ((t1 & 1) !== 0) + _this._sendDone$0(); + else if ((t1 & 3) === 0) + _this._ensurePendingEvents$0().add$1(0, B.C__DelayedDone); + return _this._ensureDoneFuture$0(); + }, + _subscribe$4(onData, onError, onDone, cancelOnError) { + var subscription, pendingEvents, addState, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + if ((_this._state & 3) !== 0) + throw A.wrapException(A.StateError$("Stream has already been listened to.")); + subscription = A._ControllerSubscription$(_this, onData, onError, onDone, cancelOnError, t1._precomputed1); + pendingEvents = _this.get$_pendingEvents(); + if (((_this._state |= 1) & 8) !== 0) { + addState = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData); + addState.set$_varData(subscription); + addState.resume$0(); + } else + _this._varData = subscription; + subscription._setPendingEvents$1(pendingEvents); + subscription._guardCallback$1(new A._StreamController__subscribe_closure(_this)); + return subscription; + }, + _recordCancel$1(subscription) { + var result, onCancel, cancelResult, e, s, exception, result0, t2, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("StreamSubscription<1>")._as(subscription); + result = null; + if ((_this._state & 8) !== 0) + result = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).cancel$0(); + _this._varData = null; + _this._state = _this._state & 4294967286 | 2; + onCancel = _this.onCancel; + if (onCancel != null) + if (result == null) + try { + cancelResult = onCancel.call$0(); + if (cancelResult instanceof A._Future) + result = cancelResult; + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + result0 = new A._Future($.Zone__current, type$._Future_void); + t1 = A._asObject(e); + t2 = type$.StackTrace._as(s); + result0._asyncCompleteErrorObject$1(new A.AsyncError(t1, t2)); + result = result0; + } + else + result = result.whenComplete$1(onCancel); + t1 = new A._StreamController__recordCancel_complete(_this); + if (result != null) + result = result.whenComplete$1(t1); + else + t1.call$0(); + return result; + }, + _recordPause$1(subscription) { + var _this = this, + t1 = A._instanceType(_this); + t1._eval$1("StreamSubscription<1>")._as(subscription); + if ((_this._state & 8) !== 0) + t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).pause$0(); + A._runGuarded(_this.onPause); + }, + _recordResume$1(subscription) { + var _this = this, + t1 = A._instanceType(_this); + t1._eval$1("StreamSubscription<1>")._as(subscription); + if ((_this._state & 8) !== 0) + t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).resume$0(); + A._runGuarded(_this.onResume); + }, + set$onListen(onListen) { + this.onListen = type$.nullable_void_Function._as(onListen); + }, + set$onResume(onResume) { + this.onResume = type$.nullable_void_Function._as(onResume); + }, + $isEventSink: 1, + $isStreamSink: 1, + $isStreamController: 1, + $is_StreamControllerLifecycle: 1, + $is_EventSink: 1, + $is_EventDispatch: 1 + }; + A._StreamController__subscribe_closure.prototype = { + call$0() { + A._runGuarded(this.$this.onListen); + }, + $signature: 0 + }; + A._StreamController__recordCancel_complete.prototype = { + call$0() { + var doneFuture = this.$this._doneFuture; + if (doneFuture != null && (doneFuture._state & 30) === 0) + doneFuture._asyncComplete$1(null); + }, + $signature: 0 + }; + A._SyncStreamControllerDispatch.prototype = { + _sendData$1(data) { + this.$ti._precomputed1._as(data); + this.get$_subscription()._async$_add$1(data); + }, + _sendError$2(error, stackTrace) { + this.get$_subscription()._addError$2(error, stackTrace); + }, + _sendDone$0() { + this.get$_subscription()._close$0(); + } + }; + A._AsyncStreamControllerDispatch.prototype = { + _sendData$1(data) { + var t1 = this.$ti; + t1._precomputed1._as(data); + this.get$_subscription()._addPending$1(new A._DelayedData(data, t1._eval$1("_DelayedData<1>"))); + }, + _sendError$2(error, stackTrace) { + this.get$_subscription()._addPending$1(new A._DelayedError(error, stackTrace)); + }, + _sendDone$0() { + this.get$_subscription()._addPending$1(B.C__DelayedDone); + } + }; + A._AsyncStreamController.prototype = {}; + A._SyncStreamController.prototype = {}; + A._ControllerStream.prototype = { + get$hashCode(_) { + return (A.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0; + }, + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + return other instanceof A._ControllerStream && other._controller === this._controller; + } + }; + A._ControllerSubscription.prototype = { + _onCancel$0() { + return this._controller._recordCancel$1(this); + }, + _onPause$0() { + this._controller._recordPause$1(this); + }, + _onResume$0() { + this._controller._recordResume$1(this); + } + }; + A._StreamSinkWrapper.prototype = { + add$1(_, data) { + this._async$_target.add$1(0, this.$ti._precomputed1._as(data)); + }, + addError$2(error, stackTrace) { + this._async$_target.addError$2(error, stackTrace); + }, + close$0() { + return this._async$_target.close$0(); + }, + $isEventSink: 1, + $isStreamSink: 1 + }; + A._BufferingStreamSubscription.prototype = { + _setPendingEvents$1(pendingEvents) { + var _this = this; + A._instanceType(_this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>?")._as(pendingEvents); + A.assertHelper(_this._pending == null); + if (pendingEvents == null) + return; + _this._pending = pendingEvents; + if (pendingEvents.lastPendingEvent != null) { + _this._state = (_this._state | 128) >>> 0; + pendingEvents.schedule$1(_this); + } + }, + onData$1(handleData) { + var t1 = A._instanceType(this); + this._async$_onData = A._BufferingStreamSubscription__registerDataHandler(this._zone, t1._eval$1("~(_BufferingStreamSubscription.T)?")._as(handleData), t1._eval$1("_BufferingStreamSubscription.T")); + }, + onError$1(handleError) { + var _this = this; + _this._state = (_this._state & 4294967263) >>> 0; + _this._onError = A._BufferingStreamSubscription__registerErrorHandler(_this._zone, handleError); + }, + pause$0() { + var t2, t3, _this = this, + t1 = _this._state; + if ((t1 & 8) !== 0) + return; + t2 = (t1 + 256 | 4) >>> 0; + _this._state = t2; + if (t1 < 256) { + t3 = _this._pending; + if (t3 != null) + if (t3._state === 1) + t3._state = 3; + } + if ((t1 & 4) === 0 && (t2 & 64) === 0) + _this._guardCallback$1(_this.get$_onPause()); + }, + resume$0() { + var _this = this, + t1 = _this._state; + if ((t1 & 8) !== 0) + return; + if (t1 >= 256) { + t1 = _this._state -= 256; + if (t1 < 256) + if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent != null) + _this._pending.schedule$1(_this); + else { + A.assertHelper(_this.get$_mayResumeInput()); + t1 = (_this._state & 4294967291) >>> 0; + _this._state = t1; + if ((t1 & 64) === 0) + _this._guardCallback$1(_this.get$_onResume()); + } + } + }, + cancel$0() { + var _this = this, + t1 = (_this._state & 4294967279) >>> 0; + _this._state = t1; + if ((t1 & 8) === 0) + _this._cancel$0(); + t1 = _this._cancelFuture; + return t1 == null ? $.$get$Future__nullFuture() : t1; + }, + get$_mayResumeInput() { + if (this._state < 256) { + var t1 = this._pending; + t1 = t1 == null ? null : t1.lastPendingEvent == null; + t1 = t1 !== false; + } else + t1 = false; + return t1; + }, + _cancel$0() { + var t2, _this = this, + t1 = _this._state = (_this._state | 8) >>> 0; + if ((t1 & 128) !== 0) { + t2 = _this._pending; + if (t2._state === 1) + t2._state = 3; + } + if ((t1 & 64) === 0) + _this._pending = null; + _this._cancelFuture = _this._onCancel$0(); + }, + _async$_add$1(data) { + var t2, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("_BufferingStreamSubscription.T")._as(data); + A.assertHelper((_this._state & 2) === 0); + t2 = _this._state; + if ((t2 & 8) !== 0) + return; + if (t2 < 64) + _this._sendData$1(data); + else + _this._addPending$1(new A._DelayedData(data, t1._eval$1("_DelayedData<_BufferingStreamSubscription.T>"))); + }, + _addError$2(error, stackTrace) { + var t1; + if (type$.Error._is(error)) + A.Primitives_trySetStackTrace(error, stackTrace); + t1 = this._state; + if ((t1 & 8) !== 0) + return; + if (t1 < 64) + this._sendError$2(error, stackTrace); + else + this._addPending$1(new A._DelayedError(error, stackTrace)); + }, + _close$0() { + var t1, _this = this; + A.assertHelper((_this._state & 2) === 0); + t1 = _this._state; + if ((t1 & 8) !== 0) + return; + t1 = (t1 | 2) >>> 0; + _this._state = t1; + if (t1 < 64) + _this._sendDone$0(); + else + _this._addPending$1(B.C__DelayedDone); + }, + _onPause$0() { + A.assertHelper((this._state & 4) !== 0); + }, + _onResume$0() { + A.assertHelper((this._state & 4) === 0); + }, + _onCancel$0() { + A.assertHelper((this._state & 8) !== 0); + return null; + }, + _addPending$1($event) { + var t1, _this = this, + pending = _this._pending; + if (pending == null) + pending = _this._pending = new A._PendingEvents(A._instanceType(_this)._eval$1("_PendingEvents<_BufferingStreamSubscription.T>")); + pending.add$1(0, $event); + t1 = _this._state; + if ((t1 & 128) === 0) { + t1 = (t1 | 128) >>> 0; + _this._state = t1; + if (t1 < 256) + pending.schedule$1(_this); + } + }, + _sendData$1(data) { + var t2, _this = this, + t1 = A._instanceType(_this)._eval$1("_BufferingStreamSubscription.T"); + t1._as(data); + A.assertHelper((_this._state & 8) === 0); + A.assertHelper(_this._state < 256); + A.assertHelper((_this._state & 64) === 0); + t2 = _this._state; + _this._state = (t2 | 64) >>> 0; + _this._zone.runUnaryGuarded$1$2(_this._async$_onData, data, t1); + _this._state = (_this._state & 4294967231) >>> 0; + _this._checkState$1((t2 & 4) !== 0); + }, + _sendError$2(error, stackTrace) { + var t1, t2, cancelFuture, _this = this; + A.assertHelper((_this._state & 8) === 0); + A.assertHelper(_this._state < 256); + A.assertHelper((_this._state & 64) === 0); + t1 = _this._state; + t2 = new A._BufferingStreamSubscription__sendError_sendError(_this, error, stackTrace); + if ((t1 & 1) !== 0) { + _this._state = (t1 | 16) >>> 0; + _this._cancel$0(); + cancelFuture = _this._cancelFuture; + if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture()) + cancelFuture.whenComplete$1(t2); + else + t2.call$0(); + } else { + t2.call$0(); + _this._checkState$1((t1 & 4) !== 0); + } + }, + _sendDone$0() { + var t1, cancelFuture, _this = this; + A.assertHelper((_this._state & 8) === 0); + A.assertHelper(_this._state < 256); + A.assertHelper((_this._state & 64) === 0); + t1 = new A._BufferingStreamSubscription__sendDone_sendDone(_this); + _this._cancel$0(); + _this._state = (_this._state | 16) >>> 0; + cancelFuture = _this._cancelFuture; + if (cancelFuture != null && cancelFuture !== $.$get$Future__nullFuture()) + cancelFuture.whenComplete$1(t1); + else + t1.call$0(); + }, + _guardCallback$1(callback) { + var t1, _this = this; + type$.void_Function._as(callback); + A.assertHelper((_this._state & 64) === 0); + t1 = _this._state; + _this._state = (t1 | 64) >>> 0; + callback.call$0(); + _this._state = (_this._state & 4294967231) >>> 0; + _this._checkState$1((t1 & 4) !== 0); + }, + _checkState$1(wasInputPaused) { + var t1, isInputPaused, _this = this; + A.assertHelper((_this._state & 64) === 0); + t1 = _this._state; + if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent == null) { + t1 = _this._state = (t1 & 4294967167) >>> 0; + if ((t1 & 4) !== 0 && _this.get$_mayResumeInput()) { + t1 = (t1 & 4294967291) >>> 0; + _this._state = t1; + } + } + for (;; wasInputPaused = isInputPaused) { + if ((t1 & 8) !== 0) { + _this._pending = null; + return; + } + isInputPaused = (t1 & 4) !== 0; + if (wasInputPaused === isInputPaused) + break; + _this._state = (t1 ^ 64) >>> 0; + if (isInputPaused) + _this._onPause$0(); + else + _this._onResume$0(); + t1 = (_this._state & 4294967231) >>> 0; + _this._state = t1; + } + if ((t1 & 128) !== 0 && t1 < 256) + _this._pending.schedule$1(_this); + }, + $isStreamSubscription: 1, + $is_EventSink: 1, + $is_EventDispatch: 1 + }; + A._BufferingStreamSubscription__sendError_sendError.prototype = { + call$0() { + var onError, t3, t4, + t1 = this.$this, + t2 = t1._state; + if ((t2 & 8) !== 0 && (t2 & 16) === 0) + return; + t1._state = (t2 | 64) >>> 0; + onError = t1._onError; + t2 = this.error; + t3 = type$.Object; + t4 = t1._zone; + if (type$.void_Function_Object_StackTrace._is(onError)) + t4.runBinaryGuarded$2$3(onError, t2, this.stackTrace, t3, type$.StackTrace); + else + t4.runUnaryGuarded$1$2(type$.void_Function_Object._as(onError), t2, t3); + t1._state = (t1._state & 4294967231) >>> 0; + }, + $signature: 0 + }; + A._BufferingStreamSubscription__sendDone_sendDone.prototype = { + call$0() { + var t1 = this.$this, + t2 = t1._state; + if ((t2 & 16) === 0) + return; + t1._state = (t2 | 74) >>> 0; + t1._zone.runGuarded$1(t1._onDone); + t1._state = (t1._state & 4294967231) >>> 0; + }, + $signature: 0 + }; + A._StreamImpl.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1 = A._instanceType(this); + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + return this._controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true); + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + }, + listen$1(onData) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null); + }, + listen$2$onDone(onData, onDone) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null); + } + }; + A._DelayedEvent.prototype = { + set$next(next) { + this.next = type$.nullable__DelayedEvent_dynamic._as(next); + }, + get$next() { + return this.next; + } + }; + A._DelayedData.prototype = { + perform$1(dispatch) { + this.$ti._eval$1("_EventDispatch<1>")._as(dispatch)._sendData$1(this.value); + } + }; + A._DelayedError.prototype = { + perform$1(dispatch) { + dispatch._sendError$2(this.error, this.stackTrace); + } + }; + A._DelayedDone.prototype = { + perform$1(dispatch) { + dispatch._sendDone$0(); + }, + get$next() { + return null; + }, + set$next(__wc0_formal) { + throw A.wrapException(A.StateError$("No events after a done.")); + }, + $is_DelayedEvent: 1 + }; + A._PendingEvents.prototype = { + schedule$1(dispatch) { + var t1, _this = this; + _this.$ti._eval$1("_EventDispatch<1>")._as(dispatch); + if (_this._state === 1) + return; + A.assertHelper(_this.lastPendingEvent != null); + t1 = _this._state; + if (t1 >= 1) { + A.assertHelper(t1 === 3); + _this._state = 1; + return; + } + A.scheduleMicrotask(new A._PendingEvents_schedule_closure(_this, dispatch)); + _this._state = 1; + }, + add$1(_, $event) { + var _this = this, + lastEvent = _this.lastPendingEvent; + if (lastEvent == null) + _this.firstPendingEvent = _this.lastPendingEvent = $event; + else { + lastEvent.set$next($event); + _this.lastPendingEvent = $event; + } + } + }; + A._PendingEvents_schedule_closure.prototype = { + call$0() { + var t2, $event, nextEvent, + t1 = this.$this, + oldState = t1._state; + t1._state = 0; + if (oldState === 3) + return; + t2 = t1.$ti._eval$1("_EventDispatch<1>")._as(this.dispatch); + A.assertHelper(t1.lastPendingEvent != null); + $event = t1.firstPendingEvent; + nextEvent = $event.get$next(); + t1.firstPendingEvent = nextEvent; + if (nextEvent == null) + t1.lastPendingEvent = null; + $event.perform$1(t2); + }, + $signature: 0 + }; + A._DoneStreamSubscription.prototype = { + onData$1(handleData) { + this.$ti._eval$1("~(1)?")._as(handleData); + }, + onError$1(handleError) { + }, + pause$0() { + var t1 = this._state; + if (t1 >= 0) + this._state = t1 + 2; + }, + resume$0() { + var _this = this, + resumeState = _this._state - 2; + if (resumeState < 0) + return; + if (resumeState === 0) { + _this._state = 1; + A.scheduleMicrotask(_this.get$_onMicrotask()); + } else + _this._state = resumeState; + }, + cancel$0() { + this._state = -1; + this._onDone = null; + return $.$get$Future__nullFuture(); + }, + _onMicrotask$0() { + var _0_0, _this = this, + unscheduledState = _this._state - 1; + if (unscheduledState === 0) { + _this._state = -1; + _0_0 = _this._onDone; + if (_0_0 != null) { + _this._onDone = null; + _this._zone.runGuarded$1(_0_0); + } + } else + _this._state = unscheduledState; + }, + $isStreamSubscription: 1 + }; + A._StreamIterator.prototype = { + get$current() { + var _this = this; + if (_this._async$_hasValue) + return _this.$ti._precomputed1._as(_this._stateData); + return _this.$ti._precomputed1._as(null); + }, + moveNext$0() { + var future, _this = this, + subscription = _this._subscription; + if (subscription != null) { + if (_this._async$_hasValue) { + future = new A._Future($.Zone__current, type$._Future_bool); + _this._stateData = future; + _this._async$_hasValue = false; + subscription.resume$0(); + return future; + } + throw A.wrapException(A.StateError$("Already waiting for next.")); + } + return _this._initializeOrDone$0(); + }, + _initializeOrDone$0() { + var stateData, future, subscription, _this = this; + A.assertHelper(_this._subscription == null); + stateData = _this._stateData; + if (stateData != null) { + _this.$ti._eval$1("Stream<1>")._as(stateData); + future = new A._Future($.Zone__current, type$._Future_bool); + _this._stateData = future; + subscription = stateData.listen$4$cancelOnError$onDone$onError(_this.get$_async$_onData(), true, _this.get$_onDone(), _this.get$_onError()); + if (_this._stateData != null) + _this._subscription = subscription; + return future; + } + return $.$get$Future__falseFuture(); + }, + cancel$0() { + var _this = this, + subscription = _this._subscription, + stateData = _this._stateData; + _this._stateData = null; + if (subscription != null) { + _this._subscription = null; + if (!_this._async$_hasValue) + type$._Future_bool._as(stateData)._asyncComplete$1(false); + else + _this._async$_hasValue = false; + return subscription.cancel$0(); + } + return $.$get$Future__nullFuture(); + }, + _async$_onData$1(data) { + var moveNextFuture, t1, _this = this; + _this.$ti._precomputed1._as(data); + if (_this._subscription == null) + return; + moveNextFuture = type$._Future_bool._as(_this._stateData); + _this._stateData = data; + _this._async$_hasValue = true; + moveNextFuture._complete$1(true); + if (_this._async$_hasValue) { + t1 = _this._subscription; + if (t1 != null) + t1.pause$0(); + } + }, + _onError$2(error, stackTrace) { + var subscription, moveNextFuture, _this = this; + A._asObject(error); + type$.StackTrace._as(stackTrace); + subscription = _this._subscription; + moveNextFuture = type$._Future_bool._as(_this._stateData); + _this._stateData = _this._subscription = null; + if (subscription != null) + moveNextFuture._completeErrorObject$1(new A.AsyncError(error, stackTrace)); + else + moveNextFuture._asyncCompleteErrorObject$1(new A.AsyncError(error, stackTrace)); + }, + _onDone$0() { + var _this = this, + subscription = _this._subscription, + moveNextFuture = type$._Future_bool._as(_this._stateData); + _this._stateData = _this._subscription = null; + if (subscription != null) + moveNextFuture._completeWithValue$1(false); + else + moveNextFuture._asyncCompleteWithValue$1(false); + } + }; + A._cancelAndError_closure.prototype = { + call$0() { + return this.future._completeErrorObject$1(this.error); + }, + $signature: 0 + }; + A._cancelAndErrorClosure_closure.prototype = { + call$2(error, stackTrace) { + type$.StackTrace._as(stackTrace); + A._cancelAndError(this.subscription, this.future, new A.AsyncError(error, stackTrace)); + }, + $signature: 7 + }; + A._cancelAndValue_closure.prototype = { + call$0() { + return this.future._complete$1(this.value); + }, + $signature: 0 + }; + A._ForwardingStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t2, t3, t4, t5, t6, + t1 = this.$ti; + t1._eval$1("~(2)?")._as(onData); + type$.nullable_void_Function._as(onDone); + t2 = $.Zone__current; + t3 = cancelOnError === true ? 1 : 0; + t4 = onError != null ? 32 : 0; + t5 = A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._rest[1]); + t6 = A._BufferingStreamSubscription__registerErrorHandler(t2, onError); + t1 = new A._ForwardingStreamSubscription(this, t5, t6, t2.registerCallback$1$1(onDone, type$.void), t2, t3 | t4, t1._eval$1("_ForwardingStreamSubscription<1,2>")); + t1._subscription = this._async$_source.listen$3$onDone$onError(t1.get$_handleData(), t1.get$_handleDone(), t1.get$_handleError()); + return t1; + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A._ForwardingStreamSubscription.prototype = { + _async$_add$1(data) { + this.$ti._rest[1]._as(data); + if ((this._state & 2) !== 0) + return; + this.super$_BufferingStreamSubscription$_add(data); + }, + _addError$2(error, stackTrace) { + if ((this._state & 2) !== 0) + return; + this.super$_BufferingStreamSubscription$_addError(error, stackTrace); + }, + _onPause$0() { + var t1 = this._subscription; + if (t1 != null) + t1.pause$0(); + }, + _onResume$0() { + var t1 = this._subscription; + if (t1 != null) + t1.resume$0(); + }, + _onCancel$0() { + var subscription = this._subscription; + if (subscription != null) { + this._subscription = null; + return subscription.cancel$0(); + } + return null; + }, + _handleData$1(data) { + this._stream._handleData$2(this.$ti._precomputed1._as(data), this); + }, + _handleError$2(error, stackTrace) { + var t1; + type$.StackTrace._as(stackTrace); + t1 = error == null ? A._asObject(error) : error; + this._stream.$ti._eval$1("_EventSink<2>")._as(this)._addError$2(t1, stackTrace); + }, + _handleDone$0() { + this._stream.$ti._eval$1("_EventSink<2>")._as(this)._close$0(); + } + }; + A._MapStream.prototype = { + _handleData$2(inputEvent, sink) { + var outputEvent, e, s, exception, error, stackTrace, replacement, + t1 = this.$ti; + t1._precomputed1._as(inputEvent); + t1._eval$1("_EventSink<2>")._as(sink); + outputEvent = null; + try { + outputEvent = this._transform.call$1(inputEvent); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + error = e; + stackTrace = s; + replacement = A._interceptError(error, stackTrace); + if (replacement != null) { + error = replacement.error; + stackTrace = replacement.stackTrace; + } + sink._addError$2(error, stackTrace); + return; + } + sink._async$_add$1(outputEvent); + } + }; + A._EventSinkWrapper.prototype = { + add$1(_, data) { + var t1 = this._async$_sink; + data = t1.$ti._rest[1]._as(this.$ti._precomputed1._as(data)); + if ((t1._state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_add(data); + }, + addError$2(error, stackTrace) { + var t1 = this._async$_sink; + if ((t1._state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_addError(error, stackTrace); + }, + close$0() { + var t1 = this._async$_sink; + if ((t1._state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_close(); + }, + $isEventSink: 1 + }; + A._SinkTransformerStreamSubscription.prototype = { + _onPause$0() { + var t1 = this._subscription; + if (t1 != null) + t1.pause$0(); + }, + _onResume$0() { + var t1 = this._subscription; + if (t1 != null) + t1.resume$0(); + }, + _onCancel$0() { + var subscription = this._subscription; + if (subscription != null) { + this._subscription = null; + return subscription.cancel$0(); + } + return null; + }, + _handleData$1(data) { + var e, s, t1, exception, t2, _this = this; + _this.$ti._precomputed1._as(data); + try { + t1 = _this.___SinkTransformerStreamSubscription__transformerSink_A; + t1 === $ && A.throwLateFieldNI("_transformerSink"); + t1.add$1(0, data); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = A._asObject(e); + t2 = type$.StackTrace._as(s); + if ((_this._state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + _this.super$_BufferingStreamSubscription$_addError(t1, t2); + } + }, + _handleError$2(error, stackTrace) { + var e, s, t1, t2, exception, _this = this, + _s24_ = "Stream is already closed"; + A._asObject(error); + t1 = type$.StackTrace; + t1._as(stackTrace); + try { + t2 = _this.___SinkTransformerStreamSubscription__transformerSink_A; + t2 === $ && A.throwLateFieldNI("_transformerSink"); + t2.addError$2(error, stackTrace); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + if (e === error) { + if ((_this._state & 2) !== 0) + A.throwExpression(A.StateError$(_s24_)); + _this.super$_BufferingStreamSubscription$_addError(error, stackTrace); + } else { + t2 = A._asObject(e); + t1 = t1._as(s); + if ((_this._state & 2) !== 0) + A.throwExpression(A.StateError$(_s24_)); + _this.super$_BufferingStreamSubscription$_addError(t2, t1); + } + } + }, + _handleDone$0() { + var e, s, t1, exception, t2, _this = this; + try { + _this._subscription = null; + t1 = _this.___SinkTransformerStreamSubscription__transformerSink_A; + t1 === $ && A.throwLateFieldNI("_transformerSink"); + t1.close$0(); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + t1 = A._asObject(e); + t2 = type$.StackTrace._as(s); + if ((_this._state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + _this.super$_BufferingStreamSubscription$_addError(t1, t2); + } + } + }; + A._StreamSinkTransformer.prototype = { + bind$1(stream) { + var t1 = this.$ti; + return new A._BoundSinkStream(this._sinkMapper, t1._eval$1("Stream<1>")._as(stream), t1._eval$1("_BoundSinkStream<1,2>")); + } + }; + A._BoundSinkStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t2, t3, t4, t5, t6, subscription, + t1 = this.$ti; + t1._eval$1("~(2)?")._as(onData); + type$.nullable_void_Function._as(onDone); + t2 = $.Zone__current; + t3 = cancelOnError === true ? 1 : 0; + t4 = onError != null ? 32 : 0; + t5 = A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._rest[1]); + t6 = A._BufferingStreamSubscription__registerErrorHandler(t2, onError); + subscription = new A._SinkTransformerStreamSubscription(t5, t6, t2.registerCallback$1$1(onDone, type$.void), t2, t3 | t4, t1._eval$1("_SinkTransformerStreamSubscription<1,2>")); + subscription.___SinkTransformerStreamSubscription__transformerSink_A = t1._eval$1("EventSink<1>")._as(this._sinkMapper.call$1(new A._EventSinkWrapper(subscription, t1._eval$1("_EventSinkWrapper<2>")))); + subscription._subscription = this._stream.listen$3$onDone$onError(subscription.get$_handleData(), subscription.get$_handleDone(), subscription.get$_handleError()); + return subscription; + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A._HandlerEventSink.prototype = { + add$1(_, data) { + var sink, + t1 = this.$ti; + t1._precomputed1._as(data); + sink = this._async$_sink; + if (sink == null) + throw A.wrapException(A.StateError$("Sink is closed")); + data = sink.$ti._precomputed1._as(t1._rest[1]._as(data)); + t1 = sink._async$_sink; + t1.$ti._rest[1]._as(data); + if ((t1._state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_add(data); + }, + addError$2(error, stackTrace) { + var sink = this._async$_sink; + if (sink == null) + throw A.wrapException(A.StateError$("Sink is closed")); + sink.addError$2(error, stackTrace); + }, + close$0() { + var sink = this._async$_sink; + if (sink == null) + return; + this._async$_sink = null; + this._handleDone.call$1(sink); + }, + $isEventSink: 1 + }; + A._StreamHandlerTransformer.prototype = { + bind$1(stream) { + return this.super$_StreamSinkTransformer$bind(this.$ti._eval$1("Stream<1>")._as(stream)); + } + }; + A._StreamHandlerTransformer_closure.prototype = { + call$1(outputSink) { + var _this = this, + t1 = _this.T; + return new A._HandlerEventSink(_this.handleData, _this.handleError, _this.handleDone, t1._eval$1("EventSink<0>")._as(outputSink), _this.S._eval$1("@<0>")._bind$1(t1)._eval$1("_HandlerEventSink<1,2>")); + }, + $signature() { + return this.S._eval$1("@<0>")._bind$1(this.T)._eval$1("_HandlerEventSink<1,2>(EventSink<2>)"); + } + }; + A._ZoneFunction.prototype = {}; + A._ZoneSpecification.prototype = {$isZoneSpecification: 1}; + A._ZoneDelegate.prototype = {$isZoneDelegate: 1}; + A._Zone.prototype = { + _processUncaughtError$3(zone, error, stackTrace) { + var implZone, handler, parentDelegate, parentZone, currentZone, e, s, implementation, t1, exception; + type$.StackTrace._as(stackTrace); + implementation = this.get$_handleUncaughtError(); + implZone = implementation.zone; + if (implZone === B.C__RootZone) { + A._rootHandleError(error, stackTrace); + return; + } + handler = implementation.$function; + parentDelegate = implZone.get$_parentDelegate(); + t1 = implZone.get$parent(); + t1.toString; + parentZone = t1; + currentZone = $.Zone__current; + try { + $.Zone__current = parentZone; + handler.call$5(implZone, parentDelegate, zone, error, stackTrace); + $.Zone__current = currentZone; + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + $.Zone__current = currentZone; + t1 = error === e ? stackTrace : s; + parentZone._processUncaughtError$3(implZone, e, t1); + } + }, + $isZone: 1 + }; + A._CustomZone.prototype = { + get$_async$_delegate() { + var t1 = this._delegateCache; + return t1 == null ? this._delegateCache = new A._ZoneDelegate(this) : t1; + }, + get$_parentDelegate() { + return this.parent.get$_async$_delegate(); + }, + get$errorZone() { + return this._handleUncaughtError.zone; + }, + runGuarded$1(f) { + var e, s, exception; + type$.void_Function._as(f); + try { + this.run$1$1(f, type$.void); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + this._processUncaughtError$3(this, A._asObject(e), type$.StackTrace._as(s)); + } + }, + runUnaryGuarded$1$2(f, arg, $T) { + var e, s, exception; + $T._eval$1("~(0)")._as(f); + $T._as(arg); + try { + this.runUnary$2$2(f, arg, type$.void, $T); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + this._processUncaughtError$3(this, A._asObject(e), type$.StackTrace._as(s)); + } + }, + runBinaryGuarded$2$3(f, arg1, arg2, $T1, $T2) { + var e, s, exception; + $T1._eval$1("@<0>")._bind$1($T2)._eval$1("~(1,2)")._as(f); + $T1._as(arg1); + $T2._as(arg2); + try { + this.runBinary$3$3(f, arg1, arg2, type$.void, $T1, $T2); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + this._processUncaughtError$3(this, A._asObject(e), type$.StackTrace._as(s)); + } + }, + bindCallback$1$1(f, $R) { + return new A._CustomZone_bindCallback_closure(this, this.registerCallback$1$1($R._eval$1("0()")._as(f), $R), $R); + }, + bindUnaryCallback$2$1(f, $R, $T) { + return new A._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$2$1($R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f), $R, $T), $T, $R); + }, + bindCallbackGuarded$1(f) { + return new A._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1$1(type$.void_Function._as(f), type$.void)); + }, + bindUnaryCallbackGuarded$1$1(f, $T) { + return new A._CustomZone_bindUnaryCallbackGuarded_closure(this, this.registerUnaryCallback$2$1($T._eval$1("~(0)")._as(f), type$.void, $T), $T); + }, + $index(_, key) { + var value, + t1 = this._map, + result = t1.$index(0, key); + if (result != null || t1.containsKey$1(key)) + return result; + value = this.parent.$index(0, key); + if (value != null) + t1.$indexSet(0, key, value); + return value; + }, + handleUncaughtError$2(error, stackTrace) { + this._processUncaughtError$3(this, error, type$.StackTrace._as(stackTrace)); + }, + fork$2$specification$zoneValues(specification, zoneValues) { + var implementation = this._fork, + t1 = implementation.zone; + return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, specification, zoneValues); + }, + run$1$1(f, $R) { + var implementation, t1; + $R._eval$1("0()")._as(f); + implementation = this._run; + t1 = implementation.zone; + return implementation.$function.call$1$4(t1, t1.get$_parentDelegate(), this, f, $R); + }, + runUnary$2$2(f, arg, $R, $T) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + implementation = this._runUnary; + t1 = implementation.zone; + return implementation.$function.call$2$5(t1, t1.get$_parentDelegate(), this, f, arg, $R, $T); + }, + runBinary$3$3(f, arg1, arg2, $R, $T1, $T2) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1($T1)._bind$1($T2)._eval$1("1(2,3)")._as(f); + $T1._as(arg1); + $T2._as(arg2); + implementation = this._runBinary; + t1 = implementation.zone; + return implementation.$function.call$3$6(t1, t1.get$_parentDelegate(), this, f, arg1, arg2, $R, $T1, $T2); + }, + registerCallback$1$1(callback, $R) { + var implementation, t1; + $R._eval$1("0()")._as(callback); + implementation = this._registerCallback; + t1 = implementation.zone; + return implementation.$function.call$1$4(t1, t1.get$_parentDelegate(), this, callback, $R); + }, + registerUnaryCallback$2$1(callback, $R, $T) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(callback); + implementation = this._registerUnaryCallback; + t1 = implementation.zone; + return implementation.$function.call$2$4(t1, t1.get$_parentDelegate(), this, callback, $R, $T); + }, + registerBinaryCallback$3$1(callback, $R, $T1, $T2) { + var implementation, t1; + $R._eval$1("@<0>")._bind$1($T1)._bind$1($T2)._eval$1("1(2,3)")._as(callback); + implementation = this._registerBinaryCallback; + t1 = implementation.zone; + return implementation.$function.call$3$4(t1, t1.get$_parentDelegate(), this, callback, $R, $T1, $T2); + }, + errorCallback$2(error, stackTrace) { + var implementation = this._errorCallback, + implementationZone = implementation.zone; + if (implementationZone === B.C__RootZone) + return null; + return implementation.$function.call$5(implementationZone, implementationZone.get$_parentDelegate(), this, error, stackTrace); + }, + scheduleMicrotask$1(f) { + var implementation, t1; + type$.void_Function._as(f); + implementation = this._scheduleMicrotask; + t1 = implementation.zone; + return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f); + }, + createTimer$2(duration, f) { + var implementation, t1; + type$.void_Function._as(f); + implementation = this._createTimer; + t1 = implementation.zone; + return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, duration, f); + }, + print$1(line) { + var implementation = this._print, + t1 = implementation.zone; + return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, line); + }, + get$_run() { + return this._run; + }, + get$_runUnary() { + return this._runUnary; + }, + get$_runBinary() { + return this._runBinary; + }, + get$_registerCallback() { + return this._registerCallback; + }, + get$_registerUnaryCallback() { + return this._registerUnaryCallback; + }, + get$_registerBinaryCallback() { + return this._registerBinaryCallback; + }, + get$_errorCallback() { + return this._errorCallback; + }, + get$_scheduleMicrotask() { + return this._scheduleMicrotask; + }, + get$_createTimer() { + return this._createTimer; + }, + get$_createPeriodicTimer() { + return this._createPeriodicTimer; + }, + get$_print() { + return this._print; + }, + get$_fork() { + return this._fork; + }, + get$_handleUncaughtError() { + return this._handleUncaughtError; + }, + get$parent() { + return this.parent; + }, + get$_map() { + return this._map; + } + }; + A._CustomZone_bindCallback_closure.prototype = { + call$0() { + return this.$this.run$1$1(this.registered, this.R); + }, + $signature() { + return this.R._eval$1("0()"); + } + }; + A._CustomZone_bindUnaryCallback_closure.prototype = { + call$1(arg) { + var _this = this, + t1 = _this.T; + return _this.$this.runUnary$2$2(_this.registered, t1._as(arg), _this.R, t1); + }, + $signature() { + return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)"); + } + }; + A._CustomZone_bindCallbackGuarded_closure.prototype = { + call$0() { + return this.$this.runGuarded$1(this.registered); + }, + $signature: 0 + }; + A._CustomZone_bindUnaryCallbackGuarded_closure.prototype = { + call$1(arg) { + var t1 = this.T; + return this.$this.runUnaryGuarded$1$2(this.registered, t1._as(arg), t1); + }, + $signature() { + return this.T._eval$1("~(0)"); + } + }; + A._rootHandleError_closure.prototype = { + call$0() { + A.Error_throwWithStackTrace(this.error, this.stackTrace); + }, + $signature: 0 + }; + A._RootZone.prototype = { + get$_run() { + return B._ZoneFunction__RootZone__rootRun; + }, + get$_runUnary() { + return B._ZoneFunction__RootZone__rootRunUnary; + }, + get$_runBinary() { + return B._ZoneFunction__RootZone__rootRunBinary; + }, + get$_registerCallback() { + return B._ZoneFunction__RootZone__rootRegisterCallback; + }, + get$_registerUnaryCallback() { + return B._ZoneFunction_Xkh; + }, + get$_registerBinaryCallback() { + return B._ZoneFunction_e9o; + }, + get$_errorCallback() { + return B._ZoneFunction__RootZone__rootErrorCallback; + }, + get$_scheduleMicrotask() { + return B._ZoneFunction__RootZone__rootScheduleMicrotask; + }, + get$_createTimer() { + return B._ZoneFunction__RootZone__rootCreateTimer; + }, + get$_createPeriodicTimer() { + return B._ZoneFunction_PAY; + }, + get$_print() { + return B._ZoneFunction__RootZone__rootPrint; + }, + get$_fork() { + return B._ZoneFunction__RootZone__rootFork; + }, + get$_handleUncaughtError() { + return B._ZoneFunction_KjJ; + }, + get$parent() { + return null; + }, + get$_map() { + return $.$get$_RootZone__rootMap(); + }, + get$_async$_delegate() { + var t1 = $._RootZone__rootDelegate; + return t1 == null ? $._RootZone__rootDelegate = new A._ZoneDelegate(this) : t1; + }, + get$_parentDelegate() { + var t1 = $._RootZone__rootDelegate; + return t1 == null ? $._RootZone__rootDelegate = new A._ZoneDelegate(this) : t1; + }, + get$errorZone() { + return this; + }, + runGuarded$1(f) { + var e, s, exception; + type$.void_Function._as(f); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$0(); + return; + } + A._rootRun(null, null, this, f, type$.void); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(A._asObject(e), type$.StackTrace._as(s)); + } + }, + runUnaryGuarded$1$2(f, arg, $T) { + var e, s, exception; + $T._eval$1("~(0)")._as(f); + $T._as(arg); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$1(arg); + return; + } + A._rootRunUnary(null, null, this, f, arg, type$.void, $T); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(A._asObject(e), type$.StackTrace._as(s)); + } + }, + runBinaryGuarded$2$3(f, arg1, arg2, $T1, $T2) { + var e, s, exception; + $T1._eval$1("@<0>")._bind$1($T2)._eval$1("~(1,2)")._as(f); + $T1._as(arg1); + $T2._as(arg2); + try { + if (B.C__RootZone === $.Zone__current) { + f.call$2(arg1, arg2); + return; + } + A._rootRunBinary(null, null, this, f, arg1, arg2, type$.void, $T1, $T2); + } catch (exception) { + e = A.unwrapException(exception); + s = A.getTraceFromException(exception); + A._rootHandleError(A._asObject(e), type$.StackTrace._as(s)); + } + }, + bindCallback$1$1(f, $R) { + return new A._RootZone_bindCallback_closure(this, $R._eval$1("0()")._as(f), $R); + }, + bindUnaryCallback$2$1(f, $R, $T) { + return new A._RootZone_bindUnaryCallback_closure(this, $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f), $T, $R); + }, + bindCallbackGuarded$1(f) { + return new A._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f)); + }, + bindUnaryCallbackGuarded$1$1(f, $T) { + return new A._RootZone_bindUnaryCallbackGuarded_closure(this, $T._eval$1("~(0)")._as(f), $T); + }, + $index(_, key) { + return null; + }, + handleUncaughtError$2(error, stackTrace) { + A._rootHandleError(error, type$.StackTrace._as(stackTrace)); + }, + fork$2$specification$zoneValues(specification, zoneValues) { + return A._rootFork(null, null, this, specification, zoneValues); + }, + run$1$1(f, $R) { + $R._eval$1("0()")._as(f); + if ($.Zone__current === B.C__RootZone) + return f.call$0(); + return A._rootRun(null, null, this, f, $R); + }, + runUnary$2$2(f, arg, $R, $T) { + $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + $T._as(arg); + if ($.Zone__current === B.C__RootZone) + return f.call$1(arg); + return A._rootRunUnary(null, null, this, f, arg, $R, $T); + }, + runBinary$3$3(f, arg1, arg2, $R, $T1, $T2) { + $R._eval$1("@<0>")._bind$1($T1)._bind$1($T2)._eval$1("1(2,3)")._as(f); + $T1._as(arg1); + $T2._as(arg2); + if ($.Zone__current === B.C__RootZone) + return f.call$2(arg1, arg2); + return A._rootRunBinary(null, null, this, f, arg1, arg2, $R, $T1, $T2); + }, + registerCallback$1$1(f, $R) { + return $R._eval$1("0()")._as(f); + }, + registerUnaryCallback$2$1(f, $R, $T) { + return $R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f); + }, + registerBinaryCallback$3$1(f, $R, $T1, $T2) { + return $R._eval$1("@<0>")._bind$1($T1)._bind$1($T2)._eval$1("1(2,3)")._as(f); + }, + errorCallback$2(error, stackTrace) { + return null; + }, + scheduleMicrotask$1(f) { + A._rootScheduleMicrotask(null, null, this, type$.void_Function._as(f)); + }, + createTimer$2(duration, f) { + return A.Timer__createTimer(duration, type$.void_Function._as(f)); + }, + print$1(line) { + A.printString(line); + } + }; + A._RootZone_bindCallback_closure.prototype = { + call$0() { + return this.$this.run$1$1(this.f, this.R); + }, + $signature() { + return this.R._eval$1("0()"); + } + }; + A._RootZone_bindUnaryCallback_closure.prototype = { + call$1(arg) { + var _this = this, + t1 = _this.T; + return _this.$this.runUnary$2$2(_this.f, t1._as(arg), _this.R, t1); + }, + $signature() { + return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(2)"); + } + }; + A._RootZone_bindCallbackGuarded_closure.prototype = { + call$0() { + return this.$this.runGuarded$1(this.f); + }, + $signature: 0 + }; + A._RootZone_bindUnaryCallbackGuarded_closure.prototype = { + call$1(arg) { + var t1 = this.T; + return this.$this.runUnaryGuarded$1$2(this.f, t1._as(arg), t1); + }, + $signature() { + return this.T._eval$1("~(0)"); + } + }; + A._HashMap.prototype = { + get$length(_) { + return this._collection$_length; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + get$keys() { + return new A._HashMapKeyIterable(this, A._instanceType(this)._eval$1("_HashMapKeyIterable<1>")); + }, + get$values() { + var t1 = A._instanceType(this); + return A.MappedIterable_MappedIterable(new A._HashMapKeyIterable(this, t1._eval$1("_HashMapKeyIterable<1>")), new A._HashMap_values_closure(this), t1._precomputed1, t1._rest[1]); + }, + containsKey$1(key) { + var strings, nums; + if (typeof key == "string" && key !== "__proto__") { + strings = this._strings; + return strings == null ? false : strings[key] != null; + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = this._nums; + return nums == null ? false : nums[key] != null; + } else + return this._containsKey$1(key); + }, + _containsKey$1(key) { + var rest = this._collection$_rest; + if (rest == null) + return false; + return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0; + }, + $index(_, key) { + var strings, t1, nums; + if (typeof key == "string" && key !== "__proto__") { + strings = this._strings; + t1 = strings == null ? null : A._HashMap__getTableEntry(strings, key); + return t1; + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = this._nums; + t1 = nums == null ? null : A._HashMap__getTableEntry(nums, key); + return t1; + } else + return this._get$1(key); + }, + _get$1(key) { + var bucket, index, + rest = this._collection$_rest; + if (rest == null) + return null; + bucket = this._getBucket$2(rest, key); + index = this._findBucketIndex$2(bucket, key); + return index < 0 ? null : bucket[index + 1]; + }, + $indexSet(_, key, value) { + var strings, nums, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (typeof key == "string" && key !== "__proto__") { + strings = _this._strings; + _this._addHashTableEntry$3(strings == null ? _this._strings = A._HashMap__newHashTable() : strings, key, value); + } else if (typeof key == "number" && (key & 1073741823) === key) { + nums = _this._nums; + _this._addHashTableEntry$3(nums == null ? _this._nums = A._HashMap__newHashTable() : nums, key, value); + } else + _this._set$2(key, value); + }, + _set$2(key, value) { + var rest, hash, bucket, index, _this = this, + t1 = A._instanceType(_this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + rest = _this._collection$_rest; + if (rest == null) + rest = _this._collection$_rest = A._HashMap__newHashTable(); + hash = _this._computeHashCode$1(key); + bucket = rest[hash]; + if (bucket == null) { + A._HashMap__setTableEntry(rest, hash, [key, value]); + ++_this._collection$_length; + _this._keys = null; + } else { + index = _this._findBucketIndex$2(bucket, key); + if (index >= 0) + bucket[index + 1] = value; + else { + bucket.push(key, value); + ++_this._collection$_length; + _this._keys = null; + } + } + }, + forEach$1(_, action) { + var keys, $length, t2, i, key, t3, _this = this, + t1 = A._instanceType(_this); + t1._eval$1("~(1,2)")._as(action); + keys = _this._computeKeys$0(); + for ($length = keys.length, t2 = t1._precomputed1, t1 = t1._rest[1], i = 0; i < $length; ++i) { + key = keys[i]; + t2._as(key); + t3 = _this.$index(0, key); + action.call$2(key, t3 == null ? t1._as(t3) : t3); + if (keys !== _this._keys) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + }, + _computeKeys$0() { + var strings, index, names, entries, i, nums, rest, bucket, $length, i0, _this = this, + result = _this._keys; + if (result != null) + return result; + result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic); + strings = _this._strings; + index = 0; + if (strings != null) { + names = Object.getOwnPropertyNames(strings); + entries = names.length; + for (i = 0; i < entries; ++i) { + result[index] = names[i]; + ++index; + } + } + nums = _this._nums; + if (nums != null) { + names = Object.getOwnPropertyNames(nums); + entries = names.length; + for (i = 0; i < entries; ++i) { + result[index] = +names[i]; + ++index; + } + } + rest = _this._collection$_rest; + if (rest != null) { + names = Object.getOwnPropertyNames(rest); + entries = names.length; + for (i = 0; i < entries; ++i) { + bucket = rest[names[i]]; + $length = bucket.length; + for (i0 = 0; i0 < $length; i0 += 2) { + result[index] = bucket[i0]; + ++index; + } + } + } + A.assertHelper(index === _this._collection$_length); + return _this._keys = result; + }, + _addHashTableEntry$3(table, key, value) { + var t1 = A._instanceType(this); + t1._precomputed1._as(key); + t1._rest[1]._as(value); + if (table[key] == null) { + ++this._collection$_length; + this._keys = null; + } + A._HashMap__setTableEntry(table, key, value); + }, + _computeHashCode$1(key) { + return J.get$hashCode$(key) & 1073741823; + }, + _getBucket$2(table, key) { + return table[this._computeHashCode$1(key)]; + }, + _findBucketIndex$2(bucket, key) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; i += 2) + if (J.$eq$(bucket[i], key)) + return i; + return -1; + } + }; + A._HashMap_values_closure.prototype = { + call$1(each) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t1 = t1.$index(0, t2._precomputed1._as(each)); + return t1 == null ? t2._rest[1]._as(t1) : t1; + }, + $signature() { + return A._instanceType(this.$this)._eval$1("2(1)"); + } + }; + A._IdentityHashMap.prototype = { + _computeHashCode$1(key) { + return A.objectHashCode(key) & 1073741823; + }, + _findBucketIndex$2(bucket, key) { + var $length, i, t1; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; i += 2) { + t1 = bucket[i]; + if (t1 == null ? key == null : t1 === key) + return i; + } + return -1; + } + }; + A._HashMapKeyIterable.prototype = { + get$length(_) { + return this._collection$_map._collection$_length; + }, + get$isEmpty(_) { + 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>")); + } + }; + A._HashMapKeyIterator.prototype = { + get$current() { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + keys = _this._keys, + offset = _this._offset, + t1 = _this._collection$_map; + if (keys !== t1._keys) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + else if (offset >= keys.length) { + _this._collection$_current = null; + return false; + } else { + _this._collection$_current = keys[offset]; + _this._offset = offset + 1; + return true; + } + }, + $isIterator: 1 + }; + A._LinkedHashSet.prototype = { + get$iterator(_) { + var _this = this, + t1 = new A._LinkedHashSetIterator(_this, _this._modifications, _this.$ti._eval$1("_LinkedHashSetIterator<1>")); + t1._cell = _this._first; + return t1; + }, + get$length(_) { + return this._collection$_length; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + contains$1(_, object) { + var strings, t1; + if (object !== "__proto__") { + strings = this._strings; + if (strings == null) + return false; + return type$.nullable__LinkedHashSetCell._as(strings[object]) != null; + } else { + t1 = this._contains$1(object); + return t1; + } + }, + _contains$1(object) { + var rest = this._collection$_rest; + if (rest == null) + return false; + return this._findBucketIndex$2(rest[B.JSString_methods.get$hashCode(object) & 1073741823], object) >= 0; + }, + get$first(_) { + var first = this._first; + if (first == null) + throw A.wrapException(A.StateError$("No elements")); + return this.$ti._precomputed1._as(first._element); + }, + get$last(_) { + var last = this._collection$_last; + if (last == null) + throw A.wrapException(A.StateError$("No elements")); + return this.$ti._precomputed1._as(last._element); + }, + add$1(_, element) { + var strings, nums, _this = this; + _this.$ti._precomputed1._as(element); + if (typeof element == "string" && element !== "__proto__") { + strings = _this._strings; + return _this._addHashTableEntry$2(strings == null ? _this._strings = A._LinkedHashSet__newHashTable() : strings, element); + } else if (typeof element == "number" && (element & 1073741823) === element) { + nums = _this._nums; + return _this._addHashTableEntry$2(nums == null ? _this._nums = A._LinkedHashSet__newHashTable() : nums, element); + } else + return _this._add$1(element); + }, + _add$1(element) { + var rest, hash, bucket, t1, _this = this; + _this.$ti._precomputed1._as(element); + rest = _this._collection$_rest; + if (rest == null) + rest = _this._collection$_rest = A._LinkedHashSet__newHashTable(); + hash = J.get$hashCode$(element) & 1073741823; + bucket = rest[hash]; + if (bucket == null) { + t1 = [_this._newLinkedCell$1(element)]; + A.assertHelper(t1 != null); + rest[hash] = t1; + } else { + if (_this._findBucketIndex$2(bucket, element) >= 0) + return false; + bucket.push(_this._newLinkedCell$1(element)); + } + return true; + }, + remove$1(_, object) { + var t1; + if (typeof object == "string" && object !== "__proto__") + return this._removeHashTableEntry$2(this._strings, object); + else { + t1 = this._remove$1(object); + return t1; + } + }, + _remove$1(object) { + var hash, bucket, index, cell, + rest = this._collection$_rest; + if (rest == null) + return false; + hash = J.get$hashCode$(object) & 1073741823; + bucket = rest[hash]; + index = this._findBucketIndex$2(bucket, object); + if (index < 0) + return false; + cell = bucket.splice(index, 1)[0]; + if (0 === bucket.length) + delete rest[hash]; + this._unlinkCell$1(cell); + return true; + }, + _addHashTableEntry$2(table, element) { + this.$ti._precomputed1._as(element); + if (type$.nullable__LinkedHashSetCell._as(table[element]) != null) + return false; + table[element] = this._newLinkedCell$1(element); + return true; + }, + _removeHashTableEntry$2(table, element) { + var cell; + if (table == null) + return false; + cell = type$.nullable__LinkedHashSetCell._as(table[element]); + if (cell == null) + return false; + this._unlinkCell$1(cell); + delete table[element]; + return true; + }, + _modified$0() { + this._modifications = this._modifications + 1 & 1073741823; + }, + _newLinkedCell$1(element) { + var t1, _this = this, + cell = new A._LinkedHashSetCell(_this.$ti._precomputed1._as(element)); + if (_this._first == null) + _this._first = _this._collection$_last = cell; + else { + t1 = _this._collection$_last; + t1.toString; + cell._previous = t1; + _this._collection$_last = t1._next = cell; + } + ++_this._collection$_length; + _this._modified$0(); + return cell; + }, + _unlinkCell$1(cell) { + var _this = this, + previous = cell._previous, + next = cell._next; + if (previous == null) { + A.assertHelper(cell === _this._first); + _this._first = next; + } else + previous._next = next; + if (next == null) { + A.assertHelper(cell === _this._collection$_last); + _this._collection$_last = previous; + } else + next._previous = previous; + --_this._collection$_length; + _this._modified$0(); + }, + _findBucketIndex$2(bucket, element) { + var $length, i; + if (bucket == null) + return -1; + $length = bucket.length; + for (i = 0; i < $length; ++i) + if (J.$eq$(bucket[i]._element, element)) + return i; + return -1; + } + }; + A._LinkedHashSetCell.prototype = {}; + A._LinkedHashSetIterator.prototype = { + get$current() { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + cell = _this._cell, + t1 = _this._set; + if (_this._modifications !== t1._modifications) + throw A.wrapException(A.ConcurrentModificationError$(t1)); + else if (cell == null) { + _this._collection$_current = null; + return false; + } else { + _this._collection$_current = _this.$ti._eval$1("1?")._as(cell._element); + _this._cell = cell._next; + return true; + } + }, + $isIterator: 1 + }; + A.HashMap_HashMap$from_closure.prototype = { + call$2(k, v) { + this.result.$indexSet(0, this.K._as(k), this.V._as(v)); + }, + $signature: 46 + }; + A.LinkedList.prototype = { + remove$1(_, entry) { + this.$ti._precomputed1._as(entry); + if (entry._list !== this) + return false; + this._unlink$1(entry); + return true; + }, + get$iterator(_) { + var _this = this; + return new A._LinkedListIterator(_this, _this._modificationCount, _this._first, _this.$ti._eval$1("_LinkedListIterator<1>")); + }, + get$length(_) { + return this._collection$_length; + }, + get$first(_) { + var t1; + if (this._collection$_length === 0) + throw A.wrapException(A.StateError$("No such element")); + t1 = this._first; + t1.toString; + return t1; + }, + get$last(_) { + var t1; + if (this._collection$_length === 0) + throw A.wrapException(A.StateError$("No such element")); + t1 = this._first._previous; + t1.toString; + return t1; + }, + get$isEmpty(_) { + return this._collection$_length === 0; + }, + _insertBefore$3$updateFirst(entry, newEntry, updateFirst) { + var _this = this, + t1 = _this.$ti; + t1._eval$1("1?")._as(entry); + t1._precomputed1._as(newEntry); + if (newEntry._list != null) + throw A.wrapException(A.StateError$("LinkedListEntry is already in a LinkedList")); + ++_this._modificationCount; + newEntry.set$_list(_this); + if (_this._collection$_length === 0) { + A.assertHelper(entry == null); + newEntry.set$_next(newEntry); + newEntry.set$_previous(newEntry); + _this._first = newEntry; + ++_this._collection$_length; + return; + } + t1 = entry._previous; + t1.toString; + newEntry.set$_previous(t1); + newEntry.set$_next(entry); + t1.set$_next(newEntry); + entry.set$_previous(newEntry); + ++_this._collection$_length; + }, + _unlink$1(entry) { + var t1, next, _this = this; + _this.$ti._precomputed1._as(entry); + ++_this._modificationCount; + entry._next.set$_previous(entry._previous); + t1 = entry._previous; + next = entry._next; + t1.set$_next(next); + --_this._collection$_length; + entry.set$_previous(null); + entry.set$_next(null); + entry.set$_list(null); + if (_this._collection$_length === 0) + _this._first = null; + else if (entry === _this._first) + _this._first = next; + } + }; + A._LinkedListIterator.prototype = { + get$current() { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + }, + moveNext$0() { + var _this = this, + t1 = _this._list; + if (_this._modificationCount !== t1._modificationCount) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + if (t1._collection$_length !== 0) + t1 = _this._visitedFirst && _this._next === t1.get$first(0); + else + t1 = true; + if (t1) { + _this._collection$_current = null; + return false; + } + _this._visitedFirst = true; + t1 = _this._next; + _this._collection$_current = t1; + _this._next = t1._next; + return true; + }, + $isIterator: 1 + }; + A.LinkedListEntry.prototype = { + get$previous() { + var t1 = this._list; + if (t1 == null || this === t1.get$first(0)) + return null; + return this._previous; + }, + set$_list(_list) { + this._list = A._instanceType(this)._eval$1("LinkedList?")._as(_list); + }, + set$_next(_next) { + this._next = A._instanceType(this)._eval$1("LinkedListEntry.E?")._as(_next); + }, + set$_previous(_previous) { + this._previous = A._instanceType(this)._eval$1("LinkedListEntry.E?")._as(_previous); + } + }; + A.ListBase.prototype = { + get$iterator(receiver) { + return new A.ListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("ListIterator")); + }, + elementAt$1(receiver, index) { + return this.$index(receiver, index); + }, + get$isEmpty(receiver) { + return this.get$length(receiver) === 0; + }, + get$first(receiver) { + if (this.get$length(receiver) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.$index(receiver, 0); + }, + get$last(receiver) { + if (this.get$length(receiver) === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.$index(receiver, this.get$length(receiver) - 1); + }, + map$1$1(receiver, f, $T) { + var t1 = A.instanceType(receiver); + return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListBase.E)")._as(f), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); + }, + skip$1(receiver, count) { + return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListBase.E")); + }, + take$1(receiver, count) { + return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListBase.E")); + }, + toList$1$growable(receiver, growable) { + var t1, first, result, i, _this = this; + if (_this.get$isEmpty(receiver)) { + t1 = J.JSArray_JSArray$growable(0, A.instanceType(receiver)._eval$1("ListBase.E")); + return t1; + } + first = _this.$index(receiver, 0); + result = A.List_List$filled(_this.get$length(receiver), first, true, A.instanceType(receiver)._eval$1("ListBase.E")); + for (i = 1; i < _this.get$length(receiver); ++i) + B.JSArray_methods.$indexSet(result, i, _this.$index(receiver, i)); + return result; + }, + toList$0(receiver) { + return this.toList$1$growable(receiver, true); + }, + cast$1$0(receiver, $R) { + return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@")._bind$1($R)._eval$1("CastList<1,2>")); + }, + sublist$2(receiver, start, end) { + var t1, + listLength = this.get$length(receiver); + A.RangeError_checkValidRange(start, end, listLength); + t1 = A.List_List$_of(this.getRange$2(receiver, start, end), A.instanceType(receiver)._eval$1("ListBase.E")); + return t1; + }, + 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); + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + for (i = start; i < end; ++i) + this.$indexSet(receiver, i, fill); + }, + setRange$4(receiver, start, end, iterable, skipCount) { + var $length, otherStart, otherList, t1, i; + A.instanceType(receiver)._eval$1("Iterable")._as(iterable); + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + $length = end - start; + if ($length === 0) + return; + A.RangeError_checkNotNegative(skipCount, "skipCount"); + if (type$.List_dynamic._is(iterable)) { + otherStart = skipCount; + otherList = iterable; + } else { + otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false); + otherStart = 0; + } + t1 = J.getInterceptor$asx(otherList); + if (otherStart + $length > t1.get$length(otherList)) + throw A.wrapException(A.IterableElementError_tooFew()); + if (otherStart < start) + for (i = $length - 1; i >= 0; --i) + this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i)); + else + for (i = 0; i < $length; ++i) + this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i)); + }, + setRange$3(receiver, start, end, iterable) { + return this.setRange$4(receiver, start, end, iterable, 0); + }, + setAll$2(receiver, index, iterable) { + var t1, index0; + A.instanceType(receiver)._eval$1("Iterable")._as(iterable); + if (type$.List_dynamic._is(iterable)) + this.setRange$3(receiver, index, index + iterable.length, iterable); + else + for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0(); index = index0) { + index0 = index + 1; + this.$indexSet(receiver, index, t1.get$current()); + } + }, + toString$0(receiver) { + return A.Iterable_iterableToFullString(receiver, "[", "]"); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.MapBase.prototype = { + forEach$1(_, action) { + var t2, key, t3, + t1 = A._instanceType(this); + t1._eval$1("~(MapBase.K,MapBase.V)")._as(action); + for (t2 = J.get$iterator$ax(this.get$keys()), t1 = t1._eval$1("MapBase.V"); t2.moveNext$0();) { + key = t2.get$current(); + t3 = this.$index(0, key); + action.call$2(key, t3 == null ? t1._as(t3) : t3); + } + }, + get$entries() { + return J.map$1$1$ax(this.get$keys(), new A.MapBase_entries_closure(this), A._instanceType(this)._eval$1("MapEntry")); + }, + get$length(_) { + return J.get$length$asx(this.get$keys()); + }, + get$isEmpty(_) { + return J.get$isEmpty$asx(this.get$keys()); + }, + get$values() { + return new A._MapBaseValueIterable(this, A._instanceType(this)._eval$1("_MapBaseValueIterable")); + }, + toString$0(_) { + return A.MapBase_mapToString(this); + }, + $isMap: 1 + }; + A.MapBase_entries_closure.prototype = { + call$1(key) { + var t1 = this.$this, + t2 = A._instanceType(t1); + t2._eval$1("MapBase.K")._as(key); + t1 = t1.$index(0, key); + if (t1 == null) + t1 = t2._eval$1("MapBase.V")._as(t1); + return new A.MapEntry(key, t1, t2._eval$1("MapEntry")); + }, + $signature() { + return A._instanceType(this.$this)._eval$1("MapEntry(MapBase.K)"); + } + }; + A.MapBase_mapToString_closure.prototype = { + call$2(k, v) { + var t2, + t1 = this._box_0; + if (!t1.first) + this.result._contents += ", "; + t1.first = false; + t1 = this.result; + t2 = A.S(k); + t1._contents = (t1._contents += t2) + ": "; + t2 = A.S(v); + t1._contents += t2; + }, + $signature: 49 + }; + A._MapBaseValueIterable.prototype = { + get$length(_) { + var t1 = this._collection$_map; + return t1.get$length(t1); + }, + get$isEmpty(_) { + var t1 = this._collection$_map; + return t1.get$isEmpty(t1); + }, + get$first(_) { + var t1 = this._collection$_map; + t1 = t1.$index(0, J.get$first$ax(t1.get$keys())); + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + get$last(_) { + var t1 = this._collection$_map; + t1 = t1.$index(0, J.get$last$ax(t1.get$keys())); + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + get$iterator(_) { + var t1 = this._collection$_map; + return new A._MapBaseValueIterator(J.get$iterator$ax(t1.get$keys()), t1, this.$ti._eval$1("_MapBaseValueIterator<1,2>")); + } + }; + A._MapBaseValueIterator.prototype = { + moveNext$0() { + var _this = this, + t1 = _this._keys; + if (t1.moveNext$0()) { + _this._collection$_current = _this._collection$_map.$index(0, t1.get$current()); + return true; + } + _this._collection$_current = null; + return false; + }, + get$current() { + var t1 = this._collection$_current; + return t1 == null ? this.$ti._rest[1]._as(t1) : t1; + }, + $isIterator: 1 + }; + A.SetBase.prototype = { + get$isEmpty(_) { + return this._collection$_length === 0; + }, + map$1$1(_, f, $T) { + var t1 = this.$ti; + return new A.EfficientLengthMappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); + }, + toString$0(_) { + return A.Iterable_iterableToFullString(this, "{", "}"); + }, + take$1(_, n) { + return A.TakeIterable_TakeIterable(this, n, this.$ti._precomputed1); + }, + skip$1(_, n) { + return A.SkipIterable_SkipIterable(this, n, this.$ti._precomputed1); + }, + get$first(_) { + var t1, + it = A._LinkedHashSetIterator$(this, this._modifications, this.$ti._precomputed1); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + t1 = it._collection$_current; + return t1 == null ? it.$ti._precomputed1._as(t1) : t1; + }, + get$last(_) { + var t1, result, + it = A._LinkedHashSetIterator$(this, this._modifications, this.$ti._precomputed1); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + t1 = it.$ti._precomputed1; + do { + result = it._collection$_current; + if (result == null) + result = t1._as(result); + } while (it.moveNext$0()); + return result; + }, + elementAt$1(_, index) { + var iterator, skipCount, t1, _this = this; + A.RangeError_checkNotNegative(index, "index"); + iterator = A._LinkedHashSetIterator$(_this, _this._modifications, _this.$ti._precomputed1); + for (skipCount = index; iterator.moveNext$0();) { + if (skipCount === 0) { + t1 = iterator._collection$_current; + return t1 == null ? iterator.$ti._precomputed1._as(t1) : t1; + } + --skipCount; + } + throw A.wrapException(A.IndexError$withLength(index, index - skipCount, _this, null, "index")); + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isSet: 1 + }; + A._SetBase.prototype = {}; + A._Utf8Decoder__decoder_closure.prototype = { + call$0() { + var t1, exception; + try { + t1 = new TextDecoder("utf-8", {fatal: true}); + return t1; + } catch (exception) { + } + return null; + }, + $signature: 33 + }; + A._Utf8Decoder__decoderNonfatal_closure.prototype = { + call$0() { + var t1, exception; + try { + t1 = new TextDecoder("utf-8", {fatal: false}); + return t1; + } catch (exception) { + } + return null; + }, + $signature: 33 + }; + A.AsciiCodec.prototype = { + encode$1(source) { + return B.AsciiEncoder_127.convert$1(source); + } + }; + A._UnicodeSubsetEncoder.prototype = { + convert$1(string) { + var stringLength, end, result, t1, i, codeUnit; + A._asString(string); + stringLength = string.length; + end = A.RangeError_checkValidRange(0, null, stringLength); + result = new Uint8Array(end); + for (t1 = ~this._subsetMask, i = 0; i < end; ++i) { + if (!(i < stringLength)) + return A.ioore(string, i); + codeUnit = string.charCodeAt(i); + if ((codeUnit & t1) !== 0) + throw A.wrapException(A.ArgumentError$value(string, "string", "Contains invalid characters.")); + if (!(i < end)) + return A.ioore(result, i); + result[i] = codeUnit; + } + return result; + } + }; + A.AsciiEncoder.prototype = {}; + A.Base64Codec.prototype = { + normalize$3(source, start, end) { + var inverseAlphabet, t2, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, digit1, t3, digit2, char0, value, t4, endLength, $length, + _s64_ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + _s31_ = "Invalid base64 encoding length ", + t1 = source.length; + end = A.RangeError_checkValidRange(start, end, t1); + inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet(); + for (t2 = inverseAlphabet.length, i = start, sliceStart = i, buffer = null, firstPadding = -1, firstPaddingSourceIndex = -1, paddingCount = 0; i < end; i = i0) { + i0 = i + 1; + if (!(i < t1)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 37) { + i1 = i0 + 2; + if (i1 <= end) { + A.assertHelper(i1 <= t1); + if (!(i0 < t1)) + return A.ioore(source, i0); + digit1 = A.hexDigitValue(source.charCodeAt(i0)); + t3 = i0 + 1; + if (!(t3 < t1)) + return A.ioore(source, t3); + digit2 = A.hexDigitValue(source.charCodeAt(t3)); + char0 = digit1 * 16 + digit2 - (digit2 & 256); + if (char0 === 37) + char0 = -1; + i0 = i1; + } else + char0 = -1; + } else + char0 = char; + if (0 <= char0 && char0 <= 127) { + if (!(char0 >= 0 && char0 < t2)) + return A.ioore(inverseAlphabet, char0); + value = inverseAlphabet[char0]; + if (value >= 0) { + if (!(value < 64)) + return A.ioore(_s64_, value); + char0 = _s64_.charCodeAt(value); + if (char0 === char) + continue; + char = char0; + } else { + if (value === -1) { + if (firstPadding < 0) { + t3 = buffer == null ? null : buffer._contents.length; + if (t3 == null) + t3 = 0; + firstPadding = t3 + (i - sliceStart); + firstPaddingSourceIndex = i; + } + ++paddingCount; + if (char === 61) + continue; + } + char = char0; + } + if (value !== -2) { + if (buffer == null) { + buffer = new A.StringBuffer(""); + t3 = buffer; + } else + t3 = buffer; + t3._contents += B.JSString_methods.substring$2(source, sliceStart, i); + t4 = A.Primitives_stringFromCharCode(char); + t3._contents += t4; + sliceStart = i0; + continue; + } + } + throw A.wrapException(A.FormatException$("Invalid base64 data", source, i)); + } + if (buffer != null) { + t1 = B.JSString_methods.substring$2(source, sliceStart, end); + t1 = buffer._contents += t1; + t2 = t1.length; + if (firstPadding >= 0) + A.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, t2); + else { + endLength = B.JSInt_methods.$mod(t2 - 1, 4) + 1; + if (endLength === 1) + throw A.wrapException(A.FormatException$(_s31_, source, end)); + while (endLength < 4) { + t1 += "="; + buffer._contents = t1; + ++endLength; + } + } + t1 = buffer._contents; + return B.JSString_methods.replaceRange$3(source, start, end, t1.charCodeAt(0) == 0 ? t1 : t1); + } + $length = end - start; + if (firstPadding >= 0) + A.Base64Codec__checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, $length); + else { + endLength = B.JSInt_methods.$mod($length, 4); + if (endLength === 1) + throw A.wrapException(A.FormatException$(_s31_, source, end)); + if (endLength > 1) + source = B.JSString_methods.replaceRange$3(source, end, end, endLength === 2 ? "==" : "="); + } + return source; + } + }; + A.Base64Encoder.prototype = {}; + A.Codec.prototype = {}; + A._FusedCodec.prototype = {}; + A.Converter.prototype = {$isStreamTransformer: 1}; + A.Encoding.prototype = {}; + A.Utf8Codec.prototype = { + decode$1(codeUnits) { + type$.List_int._as(codeUnits); + return new A._Utf8Decoder(false)._convertGeneral$4(codeUnits, 0, null, true); + } + }; + A.Utf8Encoder.prototype = { + convert$1(string) { + var stringLength, end, t1, encoder, endPosition, t2; + A._asString(string); + stringLength = string.length; + end = A.RangeError_checkValidRange(0, null, stringLength); + if (end === 0) + return new Uint8Array(0); + t1 = new Uint8Array(end * 3); + encoder = new A._Utf8Encoder(t1); + endPosition = encoder._fillBuffer$3(string, 0, end); + t2 = end - 1; + A.assertHelper(endPosition >= t2); + if (endPosition !== end) { + if (!(t2 >= 0 && t2 < stringLength)) + return A.ioore(string, t2); + A.assertHelper((string.charCodeAt(t2) & 64512) === 55296); + encoder._writeReplacementCharacter$0(); + } + return B.NativeUint8List_methods.sublist$2(t1, 0, encoder._bufferIndex); + } + }; + A._Utf8Encoder.prototype = { + _writeReplacementCharacter$0() { + var t4, _this = this, + t1 = _this._buffer, + t2 = _this._bufferIndex, + t3 = _this._bufferIndex = t2 + 1; + t1.$flags & 2 && A.throwUnsupportedOperation(t1); + t4 = t1.length; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = 239; + t2 = _this._bufferIndex = t3 + 1; + if (!(t3 < t4)) + return A.ioore(t1, t3); + t1[t3] = 191; + _this._bufferIndex = t2 + 1; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = 189; + }, + _writeSurrogate$2(leadingSurrogate, nextCodeUnit) { + var rune, t1, t2, t3, t4, _this = this; + if ((nextCodeUnit & 64512) === 56320) { + rune = 65536 + ((leadingSurrogate & 1023) << 10) | nextCodeUnit & 1023; + A.assertHelper(rune > 65535); + A.assertHelper(rune <= 1114111); + t1 = _this._buffer; + t2 = _this._bufferIndex; + t3 = _this._bufferIndex = t2 + 1; + t1.$flags & 2 && A.throwUnsupportedOperation(t1); + t4 = t1.length; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = rune >>> 18 | 240; + t2 = _this._bufferIndex = t3 + 1; + if (!(t3 < t4)) + return A.ioore(t1, t3); + t1[t3] = rune >>> 12 & 63 | 128; + t3 = _this._bufferIndex = t2 + 1; + if (!(t2 < t4)) + return A.ioore(t1, t2); + t1[t2] = rune >>> 6 & 63 | 128; + _this._bufferIndex = t3 + 1; + if (!(t3 < t4)) + return A.ioore(t1, t3); + t1[t3] = rune & 63 | 128; + return true; + } else { + _this._writeReplacementCharacter$0(); + return false; + } + }, + _fillBuffer$3(str, start, end) { + var t1, t2, t3, t4, stringIndex, codeUnit, t5, t6, _this = this; + if (start !== end) { + t1 = end - 1; + if (!(t1 >= 0 && t1 < str.length)) + return A.ioore(str, t1); + t1 = (str.charCodeAt(t1) & 64512) === 55296; + } else + t1 = false; + if (t1) + --end; + for (t1 = _this._buffer, t2 = t1.$flags | 0, t3 = t1.length, t4 = str.length, stringIndex = start; stringIndex < end; ++stringIndex) { + if (!(stringIndex < t4)) + return A.ioore(str, stringIndex); + codeUnit = str.charCodeAt(stringIndex); + if (codeUnit <= 127) { + t5 = _this._bufferIndex; + if (t5 >= t3) + break; + _this._bufferIndex = t5 + 1; + t2 & 2 && A.throwUnsupportedOperation(t1); + t1[t5] = codeUnit; + } else { + t5 = codeUnit & 64512; + if (t5 === 55296) { + if (_this._bufferIndex + 4 > t3) + break; + t5 = stringIndex + 1; + if (!(t5 < t4)) + return A.ioore(str, t5); + if (_this._writeSurrogate$2(codeUnit, str.charCodeAt(t5))) + stringIndex = t5; + } else if (t5 === 56320) { + if (_this._bufferIndex + 3 > t3) + break; + _this._writeReplacementCharacter$0(); + } else if (codeUnit <= 2047) { + t5 = _this._bufferIndex; + t6 = t5 + 1; + if (t6 >= t3) + break; + _this._bufferIndex = t6; + t2 & 2 && A.throwUnsupportedOperation(t1); + if (!(t5 < t3)) + return A.ioore(t1, t5); + t1[t5] = codeUnit >>> 6 | 192; + _this._bufferIndex = t6 + 1; + t1[t6] = codeUnit & 63 | 128; + } else { + A.assertHelper(codeUnit <= 65535); + t5 = _this._bufferIndex; + if (t5 + 2 >= t3) + break; + t6 = _this._bufferIndex = t5 + 1; + t2 & 2 && A.throwUnsupportedOperation(t1); + if (!(t5 < t3)) + return A.ioore(t1, t5); + t1[t5] = codeUnit >>> 12 | 224; + t5 = _this._bufferIndex = t6 + 1; + if (!(t6 < t3)) + return A.ioore(t1, t6); + t1[t6] = codeUnit >>> 6 & 63 | 128; + _this._bufferIndex = t5 + 1; + if (!(t5 < t3)) + return A.ioore(t1, t5); + t1[t5] = codeUnit & 63 | 128; + } + } + } + return stringIndex; + } + }; + A._Utf8Decoder.prototype = { + _convertGeneral$4(codeUnits, start, maybeEnd, single) { + var end, casted, bytes, errorOffset, t1, result, message, _this = this; + type$.List_int._as(codeUnits); + end = A.RangeError_checkValidRange(start, maybeEnd, J.get$length$asx(codeUnits)); + if (start === end) + return ""; + if (codeUnits instanceof Uint8Array) { + casted = codeUnits; + bytes = casted; + errorOffset = 0; + } else { + bytes = A._Utf8Decoder__makeNativeUint8List(codeUnits, start, end); + end -= start; + errorOffset = start; + start = 0; + } + if (single && end - start >= 15) { + t1 = _this.allowMalformed; + result = A._Utf8Decoder__convertInterceptedUint8List(t1, bytes, start, end); + if (result != null) { + if (!t1) + return result; + if (result.indexOf("\ufffd") < 0) + return result; + } + } + result = _this._decodeRecursive$4(bytes, start, end, single); + t1 = _this._convert$_state; + if ((t1 & 1) !== 0) { + message = A._Utf8Decoder_errorDescription(t1); + _this._convert$_state = 0; + throw A.wrapException(A.FormatException$(message, codeUnits, errorOffset + _this._charOrIndex)); + } + return result; + }, + _decodeRecursive$4(bytes, start, end, single) { + var mid, s1, _this = this; + if (end - start > 1000) { + mid = B.JSInt_methods._tdivFast$1(start + end, 2); + s1 = _this._decodeRecursive$4(bytes, start, mid, false); + if ((_this._convert$_state & 1) !== 0) + return s1; + return s1 + _this._decodeRecursive$4(bytes, mid, end, single); + } + return _this.decodeGeneral$4(bytes, start, end, single); + }, + decodeGeneral$4(bytes, start, end, single) { + var byte, t2, type, t3, i0, markEnd, i1, m, _this = this, + _s256_ = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE", + _s144_ = " \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA", + _65533 = 65533, + state = _this._convert$_state, + char = _this._charOrIndex, + buffer = new A.StringBuffer(""), + i = start + 1, + t1 = bytes.length; + if (!(start >= 0 && start < t1)) + return A.ioore(bytes, start); + byte = bytes[start]; + $label0$0: + for (t2 = _this.allowMalformed;;) { + for (;; i = i0) { + if (!(byte >= 0 && byte < 256)) + return A.ioore(_s256_, byte); + type = _s256_.charCodeAt(byte) & 31; + char = state <= 32 ? byte & 61694 >>> type : (byte & 63 | char << 6) >>> 0; + t3 = state + type; + if (!(t3 >= 0 && t3 < 144)) + return A.ioore(_s144_, t3); + state = _s144_.charCodeAt(t3); + if (state === 0) { + t3 = A.Primitives_stringFromCharCode(char); + buffer._contents += t3; + if (i === end) + break $label0$0; + break; + } else if ((state & 1) !== 0) { + if (t2) + switch (state) { + case 69: + case 67: + t3 = A.Primitives_stringFromCharCode(_65533); + buffer._contents += t3; + break; + case 65: + t3 = A.Primitives_stringFromCharCode(_65533); + buffer._contents += t3; + --i; + break; + default: + t3 = A.Primitives_stringFromCharCode(_65533); + buffer._contents = (buffer._contents += t3) + t3; + break; + } + else { + _this._convert$_state = state; + _this._charOrIndex = i - 1; + return ""; + } + state = 0; + } + if (i === end) + break $label0$0; + i0 = i + 1; + if (!(i >= 0 && i < t1)) + return A.ioore(bytes, i); + byte = bytes[i]; + } + i0 = i + 1; + if (!(i >= 0 && i < t1)) + return A.ioore(bytes, i); + byte = bytes[i]; + if (byte < 128) { + for (;;) { + if (!(i0 < end)) { + markEnd = end; + break; + } + i1 = i0 + 1; + if (!(i0 >= 0 && i0 < t1)) + return A.ioore(bytes, i0); + byte = bytes[i0]; + if (byte >= 128) { + markEnd = i1 - 1; + i0 = i1; + break; + } + i0 = i1; + } + A.assertHelper(i < markEnd); + if (markEnd - i < 20) + for (m = i; m < markEnd; ++m) { + if (!(m < t1)) + return A.ioore(bytes, m); + t3 = A.Primitives_stringFromCharCode(bytes[m]); + buffer._contents += t3; + } + else { + t3 = A.String_String$fromCharCodes(bytes, i, markEnd); + buffer._contents += t3; + } + if (markEnd === end) + break $label0$0; + i = i0; + } else + i = i0; + } + if (single && state > 32) + if (t2) { + t1 = A.Primitives_stringFromCharCode(_65533); + buffer._contents += t1; + } else { + _this._convert$_state = 77; + _this._charOrIndex = end; + return ""; + } + _this._convert$_state = state; + _this._charOrIndex = char; + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + } + }; + A._BigIntImpl.prototype = { + $negate(_) { + var t2, t3, _this = this, + t1 = _this._used; + if (t1 === 0) + return _this; + t2 = !_this._isNegative; + t3 = _this._digits; + t1 = A._BigIntImpl__normalize(t1, t3); + return new A._BigIntImpl(t1 === 0 ? false : t2, t3, t1); + }, + _dlShift$1(n) { + var resultUsed, digits, resultDigits, i, t1, t2, t3, + used = this._used; + if (used === 0) + return $.$get$_BigIntImpl_zero(); + resultUsed = used + n; + digits = this._digits; + resultDigits = new Uint16Array(resultUsed); + for (i = used - 1, t1 = digits.length; i >= 0; --i) { + t2 = i + n; + if (!(i < t1)) + return A.ioore(digits, i); + t3 = digits[i]; + if (!(t2 >= 0 && t2 < resultUsed)) + return A.ioore(resultDigits, t2); + resultDigits[t2] = t3; + } + t1 = this._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + }, + _drShift$1(n) { + var resultUsed, digits, resultDigits, t1, i, t2, t3, result, _this = this, + used = _this._used; + if (used === 0) + return $.$get$_BigIntImpl_zero(); + resultUsed = used - n; + if (resultUsed <= 0) + return _this._isNegative ? $.$get$_BigIntImpl__minusOne() : $.$get$_BigIntImpl_zero(); + digits = _this._digits; + resultDigits = new Uint16Array(resultUsed); + for (t1 = digits.length, i = n; i < used; ++i) { + t2 = i - n; + if (!(i >= 0 && i < t1)) + return A.ioore(digits, i); + t3 = digits[i]; + if (!(t2 < resultUsed)) + return A.ioore(resultDigits, t2); + resultDigits[t2] = t3; + } + t2 = _this._isNegative; + t3 = A._BigIntImpl__normalize(resultUsed, resultDigits); + result = new A._BigIntImpl(t3 === 0 ? false : t2, resultDigits, t3); + if (t2) + for (i = 0; i < n; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + if (digits[i] !== 0) + return result.$sub(0, $.$get$_BigIntImpl_one()); + } + return result; + }, + $shl(_, shiftAmount) { + var t1, digitShift, resultUsed, resultDigits, t2, _this = this; + if (shiftAmount < 0) + throw A.wrapException(A.ArgumentError$("shift-amount must be posititve " + shiftAmount, null)); + t1 = _this._used; + if (t1 === 0) + return _this; + digitShift = B.JSInt_methods._tdivFast$1(shiftAmount, 16); + if (B.JSInt_methods.$mod(shiftAmount, 16) === 0) + return _this._dlShift$1(digitShift); + resultUsed = t1 + digitShift + 1; + resultDigits = new Uint16Array(resultUsed); + A._BigIntImpl__lsh(_this._digits, t1, shiftAmount, resultDigits); + t1 = _this._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + }, + $shr(_, shiftAmount) { + var t1, digitShift, bitShift, resultUsed, digits, resultDigits, t2, result, i, _this = this; + if (shiftAmount < 0) + throw A.wrapException(A.ArgumentError$("shift-amount must be posititve " + shiftAmount, null)); + t1 = _this._used; + if (t1 === 0) + return _this; + digitShift = B.JSInt_methods._tdivFast$1(shiftAmount, 16); + bitShift = B.JSInt_methods.$mod(shiftAmount, 16); + if (bitShift === 0) + return _this._drShift$1(digitShift); + resultUsed = t1 - digitShift; + if (resultUsed <= 0) + return _this._isNegative ? $.$get$_BigIntImpl__minusOne() : $.$get$_BigIntImpl_zero(); + digits = _this._digits; + resultDigits = new Uint16Array(resultUsed); + A._BigIntImpl__rsh(digits, t1, shiftAmount, resultDigits); + t1 = _this._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + result = new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + if (t1) { + t1 = digits.length; + if (!(digitShift >= 0 && digitShift < t1)) + return A.ioore(digits, digitShift); + if ((digits[digitShift] & B.JSInt_methods.$shl(1, bitShift) - 1) >>> 0 !== 0) + return result.$sub(0, $.$get$_BigIntImpl_one()); + for (i = 0; i < digitShift; ++i) { + if (!(i < t1)) + return A.ioore(digits, i); + if (digits[i] !== 0) + return result.$sub(0, $.$get$_BigIntImpl_one()); + } + } + return result; + }, + compareTo$1(_, other) { + var t1, result; + type$._BigIntImpl._as(other); + t1 = this._isNegative; + if (t1 === other._isNegative) { + result = A._BigIntImpl__compareDigits(this._digits, this._used, other._digits, other._used); + return t1 ? 0 - result : result; + } + return t1 ? -1 : 1; + }, + _absAddSetSign$2(other, isNegative) { + var resultUsed, resultDigits, t1, _this = this, + used = _this._used, + otherUsed = other._used; + if (used < otherUsed) + return other._absAddSetSign$2(_this, isNegative); + if (used === 0) { + A.assertHelper(!isNegative); + return $.$get$_BigIntImpl_zero(); + } + if (otherUsed === 0) + return _this._isNegative === isNegative ? _this : _this.$negate(0); + resultUsed = used + 1; + resultDigits = new Uint16Array(resultUsed); + A._BigIntImpl__absAdd(_this._digits, used, other._digits, otherUsed, resultDigits); + t1 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, resultDigits, t1); + }, + _absSubSetSign$2(other, isNegative) { + var resultDigits, _this = this, + t1 = _this._digits, + t2 = _this._used, + t3 = other._digits, + t4 = other._used; + A.assertHelper(A._BigIntImpl__compareDigits(t1, t2, t3, t4) >= 0); + if (t2 === 0) { + A.assertHelper(!isNegative); + return $.$get$_BigIntImpl_zero(); + } + if (t4 === 0) + return _this._isNegative === isNegative ? _this : _this.$negate(0); + resultDigits = new Uint16Array(t2); + A._BigIntImpl__absSub(t1, t2, t3, t4, resultDigits); + t1 = A._BigIntImpl__normalize(t2, resultDigits); + return new A._BigIntImpl(t1 === 0 ? false : isNegative, resultDigits, t1); + }, + $add(_, other) { + var t2, isNegative, _this = this, + t1 = _this._used; + if (t1 === 0) + return other; + t2 = other._used; + if (t2 === 0) + return _this; + isNegative = _this._isNegative; + if (isNegative === other._isNegative) + return _this._absAddSetSign$2(other, isNegative); + if (A._BigIntImpl__compareDigits(_this._digits, t1, other._digits, t2) >= 0) + return _this._absSubSetSign$2(other, isNegative); + return other._absSubSetSign$2(_this, !isNegative); + }, + $sub(_, other) { + var t2, isNegative, _this = this, + t1 = _this._used; + if (t1 === 0) + return other.$negate(0); + t2 = other._used; + if (t2 === 0) + return _this; + isNegative = _this._isNegative; + if (isNegative !== other._isNegative) + return _this._absAddSetSign$2(other, isNegative); + if (A._BigIntImpl__compareDigits(_this._digits, t1, other._digits, t2) >= 0) + return _this._absSubSetSign$2(other, isNegative); + return other._absSubSetSign$2(_this, !isNegative); + }, + $mul(_, other) { + var resultUsed, digits, otherDigits, resultDigits, t1, i, t2, + used = this._used, + otherUsed = other._used; + if (used === 0 || otherUsed === 0) + return $.$get$_BigIntImpl_zero(); + resultUsed = used + otherUsed; + digits = this._digits; + otherDigits = other._digits; + resultDigits = new Uint16Array(resultUsed); + for (t1 = otherDigits.length, i = 0; i < otherUsed;) { + if (!(i < t1)) + return A.ioore(otherDigits, i); + A._BigIntImpl__mulAdd(otherDigits[i], digits, 0, resultDigits, i, used); + ++i; + } + t1 = this._isNegative !== other._isNegative; + t2 = A._BigIntImpl__normalize(resultUsed, resultDigits); + return new A._BigIntImpl(t2 === 0 ? false : t1, resultDigits, t2); + }, + _div$1(other) { + var lastQuo_used, quo_digits, quo, + t1 = other._used; + A.assertHelper(t1 > 0); + if (this._used < t1) + return $.$get$_BigIntImpl_zero(); + this._divRem$1(other); + lastQuo_used = $._BigIntImpl____lastQuoRemUsed._readField$0() - $._BigIntImpl____lastRemUsed._readField$0(); + quo_digits = A._BigIntImpl__cloneDigits($._BigIntImpl____lastQuoRemDigits._readField$0(), $._BigIntImpl____lastRemUsed._readField$0(), $._BigIntImpl____lastQuoRemUsed._readField$0(), lastQuo_used); + t1 = A._BigIntImpl__normalize(lastQuo_used, quo_digits); + quo = new A._BigIntImpl(false, quo_digits, t1); + return this._isNegative !== other._isNegative && t1 > 0 ? quo.$negate(0) : quo; + }, + _rem$1(other) { + var remDigits, rem, _this = this, + t1 = other._used; + A.assertHelper(t1 > 0); + if (_this._used < t1) + return _this; + _this._divRem$1(other); + remDigits = A._BigIntImpl__cloneDigits($._BigIntImpl____lastQuoRemDigits._readField$0(), 0, $._BigIntImpl____lastRemUsed._readField$0(), $._BigIntImpl____lastRemUsed._readField$0()); + t1 = A._BigIntImpl__normalize($._BigIntImpl____lastRemUsed._readField$0(), remDigits); + rem = new A._BigIntImpl(false, remDigits, t1); + if ($._BigIntImpl____lastRem_nsh._readField$0() > 0) + rem = rem.$shr(0, $._BigIntImpl____lastRem_nsh._readField$0()); + return _this._isNegative && rem._used > 0 ? rem.$negate(0) : rem; + }, + _divRem$1(other) { + var yUsed, yDigits, t1, nsh, yDigits0, yUsed0, resultDigits, resultUsed0, topDigitDivisor, j, tmpDigits, tmpUsed, resultUsed1, nyDigits, i, estimatedQuotientDigit, _this = this, + resultUsed = _this._used; + if (resultUsed === $._BigIntImpl__lastDividendUsed && other._used === $._BigIntImpl__lastDivisorUsed && _this._digits === $._BigIntImpl__lastDividendDigits && other._digits === $._BigIntImpl__lastDivisorDigits) + return; + yUsed = other._used; + A.assertHelper(resultUsed >= yUsed); + yDigits = other._digits; + t1 = yUsed - 1; + if (!(t1 >= 0 && t1 < yDigits.length)) + return A.ioore(yDigits, t1); + nsh = 16 - B.JSInt_methods.get$bitLength(yDigits[t1]); + if (nsh > 0) { + yDigits0 = new Uint16Array(yUsed + 5); + yUsed0 = A._BigIntImpl__lShiftDigits(yDigits, yUsed, nsh, yDigits0); + resultDigits = new Uint16Array(resultUsed + 5); + resultUsed0 = A._BigIntImpl__lShiftDigits(_this._digits, resultUsed, nsh, resultDigits); + } else { + resultDigits = A._BigIntImpl__cloneDigits(_this._digits, 0, resultUsed, resultUsed + 2); + yUsed0 = yUsed; + yDigits0 = yDigits; + resultUsed0 = resultUsed; + } + t1 = yUsed0 - 1; + if (!(t1 >= 0 && t1 < yDigits0.length)) + return A.ioore(yDigits0, t1); + topDigitDivisor = yDigits0[t1]; + j = resultUsed0 - yUsed0; + tmpDigits = new Uint16Array(resultUsed0); + tmpUsed = A._BigIntImpl__dlShiftDigits(yDigits0, yUsed0, j, tmpDigits); + resultUsed1 = resultUsed0 + 1; + t1 = resultDigits.$flags | 0; + if (A._BigIntImpl__compareDigits(resultDigits, resultUsed0, tmpDigits, tmpUsed) >= 0) { + t1 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(resultUsed0 >= 0 && resultUsed0 < resultDigits.length)) + return A.ioore(resultDigits, resultUsed0); + resultDigits[resultUsed0] = 1; + A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits); + } else { + t1 & 2 && A.throwUnsupportedOperation(resultDigits); + if (!(resultUsed0 >= 0 && resultUsed0 < resultDigits.length)) + return A.ioore(resultDigits, resultUsed0); + resultDigits[resultUsed0] = 0; + } + t1 = yUsed0 + 2; + nyDigits = new Uint16Array(t1); + if (!(yUsed0 >= 0 && yUsed0 < t1)) + return A.ioore(nyDigits, yUsed0); + nyDigits[yUsed0] = 1; + A._BigIntImpl__absSub(nyDigits, yUsed0 + 1, yDigits0, yUsed0, nyDigits); + i = resultUsed0 - 1; + for (t1 = resultDigits.length; j > 0;) { + estimatedQuotientDigit = A._BigIntImpl__estimateQuotientDigit(topDigitDivisor, resultDigits, i); + --j; + A._BigIntImpl__mulAdd(estimatedQuotientDigit, nyDigits, 0, resultDigits, j, yUsed0); + if (!(i >= 0 && i < t1)) + return A.ioore(resultDigits, i); + if (resultDigits[i] < estimatedQuotientDigit) { + tmpUsed = A._BigIntImpl__dlShiftDigits(nyDigits, yUsed0, j, tmpDigits); + A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits); + while (--estimatedQuotientDigit, resultDigits[i] < estimatedQuotientDigit) + A._BigIntImpl__absSub(resultDigits, resultUsed1, tmpDigits, tmpUsed, resultDigits); + } + --i; + } + $._BigIntImpl__lastDividendDigits = _this._digits; + $._BigIntImpl__lastDividendUsed = resultUsed; + $._BigIntImpl__lastDivisorDigits = yDigits; + $._BigIntImpl__lastDivisorUsed = yUsed; + $._BigIntImpl____lastQuoRemDigits._value = resultDigits; + $._BigIntImpl____lastQuoRemUsed._value = resultUsed1; + $._BigIntImpl____lastRemUsed._value = yUsed0; + $._BigIntImpl____lastRem_nsh._value = nsh; + }, + get$hashCode(_) { + var hash, t2, t3, i, + combine = new A._BigIntImpl_hashCode_combine(), + t1 = this._used; + if (t1 === 0) + return 6707; + hash = this._isNegative ? 83585 : 429689; + for (t2 = this._digits, t3 = t2.length, i = 0; i < t1; ++i) { + if (!(i < t3)) + return A.ioore(t2, i); + hash = combine.call$2(hash, t2[i]); + } + return new A._BigIntImpl_hashCode_finish().call$1(hash); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A._BigIntImpl && this.compareTo$1(0, other) === 0; + }, + toString$0(_) { + var decimalDigitChunks, rest, t2, digits4, t3, _this = this, + t1 = _this._used; + if (t1 === 0) + return "0"; + if (t1 === 1) { + if (_this._isNegative) { + t1 = _this._digits; + if (0 >= t1.length) + return A.ioore(t1, 0); + return B.JSInt_methods.toString$0(-t1[0]); + } + t1 = _this._digits; + if (0 >= t1.length) + return A.ioore(t1, 0); + return B.JSInt_methods.toString$0(t1[0]); + } + decimalDigitChunks = A._setArrayType([], type$.JSArray_String); + t1 = _this._isNegative; + rest = t1 ? _this.$negate(0) : _this; + while (rest._used > 1) { + t2 = $.$get$_BigIntImpl__bigInt10000(); + if (t2._used === 0) + A.throwExpression(B.C_IntegerDivisionByZeroException); + digits4 = rest._rem$1(t2).toString$0(0); + B.JSArray_methods.add$1(decimalDigitChunks, digits4); + t3 = digits4.length; + if (t3 === 1) + B.JSArray_methods.add$1(decimalDigitChunks, "000"); + if (t3 === 2) + B.JSArray_methods.add$1(decimalDigitChunks, "00"); + if (t3 === 3) + B.JSArray_methods.add$1(decimalDigitChunks, "0"); + rest = rest._div$1(t2); + } + t2 = rest._digits; + if (0 >= t2.length) + return A.ioore(t2, 0); + B.JSArray_methods.add$1(decimalDigitChunks, B.JSInt_methods.toString$0(t2[0])); + if (t1) + B.JSArray_methods.add$1(decimalDigitChunks, "-"); + return new A.ReversedListIterable(decimalDigitChunks, type$.ReversedListIterable_String).join$0(0); + }, + $isBigInt: 1, + $isComparable: 1 + }; + A._BigIntImpl_hashCode_combine.prototype = { + call$2(hash, value) { + hash = hash + value & 536870911; + hash = hash + ((hash & 524287) << 10) & 536870911; + return hash ^ hash >>> 6; + }, + $signature: 4 + }; + A._BigIntImpl_hashCode_finish.prototype = { + call$1(hash) { + hash = hash + ((hash & 67108863) << 3) & 536870911; + hash ^= hash >>> 11; + return hash + ((hash & 16383) << 15) & 536870911; + }, + $signature: 13 + }; + A._FinalizationRegistryWrapper.prototype = { + detach$1(detachToken) { + var t1 = this._registry; + if (t1 != null) + t1.unregister(detachToken); + } + }; + A.DateTime.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.DateTime && this._core$_value === other._core$_value && this._microsecond === other._microsecond && this.isUtc === other.isUtc; + }, + get$hashCode(_) { + return A.Object_hash(this._core$_value, this._microsecond, B.C_SentinelValue, B.C_SentinelValue); + }, + compareTo$1(_, other) { + var r; + type$.DateTime._as(other); + r = B.JSInt_methods.compareTo$1(this._core$_value, other._core$_value); + if (r !== 0) + return r; + return B.JSInt_methods.compareTo$1(this._microsecond, other._microsecond); + }, + toString$0(_) { + var _this = this, + y = A.DateTime__fourDigits(A.Primitives_getYear(_this)), + m = A.DateTime__twoDigits(A.Primitives_getMonth(_this)), + d = A.DateTime__twoDigits(A.Primitives_getDay(_this)), + h = A.DateTime__twoDigits(A.Primitives_getHours(_this)), + min = A.DateTime__twoDigits(A.Primitives_getMinutes(_this)), + sec = A.DateTime__twoDigits(A.Primitives_getSeconds(_this)), + ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)), + t1 = _this._microsecond, + us = t1 === 0 ? "" : A.DateTime__threeDigits(t1); + t1 = y + "-" + m; + if (_this.isUtc) + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + us + "Z"; + else + return t1 + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + us; + }, + $isComparable: 1 + }; + A.Duration.prototype = { + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.Duration && this._duration === other._duration; + }, + get$hashCode(_) { + return B.JSInt_methods.get$hashCode(this._duration); + }, + compareTo$1(_, other) { + return B.JSInt_methods.compareTo$1(this._duration, type$.Duration._as(other)._duration); + }, + toString$0(_) { + var sign, minutes, minutesPadding, seconds, secondsPadding, + microseconds = this._duration, + hours = B.JSInt_methods._tdivFast$1(microseconds, 3600000000), + microseconds0 = microseconds % 3600000000; + if (microseconds < 0) { + hours = 0 - hours; + microseconds = 0 - microseconds0; + sign = "-"; + } else { + microseconds = microseconds0; + sign = ""; + } + minutes = B.JSInt_methods._tdivFast$1(microseconds, 60000000); + microseconds %= 60000000; + minutesPadding = minutes < 10 ? "0" : ""; + seconds = B.JSInt_methods._tdivFast$1(microseconds, 1000000); + secondsPadding = seconds < 10 ? "0" : ""; + return sign + hours + ":" + minutesPadding + minutes + ":" + secondsPadding + seconds + "." + B.JSString_methods.padLeft$2(B.JSInt_methods.toString$0(microseconds % 1000000), 6, "0"); + }, + $isComparable: 1 + }; + A._Enum.prototype = { + toString$0(_) { + return this._enumToString$0(); + }, + $isEnum: 1 + }; + A.Error.prototype = { + get$stackTrace() { + return A.Primitives_extractStackTrace(this); + } + }; + A.AssertionError.prototype = { + toString$0(_) { + var t1 = this.message; + if (t1 != null) + return "Assertion failed: " + A.Error_safeToString(t1); + return "Assertion failed"; + } + }; + A.TypeError.prototype = {}; + A.ArgumentError.prototype = { + get$_errorName() { + return "Invalid argument" + (!this._hasValue ? "(s)" : ""); + }, + get$_errorExplanation() { + return ""; + }, + toString$0(_) { + var _this = this, + $name = _this.name, + nameString = $name == null ? "" : " (" + $name + ")", + message = _this.message, + messageString = message == null ? "" : ": " + A.S(message), + prefix = _this.get$_errorName() + nameString + messageString; + if (!_this._hasValue) + return prefix; + return prefix + _this.get$_errorExplanation() + ": " + A.Error_safeToString(_this.get$invalidValue()); + }, + get$invalidValue() { + return this.invalidValue; + } + }; + A.RangeError.prototype = { + get$invalidValue() { + return A._asNumQ(this.invalidValue); + }, + get$_errorName() { + return "RangeError"; + }, + get$_errorExplanation() { + var start, end, explanation; + A.assertHelper(this._hasValue); + start = this.start; + end = this.end; + if (start == null) + explanation = end != null ? ": Not less than or equal to " + A.S(end) : ""; + else if (end == null) + explanation = ": Not greater than or equal to " + A.S(start); + else if (end > start) + explanation = ": Not in inclusive range " + A.S(start) + ".." + A.S(end); + else + explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + A.S(start); + return explanation; + } + }; + A.IndexError.prototype = { + get$invalidValue() { + return A._asInt(this.invalidValue); + }, + get$_errorName() { + return "RangeError"; + }, + get$_errorExplanation() { + A.assertHelper(this._hasValue); + if (A._asInt(this.invalidValue) < 0) + return ": index must not be negative"; + var t1 = this.length; + if (t1 === 0) + return ": no indices are valid"; + return ": index should be less than " + t1; + }, + get$length(receiver) { + return this.length; + } + }; + A.UnsupportedError.prototype = { + toString$0(_) { + return "Unsupported operation: " + this.message; + } + }; + A.UnimplementedError.prototype = { + toString$0(_) { + return "UnimplementedError: " + this.message; + } + }; + A.StateError.prototype = { + toString$0(_) { + return "Bad state: " + this.message; + } + }; + A.ConcurrentModificationError.prototype = { + toString$0(_) { + var t1 = this.modifiedObject; + if (t1 == null) + return "Concurrent modification during iteration."; + return "Concurrent modification during iteration: " + A.Error_safeToString(t1) + "."; + } + }; + A.OutOfMemoryError.prototype = { + toString$0(_) { + return "Out of Memory"; + }, + get$stackTrace() { + return null; + }, + $isError: 1 + }; + A.StackOverflowError.prototype = { + toString$0(_) { + return "Stack Overflow"; + }, + get$stackTrace() { + return null; + }, + $isError: 1 + }; + A._Exception.prototype = { + toString$0(_) { + return "Exception: " + this.message; + }, + $isException: 1 + }; + A.FormatException.prototype = { + toString$0(_) { + var t1, lineEnd, lineNum, lineStart, previousCharWasCR, i, char, prefix, postfix, end, start, + message = this.message, + report = "" !== message ? "FormatException: " + message : "FormatException", + offset = this.offset, + source = this.source; + if (typeof source == "string") { + if (offset != null) + t1 = offset < 0 || offset > source.length; + else + t1 = false; + if (t1) + offset = null; + if (offset == null) { + if (source.length > 78) + source = B.JSString_methods.substring$2(source, 0, 75) + "..."; + return report + "\n" + source; + } + for (lineEnd = source.length, lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) { + if (!(i < lineEnd)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 10) { + if (lineStart !== i || !previousCharWasCR) + ++lineNum; + lineStart = i + 1; + previousCharWasCR = false; + } else if (char === 13) { + ++lineNum; + lineStart = i + 1; + previousCharWasCR = true; + } + } + report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1) + ")\n"); + for (i = offset; i < lineEnd; ++i) { + if (!(i >= 0)) + return A.ioore(source, i); + char = source.charCodeAt(i); + if (char === 10 || char === 13) { + lineEnd = i; + break; + } + } + prefix = ""; + if (lineEnd - lineStart > 78) { + postfix = "..."; + if (offset - lineStart < 75) { + end = lineStart + 75; + start = lineStart; + } else { + if (lineEnd - offset < 75) { + start = lineEnd - 75; + end = lineEnd; + postfix = ""; + } else { + start = offset - 36; + end = offset + 36; + } + prefix = "..."; + } + } else { + end = lineEnd; + start = lineStart; + postfix = ""; + } + return report + prefix + B.JSString_methods.substring$2(source, start, end) + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; + } else + return offset != null ? report + (" (at offset " + A.S(offset) + ")") : report; + }, + $isException: 1 + }; + A.IntegerDivisionByZeroException.prototype = { + get$stackTrace() { + return null; + }, + toString$0(_) { + return "IntegerDivisionByZeroException"; + }, + $isError: 1, + $isException: 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); + }, + toList$1$growable(_, growable) { + var t1 = A._instanceType(this)._eval$1("Iterable.E"); + if (growable) + t1 = A.List_List$_of(this, t1); + else { + t1 = A.List_List$_of(this, t1); + t1.$flags = 1; + t1 = t1; + } + return t1; + }, + toList$0(_) { + return this.toList$1$growable(0, true); + }, + get$length(_) { + var it, count; + A.assertHelper(!type$.EfficientLengthIterable_dynamic._is(this)); + it = this.get$iterator(this); + for (count = 0; it.moveNext$0();) + ++count; + return count; + }, + get$isEmpty(_) { + return !this.get$iterator(this).moveNext$0(); + }, + 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")); + }, + skipWhile$1(_, test) { + var t1 = A._instanceType(this); + return new A.SkipWhileIterable(this, t1._eval$1("bool(Iterable.E)")._as(test), t1._eval$1("SkipWhileIterable")); + }, + get$first(_) { + var it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + return it.get$current(); + }, + get$last(_) { + var result, + it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + do + result = it.get$current(); + while (it.moveNext$0()); + return result; + }, + elementAt$1(_, index) { + var iterator, skipCount; + A.RangeError_checkNotNegative(index, "index"); + iterator = this.get$iterator(this); + for (skipCount = index; iterator.moveNext$0();) { + if (skipCount === 0) + return iterator.get$current(); + --skipCount; + } + throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, null, "index")); + }, + toString$0(_) { + return A.Iterable_iterableToShortString(this, "(", ")"); + } + }; + A.MapEntry.prototype = { + toString$0(_) { + return "MapEntry(" + A.S(this.key) + ": " + A.S(this.value) + ")"; + } + }; + A.Null.prototype = { + get$hashCode(_) { + return A.Object.prototype.get$hashCode.call(this, 0); + }, + toString$0(_) { + return "null"; + } + }; + A.Object.prototype = {$isObject: 1, + $eq(_, other) { + return this === other; + }, + get$hashCode(_) { + return A.Primitives_objectHashCode(this); + }, + toString$0(_) { + return "Instance of '" + A.Primitives_objectTypeName(this) + "'"; + }, + get$runtimeType(_) { + return A.getRuntimeTypeOfDartObject(this); + }, + toString() { + return this.toString$0(this); + } + }; + A._StringStackTrace.prototype = { + toString$0(_) { + return this._stackTrace; + }, + $isStackTrace: 1 + }; + A.StringBuffer.prototype = { + get$length(_) { + return this._contents.length; + }, + toString$0(_) { + var t1 = this._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + $isStringSink: 1 + }; + A.Uri_parseIPv6Address_error.prototype = { + call$2(msg, position) { + throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position)); + }, + $signature: 72 + }; + A._Uri.prototype = { + get$_text() { + var t1, t2, t3, t4, _this = this, + value = _this.___Uri__text_FI; + if (value === $) { + t1 = _this.scheme; + t2 = t1.length !== 0 ? t1 + ":" : ""; + t3 = _this._host; + t4 = t3 == null; + if (!t4 || t1 === "file") { + t1 = t2 + "//"; + t2 = _this._userInfo; + if (t2.length !== 0) + t1 = t1 + t2 + "@"; + if (!t4) + t1 += t3; + t2 = _this._port; + if (t2 != null) + t1 = t1 + ":" + A.S(t2); + } else + t1 = t2; + t1 += _this.path; + t2 = _this._query; + if (t2 != null) + t1 = t1 + "?" + t2; + t2 = _this._fragment; + if (t2 != null) + t1 = t1 + "#" + t2; + value = _this.___Uri__text_FI = t1.charCodeAt(0) == 0 ? t1 : t1; + } + return value; + }, + get$pathSegments() { + var pathToSplit, t1, result, _this = this, + value = _this.___Uri_pathSegments_FI; + if (value === $) { + pathToSplit = _this.path; + t1 = pathToSplit.length; + if (t1 !== 0) { + if (0 >= t1) + return A.ioore(pathToSplit, 0); + t1 = pathToSplit.charCodeAt(0) === 47; + } else + t1 = false; + if (t1) + pathToSplit = B.JSString_methods.substring$1(pathToSplit, 1); + result = pathToSplit.length === 0 ? B.List_empty0 : A.List_List$unmodifiable(new A.MappedListIterable(A._setArrayType(pathToSplit.split("/"), type$.JSArray_String), type$.dynamic_Function_String._as(A.core_Uri_decodeComponent$closure()), type$.MappedListIterable_String_dynamic), type$.String); + _this.___Uri_pathSegments_FI !== $ && A.throwLateFieldADI("pathSegments"); + value = _this.___Uri_pathSegments_FI = result; + } + return value; + }, + get$hashCode(_) { + var result, _this = this, + value = _this.___Uri_hashCode_FI; + if (value === $) { + result = B.JSString_methods.get$hashCode(_this.get$_text()); + _this.___Uri_hashCode_FI !== $ && A.throwLateFieldADI("hashCode"); + _this.___Uri_hashCode_FI = result; + value = result; + } + return value; + }, + get$userInfo() { + return this._userInfo; + }, + get$host() { + var host = this._host; + if (host == null) + return ""; + if (B.JSString_methods.startsWith$1(host, "[") && !B.JSString_methods.startsWith$2(host, "v", 1)) + return B.JSString_methods.substring$2(host, 1, host.length - 1); + return host; + }, + get$port() { + var t1 = this._port; + return t1 == null ? A._Uri__defaultPort(this.scheme) : t1; + }, + get$query() { + var t1 = this._query; + return t1 == null ? "" : t1; + }, + get$fragment() { + var t1 = this._fragment; + return t1 == null ? "" : t1; + }, + isScheme$1(scheme) { + var thisScheme = this.scheme; + if (scheme.length !== thisScheme.length) + return false; + return A._caseInsensitiveCompareStart(scheme, thisScheme, 0) >= 0; + }, + replace$1$scheme(scheme) { + var isFile, userInfo, port, host, currentPath, t1, path, _this = this; + scheme = A._Uri__makeScheme(scheme, 0, scheme.length); + isFile = scheme === "file"; + userInfo = _this._userInfo; + port = _this._port; + if (scheme !== _this.scheme) + port = A._Uri__makePort(port, scheme); + host = _this._host; + if (!(host != null)) + host = userInfo.length !== 0 || port != null || isFile ? "" : null; + currentPath = _this.path; + if (!isFile) + t1 = host != null && currentPath.length !== 0; + else + t1 = true; + if (t1 && !B.JSString_methods.startsWith$1(currentPath, "/")) + currentPath = "/" + currentPath; + path = currentPath; + return A._Uri$_internal(scheme, userInfo, host, port, path, _this._query, _this._fragment); + }, + get$isAbsolute() { + if (this.scheme !== "") { + var t1 = this._fragment; + t1 = (t1 == null ? "" : t1) === ""; + } else + t1 = false; + return t1; + }, + _mergePaths$2(base, reference) { + var backCount, refStart, baseEnd, t1, newEnd, delta, t2, t3, t4; + for (backCount = 0, refStart = 0; B.JSString_methods.startsWith$2(reference, "../", refStart);) { + refStart += 3; + ++backCount; + } + baseEnd = B.JSString_methods.lastIndexOf$1(base, "/"); + t1 = base.length; + for (;;) { + if (!(baseEnd > 0 && backCount > 0)) + break; + newEnd = B.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1); + if (newEnd < 0) + break; + delta = baseEnd - newEnd; + t2 = delta !== 2; + t3 = false; + if (!t2 || delta === 3) { + t4 = newEnd + 1; + if (!(t4 < t1)) + return A.ioore(base, t4); + if (base.charCodeAt(t4) === 46) + if (t2) { + t2 = newEnd + 2; + if (!(t2 < t1)) + return A.ioore(base, t2); + t2 = base.charCodeAt(t2) === 46; + } else + t2 = true; + else + t2 = t3; + } else + t2 = t3; + if (t2) + break; + --backCount; + baseEnd = newEnd; + } + return B.JSString_methods.replaceRange$3(base, baseEnd + 1, null, B.JSString_methods.substring$1(reference, refStart - 3 * backCount)); + }, + resolve$1(reference) { + return this.resolveUri$1(A.Uri_parse(reference)); + }, + resolveUri$1(reference) { + var targetScheme, t1, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, packageNameEnd, packageName, mergedPath, fragment, _this = this; + if (reference.get$scheme().length !== 0) + return reference; + else { + targetScheme = _this.scheme; + if (reference.get$hasAuthority()) { + t1 = reference.replace$1$scheme(targetScheme); + return t1; + } else { + targetUserInfo = _this._userInfo; + targetHost = _this._host; + targetPort = _this._port; + targetPath = _this.path; + if (reference.get$hasEmptyPath()) + targetQuery = reference.get$hasQuery() ? reference.get$query() : _this._query; + else { + packageNameEnd = A._Uri__packageNameEnd(_this, targetPath); + if (packageNameEnd > 0) { + A.assertHelper(targetScheme === "package"); + A.assertHelper(targetHost == null); + A.assertHelper(targetPath.length !== 0); + packageName = B.JSString_methods.substring$2(targetPath, 0, packageNameEnd); + targetPath = reference.get$hasAbsolutePath() ? packageName + A._Uri__removeDotSegments(reference.get$path()) : packageName + A._Uri__removeDotSegments(_this._mergePaths$2(B.JSString_methods.substring$1(targetPath, packageName.length), reference.get$path())); + } else if (reference.get$hasAbsolutePath()) + targetPath = A._Uri__removeDotSegments(reference.get$path()); + else if (targetPath.length === 0) + if (targetHost == null) + targetPath = targetScheme.length === 0 ? reference.get$path() : A._Uri__removeDotSegments(reference.get$path()); + else + targetPath = A._Uri__removeDotSegments("/" + reference.get$path()); + else { + mergedPath = _this._mergePaths$2(targetPath, reference.get$path()); + t1 = targetScheme.length === 0; + if (!t1 || targetHost != null || B.JSString_methods.startsWith$1(targetPath, "/")) + targetPath = A._Uri__removeDotSegments(mergedPath); + else + targetPath = A._Uri__normalizeRelativePath(mergedPath, !t1 || targetHost != null); + } + targetQuery = reference.get$hasQuery() ? reference.get$query() : null; + } + } + } + fragment = reference.get$hasFragment() ? reference.get$fragment() : null; + return A._Uri$_internal(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, fragment); + }, + get$hasAuthority() { + return this._host != null; + }, + get$hasQuery() { + return this._query != null; + }, + get$hasFragment() { + return this._fragment != null; + }, + get$hasEmptyPath() { + return this.path.length === 0; + }, + get$hasAbsolutePath() { + return B.JSString_methods.startsWith$1(this.path, "/"); + }, + toFilePath$0() { + var pathSegments, _this = this, + t1 = _this.scheme; + if (t1 !== "" && t1 !== "file") + throw A.wrapException(A.UnsupportedError$("Cannot extract a file path from a " + t1 + " URI")); + t1 = _this._query; + if ((t1 == null ? "" : t1) !== "") + throw A.wrapException(A.UnsupportedError$(string$.Cannotefq)); + t1 = _this._fragment; + if ((t1 == null ? "" : t1) !== "") + throw A.wrapException(A.UnsupportedError$(string$.Cannoteff)); + if (_this._host != null && _this.get$host() !== "") + A.throwExpression(A.UnsupportedError$(string$.Cannoten)); + pathSegments = _this.get$pathSegments(); + A._Uri__checkNonWindowsPathReservedCharacters(pathSegments, false); + t1 = A.StringBuffer__writeAll(B.JSString_methods.startsWith$1(_this.path, "/") ? "/" : "", pathSegments, "/"); + t1 = t1.charCodeAt(0) == 0 ? t1 : t1; + return t1; + }, + toString$0(_) { + return this.get$_text(); + }, + $eq(_, other) { + var t1, t2, t3, _this = this; + if (other == null) + return false; + if (_this === other) + return true; + t1 = false; + if (type$.Uri._is(other)) + if (_this.scheme === other.get$scheme()) + if (_this._host != null === other.get$hasAuthority()) + if (_this._userInfo === other.get$userInfo()) + if (_this.get$host() === other.get$host()) + if (_this.get$port() === other.get$port()) + if (_this.path === other.get$path()) { + t2 = _this._query; + t3 = t2 == null; + if (!t3 === other.get$hasQuery()) { + if (t3) + t2 = ""; + if (t2 === other.get$query()) { + t2 = _this._fragment; + t3 = t2 == null; + if (!t3 === other.get$hasFragment()) { + t1 = t3 ? "" : t2; + t1 = t1 === other.get$fragment(); + } + } + } + } + return t1; + }, + $isUri: 1, + get$scheme() { + return this.scheme; + }, + get$path() { + return this.path; + } + }; + A._Uri__makePath_closure.prototype = { + call$1(s) { + return A._Uri__uriEncode(64, A._asString(s), B.C_Utf8Codec, false); + }, + $signature: 8 + }; + A.UriData.prototype = { + get$uri() { + var t2, queryIndex, end, query, _this = this, _null = null, + t1 = _this._uriCache; + if (t1 == null) { + t1 = _this._separatorIndices; + if (0 >= t1.length) + return A.ioore(t1, 0); + t2 = _this._text; + t1 = t1[0] + 1; + queryIndex = B.JSString_methods.indexOf$2(t2, "?", t1); + end = t2.length; + if (queryIndex >= 0) { + query = A._Uri__normalizeOrSubstring(t2, queryIndex + 1, end, 256, false, false); + end = queryIndex; + } else + query = _null; + t1 = _this._uriCache = new A._DataUri("data", "", _null, _null, A._Uri__normalizeOrSubstring(t2, t1, end, 128, false, false), query, _null); + } + return t1; + }, + toString$0(_) { + var t2, + t1 = this._separatorIndices; + if (0 >= t1.length) + return A.ioore(t1, 0); + t2 = this._text; + return t1[0] === -1 ? "data:" + t2 : t2; + } + }; + A._SimpleUri.prototype = { + get$hasAuthority() { + return this._hostStart > 0; + }, + get$hasPort() { + return this._hostStart > 0 && this._portStart + 1 < this._pathStart; + }, + get$hasQuery() { + return this._queryStart < this._fragmentStart; + }, + get$hasFragment() { + return this._fragmentStart < this._uri.length; + }, + get$hasAbsolutePath() { + return B.JSString_methods.startsWith$2(this._uri, "/", this._pathStart); + }, + get$hasEmptyPath() { + return this._pathStart === this._queryStart; + }, + get$isAbsolute() { + return this._schemeEnd > 0 && this._fragmentStart >= this._uri.length; + }, + get$scheme() { + var t1 = this._schemeCache; + return t1 == null ? this._schemeCache = this._computeScheme$0() : t1; + }, + _computeScheme$0() { + var t2, _this = this, + t1 = _this._schemeEnd; + if (t1 <= 0) + return ""; + t2 = t1 === 4; + if (t2 && B.JSString_methods.startsWith$1(_this._uri, "http")) + return "http"; + if (t1 === 5 && B.JSString_methods.startsWith$1(_this._uri, "https")) + return "https"; + if (t2 && B.JSString_methods.startsWith$1(_this._uri, "file")) + return "file"; + if (t1 === 7 && B.JSString_methods.startsWith$1(_this._uri, "package")) + return "package"; + return B.JSString_methods.substring$2(_this._uri, 0, t1); + }, + get$userInfo() { + var t1 = this._hostStart, + t2 = this._schemeEnd + 3; + return t1 > t2 ? B.JSString_methods.substring$2(this._uri, t2, t1 - 1) : ""; + }, + get$host() { + var t1 = this._hostStart; + return t1 > 0 ? B.JSString_methods.substring$2(this._uri, t1, this._portStart) : ""; + }, + get$port() { + var t1, _this = this; + if (_this.get$hasPort()) + return A.int_parse(B.JSString_methods.substring$2(_this._uri, _this._portStart + 1, _this._pathStart), null); + t1 = _this._schemeEnd; + if (t1 === 4 && B.JSString_methods.startsWith$1(_this._uri, "http")) + return 80; + if (t1 === 5 && B.JSString_methods.startsWith$1(_this._uri, "https")) + return 443; + return 0; + }, + get$path() { + return B.JSString_methods.substring$2(this._uri, this._pathStart, this._queryStart); + }, + get$query() { + var t1 = this._queryStart, + t2 = this._fragmentStart; + return t1 < t2 ? B.JSString_methods.substring$2(this._uri, t1 + 1, t2) : ""; + }, + get$fragment() { + var t1 = this._fragmentStart, + t2 = this._uri; + return t1 < t2.length ? B.JSString_methods.substring$1(t2, t1 + 1) : ""; + }, + _isPort$1(port) { + var portDigitStart = this._portStart + 1; + return portDigitStart + port.length === this._pathStart && B.JSString_methods.startsWith$2(this._uri, port, portDigitStart); + }, + removeFragment$0() { + var _this = this, + t1 = _this._fragmentStart, + t2 = _this._uri; + if (t1 >= t2.length) + return _this; + return new A._SimpleUri(B.JSString_methods.substring$2(t2, 0, t1), _this._schemeEnd, _this._hostStart, _this._portStart, _this._pathStart, _this._queryStart, t1, _this._schemeCache); + }, + replace$1$scheme(scheme) { + var schemeChanged, isFile, t1, userInfo, port, host, t2, path, t3, query, fragment, _this = this, _null = null; + scheme = A._Uri__makeScheme(scheme, 0, scheme.length); + schemeChanged = !(_this._schemeEnd === scheme.length && B.JSString_methods.startsWith$1(_this._uri, scheme)); + 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() : _null; + if (schemeChanged) + port = A._Uri__makePort(port, scheme); + t1 = _this._hostStart; + if (t1 > 0) + host = B.JSString_methods.substring$2(_this._uri, t1, _this._portStart); + else + host = userInfo.length !== 0 || port != null || isFile ? "" : _null; + t1 = _this._uri; + t2 = _this._queryStart; + path = B.JSString_methods.substring$2(t1, _this._pathStart, t2); + if (!isFile) + t3 = host != null && path.length !== 0; + else + t3 = true; + if (t3 && !B.JSString_methods.startsWith$1(path, "/")) + path = "/" + path; + t3 = _this._fragmentStart; + query = t2 < t3 ? B.JSString_methods.substring$2(t1, t2 + 1, t3) : _null; + t2 = _this._fragmentStart; + fragment = t2 < t1.length ? B.JSString_methods.substring$1(t1, t2 + 1) : _null; + return A._Uri$_internal(scheme, userInfo, host, port, path, query, fragment); + }, + resolve$1(reference) { + return this.resolveUri$1(A.Uri_parse(reference)); + }, + resolveUri$1(reference) { + if (reference instanceof A._SimpleUri) + return this._simpleMerge$2(this, reference); + return this._toNonSimple$0().resolveUri$1(reference); + }, + _simpleMerge$2(base, ref) { + var t2, t3, t4, isSimple, delta, refStart, basePathStart, packageNameEnd, basePathStart0, baseStart, baseEnd, baseUri, baseStart0, backCount, refStart0, insert, + t1 = ref._schemeEnd; + if (t1 > 0) + return ref; + t2 = ref._hostStart; + if (t2 > 0) { + t3 = base._schemeEnd; + if (t3 <= 0) + return ref; + t4 = t3 === 4; + if (t4 && B.JSString_methods.startsWith$1(base._uri, "file")) + isSimple = ref._pathStart !== ref._queryStart; + else if (t4 && B.JSString_methods.startsWith$1(base._uri, "http")) + isSimple = !ref._isPort$1("80"); + else + isSimple = !(t3 === 5 && B.JSString_methods.startsWith$1(base._uri, "https")) || !ref._isPort$1("443"); + if (isSimple) { + delta = t3 + 1; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, delta) + B.JSString_methods.substring$1(ref._uri, t1 + 1), t3, t2 + delta, ref._portStart + delta, ref._pathStart + delta, ref._queryStart + delta, ref._fragmentStart + delta, base._schemeCache); + } else + return this._toNonSimple$0().resolveUri$1(ref); + } + refStart = ref._pathStart; + t1 = ref._queryStart; + if (refStart === t1) { + t2 = ref._fragmentStart; + if (t1 < t2) { + t3 = base._queryStart; + delta = t3 - t1; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, t3) + B.JSString_methods.substring$1(ref._uri, t1), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, t1 + delta, t2 + delta, base._schemeCache); + } + t1 = ref._uri; + if (t2 < t1.length) { + t3 = base._fragmentStart; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, t3) + B.JSString_methods.substring$1(t1, t2), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, base._queryStart, t2 + (t3 - t2), base._schemeCache); + } + return base.removeFragment$0(); + } + t2 = ref._uri; + if (B.JSString_methods.startsWith$2(t2, "/", refStart)) { + basePathStart = base._pathStart; + packageNameEnd = A._SimpleUri__packageNameEnd(this); + basePathStart0 = packageNameEnd > 0 ? packageNameEnd : basePathStart; + delta = basePathStart0 - refStart; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, basePathStart0) + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, basePathStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache); + } + baseStart = base._pathStart; + baseEnd = base._queryStart; + if (baseStart === baseEnd && base._hostStart > 0) { + while (B.JSString_methods.startsWith$2(t2, "../", refStart)) + refStart += 3; + delta = baseStart - refStart + 1; + return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, baseStart) + "/" + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache); + } + baseUri = base._uri; + packageNameEnd = A._SimpleUri__packageNameEnd(this); + if (packageNameEnd >= 0) + baseStart0 = packageNameEnd; + else + for (baseStart0 = baseStart; B.JSString_methods.startsWith$2(baseUri, "../", baseStart0);) + baseStart0 += 3; + backCount = 0; + for (;;) { + refStart0 = refStart + 3; + if (!(refStart0 <= t1 && B.JSString_methods.startsWith$2(t2, "../", refStart))) + break; + ++backCount; + refStart = refStart0; + } + for (t3 = baseUri.length, insert = ""; baseEnd > baseStart0;) { + --baseEnd; + if (!(baseEnd >= 0 && baseEnd < t3)) + return A.ioore(baseUri, baseEnd); + if (baseUri.charCodeAt(baseEnd) === 47) { + if (backCount === 0) { + insert = "/"; + break; + } + --backCount; + insert = "/"; + } + } + if (baseEnd === baseStart0 && base._schemeEnd <= 0 && !B.JSString_methods.startsWith$2(baseUri, "/", baseStart)) { + refStart -= backCount * 3; + insert = ""; + } + delta = baseEnd - refStart + insert.length; + return new A._SimpleUri(B.JSString_methods.substring$2(baseUri, 0, baseEnd) + insert + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache); + }, + toFilePath$0() { + var t2, _this = this, + t1 = _this._schemeEnd; + if (t1 >= 0) { + t2 = !(t1 === 4 && B.JSString_methods.startsWith$1(_this._uri, "file")); + t1 = t2; + } else + t1 = false; + if (t1) + throw A.wrapException(A.UnsupportedError$("Cannot extract a file path from a " + _this.get$scheme() + " URI")); + t1 = _this._queryStart; + t2 = _this._uri; + if (t1 < t2.length) { + if (t1 < _this._fragmentStart) + throw A.wrapException(A.UnsupportedError$(string$.Cannotefq)); + throw A.wrapException(A.UnsupportedError$(string$.Cannoteff)); + } + if (_this._hostStart < _this._portStart) + A.throwExpression(A.UnsupportedError$(string$.Cannoten)); + t1 = B.JSString_methods.substring$2(t2, _this._pathStart, t1); + return t1; + }, + get$hashCode(_) { + var t1 = this._hashCodeCache; + return t1 == null ? this._hashCodeCache = B.JSString_methods.get$hashCode(this._uri) : t1; + }, + $eq(_, other) { + if (other == null) + return false; + if (this === other) + return true; + return type$.Uri._is(other) && this._uri === other.toString$0(0); + }, + _toNonSimple$0() { + var _this = this, _null = null, + t1 = _this.get$scheme(), + t2 = _this.get$userInfo(), + t3 = _this._hostStart > 0 ? _this.get$host() : _null, + t4 = _this.get$hasPort() ? _this.get$port() : _null, + t5 = _this._uri, + t6 = _this._queryStart, + t7 = B.JSString_methods.substring$2(t5, _this._pathStart, t6), + t8 = _this._fragmentStart; + t6 = t6 < t8 ? _this.get$query() : _null; + return A._Uri$_internal(t1, t2, t3, t4, t7, t6, t8 < t5.length ? _this.get$fragment() : _null); + }, + toString$0(_) { + return this._uri; + }, + $isUri: 1 + }; + A._DataUri.prototype = {}; + A.Expando.prototype = { + $index(_, object) { + A.Expando__badExpandoKey(object); + return this._jsWeakMap.get(object); + }, + toString$0(_) { + return "Expando:null"; + } + }; + A.NullRejectionException.prototype = { + toString$0(_) { + return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`."; + }, + $isException: 1 + }; + A.jsify__convert.prototype = { + call$1(o) { + var t1, convertedMap, key, convertedList; + if (A._noJsifyRequired(o)) + return o; + t1 = this._convertedObjects; + if (t1.containsKey$1(o)) + return t1.$index(0, o); + if (type$.Map_dynamic_dynamic._is(o)) { + convertedMap = {}; + t1.$indexSet(0, o, convertedMap); + for (t1 = J.get$iterator$ax(o.get$keys()); t1.moveNext$0();) { + key = t1.get$current(); + convertedMap[key] = this.call$1(o.$index(0, 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 o; + }, + $signature: 15 + }; + A.promiseToFuture_closure.prototype = { + call$1(r) { + return this.completer.complete$1(this.T._eval$1("0/?")._as(r)); + }, + $signature: 16 + }; + A.promiseToFuture_closure0.prototype = { + call$1(e) { + if (e == null) + return this.completer.completeError$1(new A.NullRejectionException(e === undefined)); + return this.completer.completeError$1(e); + }, + $signature: 16 + }; + 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(o)) + return t1.$index(0, o); + if (o instanceof Date) + return new A.DateTime(A.DateTime__validate(o.getTime(), 0, true), 0, true); + if (o instanceof RegExp) + throw A.wrapException(A.ArgumentError$("structured clone of RegExp", null)); + if (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())); + 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: 15 + }; + A._JSSecureRandom.prototype = { + _JSSecureRandom$0() { + var $crypto = self.crypto; + if ($crypto != null) + if ($crypto.getRandomValues != null) + return; + throw A.wrapException(A.UnsupportedError$("No source of cryptographically secure random numbers available.")); + }, + nextInt$1(max) { + var byteCount, t1, start, randomLimit, t2, t3, random, result, _null = null; + if (max <= 0 || max > 4294967296) + throw A.wrapException(new A.RangeError(_null, _null, false, _null, _null, "max must be in range 0 < max \u2264 2^32, was " + max)); + if (max > 255) + if (max > 65535) + byteCount = max > 16777215 ? 4 : 3; + else + byteCount = 2; + else + byteCount = 1; + t1 = this._math$_buffer; + t1.$flags & 2 && A.throwUnsupportedOperation(t1, 11); + t1.setUint32(0, 0, false); + start = 4 - byteCount; + randomLimit = A._asInt(Math.pow(256, byteCount)); + for (t2 = max - 1, t3 = (max & t2) === 0;;) { + crypto.getRandomValues(J.asUint8List$2$x(B.NativeByteData_methods.get$buffer(t1), start, byteCount)); + random = t1.getUint32(0, false); + if (t3) + return (random & t2) >>> 0; + result = random % max; + if (random - result + max < randomLimit) + return result; + } + }, + $isRandom: 1 + }; + A.DelegatingStreamSink.prototype = { + add$1(_, data) { + this._sink.add$1(0, this.$ti._precomputed1._as(data)); + }, + addError$2(error, stackTrace) { + this._sink.addError$2(error, stackTrace); + }, + close$0() { + return this._sink.close$0(); + }, + $isEventSink: 1, + $isStreamSink: 1 + }; + A.DefaultEquality.prototype = {}; + A.ListEquality.prototype = { + equals$2(list1, list2) { + var $length, t2, i, + t1 = this.$ti._eval$1("List<1>?"); + t1._as(list1); + t1._as(list2); + if (list1 === list2) + return true; + t1 = J.getInterceptor$asx(list1); + $length = t1.get$length(list1); + t2 = J.getInterceptor$asx(list2); + if ($length !== t2.get$length(list2)) + return false; + for (i = 0; i < $length; ++i) + if (!J.$eq$(t1.$index(list1, i), t2.$index(list2, i))) + return false; + return true; + }, + hash$1(list) { + var t1, hash, i; + this.$ti._eval$1("List<1>?")._as(list); + for (t1 = J.getInterceptor$asx(list), hash = 0, i = 0; i < t1.get$length(list); ++i) { + hash = hash + J.get$hashCode$(t1.$index(list, i)) & 2147483647; + hash = hash + (hash << 10 >>> 0) & 2147483647; + hash ^= hash >>> 6; + } + hash = hash + (hash << 3 >>> 0) & 2147483647; + hash ^= hash >>> 11; + return hash + (hash << 15 >>> 0) & 2147483647; + } + }; + A.NonGrowableListMixin.prototype = {}; + A.UnmodifiableMapMixin.prototype = {}; + A.DriftCommunication.prototype = { + DriftCommunication$3$debugLog$serialize(_channel, debugLog, serialize) { + var t1 = this._communication$_channel.__CloseGuaranteeChannel__stream_F; + t1 === $ && A.throwLateFieldNI("_stream"); + t1.listen$2$onDone(this.get$_handleMessage(), new A.DriftCommunication_closure(this)); + }, + newRequestId$0() { + return this._currentRequestId++; + }, + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, t1; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + if ($async$self._startedClosingLocally || ($async$self._closeCompleter.future._state & 30) !== 0) { + // goto return + $async$goto = 1; + break; + } + $async$self._startedClosingLocally = true; + t1 = $async$self._communication$_channel.__CloseGuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + t1.close$0(); + $async$goto = 3; + return A._asyncAwait($async$self._closeCompleter.future, $async$close$0); + case 3: + // returning from await. + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + }, + _handleMessage$1(msg) { + var request, _this = this; + if (_this._serialize) { + msg.toString; + msg = B.C_DriftProtocol.deserialize$1(msg); + } + if (msg instanceof A.SuccessResponse) { + request = _this._pendingRequests.remove$1(0, msg.requestId); + if (request != null) + request.completer.complete$1(msg.response); + } else if (msg instanceof A.ErrorResponse) { + request = _this._pendingRequests.remove$1(0, msg.requestId); + if (request != null) + request.completeWithError$2(new A.DriftRemoteException(msg.error), msg.stackTrace); + } else if (msg instanceof A.Request) + _this._incomingRequests.add$1(0, msg); + else if (msg instanceof A.CancelledResponse) { + request = _this._pendingRequests.remove$1(0, msg.requestId); + if (request != null) + request.completeWithError$1(B.C_CancellationException); + } + }, + _send$1(msg) { + var t1, t2, _this = this; + if (_this._startedClosingLocally || (_this._closeCompleter.future._state & 30) !== 0) + throw A.wrapException(A.StateError$("Tried to send " + msg.toString$0(0) + " over isolate channel, but the connection was closed!")); + t1 = _this._communication$_channel.__CloseGuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + t2 = _this._serialize ? B.C_DriftProtocol.serialize$1(msg) : msg; + t1._sink.add$1(0, t1.$ti._precomputed1._as(t2)); + }, + respondError$3(request, error, trace) { + var t1, _this = this; + type$.nullable_StackTrace._as(trace); + if (_this._startedClosingLocally || (_this._closeCompleter.future._state & 30) !== 0) + return; + t1 = request.id; + if (error instanceof A.CancellationException) + _this._send$1(new A.CancelledResponse(t1)); + else + _this._send$1(new A.ErrorResponse(t1, error, trace)); + }, + setRequestHandler$1(handler) { + var t1 = this._incomingRequests; + new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$1(new A.DriftCommunication_setRequestHandler_closure(this, type$.FutureOr_nullable_ResponsePayload_Function_Request._as(handler))); + } + }; + A.DriftCommunication_closure.prototype = { + call$0() { + var t1, t2, t3; + for (t1 = this.$this, t2 = t1._pendingRequests, t3 = new A.LinkedHashMapValueIterator(t2, t2.__js_helper$_modifications, t2.__js_helper$_first, A._instanceType(t2)._eval$1("LinkedHashMapValueIterator<2>")); t3.moveNext$0();) + t3.__js_helper$_current.completeWithError$1(B.C_ConnectionClosedException); + t2.clear$0(0); + t1._closeCompleter.complete$0(); + }, + $signature: 0 + }; + A.DriftCommunication_setRequestHandler_closure.prototype = { + call$1(request) { + return this.$call$body$DriftCommunication_setRequestHandler_closure(type$.Request._as(request)); + }, + $call$body$DriftCommunication_setRequestHandler_closure(request) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, e, s, t1, t2, exception, response, $async$exception; + var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + response = null; + $async$handler = 4; + t1 = $async$self.handler.call$1(request); + t2 = type$.nullable_ResponsePayload; + $async$goto = 7; + return A._asyncAwait(type$.Future_nullable_ResponsePayload._is(t1) ? t1 : A._Future$value(t2._as(t1), t2), $async$call$1); + case 7: + // returning from await. + response = $async$result; + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + s = A.getTraceFromException($async$exception); + t1 = $async$self.$this.respondError$3(request, e, s); + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + t1 = $async$self.$this; + if (!(t1._startedClosingLocally || (t1._closeCompleter.future._state & 30) !== 0)) { + t2 = type$.nullable_ResponsePayload._as(response); + t1._send$1(new A.SuccessResponse(request.id, t2)); + } + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$call$1, $async$completer); + }, + $signature: 75 + }; + A._PendingRequest.prototype = { + completeWithError$2(error, trace) { + var t1; + if (trace == null) + t1 = this.requestTrace; + else { + t1 = A._setArrayType([], type$.JSArray_Trace); + if (trace instanceof A.Chain) + B.JSArray_methods.addAll$1(t1, trace.traces); + else + t1.push(A.Trace_Trace$from(trace)); + t1.push(A.Trace_Trace$from(this.requestTrace)); + t1 = new A.Chain(A.List_List$unmodifiable(t1, type$.Trace)); + } + this.completer.completeError$2(error, t1); + }, + completeWithError$1(error) { + return this.completeWithError$2(error, null); + } + }; + A.ConnectionClosedException.prototype = { + toString$0(_) { + return "Channel was closed before receiving a response"; + }, + $isException: 1 + }; + A.DriftRemoteException.prototype = { + toString$0(_) { + return J.toString$0$(this.remoteCause); + }, + $isException: 1 + }; + A.DriftProtocol.prototype = { + serialize$1(message) { + var t1, t2; + if (message instanceof A.Request) + return [0, message.id, this.encodePayload$1(message.payload)]; + else if (message instanceof A.ErrorResponse) { + t1 = J.toString$0$(message.error); + t2 = message.stackTrace; + t2 = t2 == null ? null : t2.toString$0(0); + return [2, message.requestId, t1, t2]; + } else if (message instanceof A.SuccessResponse) + return [1, message.requestId, this.encodePayload$1(message.response)]; + else if (message instanceof A.CancelledResponse) + return A._setArrayType([3, message.requestId], type$.JSArray_int); + else + return null; + }, + deserialize$1(message) { + var t1, tag, id, stringTrace; + if (!type$.List_dynamic._is(message)) + throw A.wrapException(B.FormatException_NvI); + t1 = J.getInterceptor$asx(message); + tag = A._asInt(t1.$index(message, 0)); + id = A._asInt(t1.$index(message, 1)); + switch (tag) { + case 0: + return new A.Request(id, type$.nullable_RequestPayload._as(this.decodePayload$1(t1.$index(message, 2)))); + case 2: + stringTrace = A._asStringQ(t1.$index(message, 3)); + t1 = t1.$index(message, 2); + if (t1 == null) + t1 = A._asObject(t1); + return new A.ErrorResponse(id, t1, stringTrace != null ? new A._StringStackTrace(stringTrace) : null); + case 1: + return new A.SuccessResponse(id, type$.nullable_ResponsePayload._as(this.decodePayload$1(t1.$index(message, 2)))); + case 3: + return new A.CancelledResponse(id); + } + throw A.wrapException(B.FormatException_IWx); + }, + encodePayload$1(payload) { + var t1, t2, t3, t4, t5, _i, arg, t6, _i0, update, rows, result, columns, _0_0; + if (payload == null) + return payload; + if (payload instanceof A.NoArgsRequest) + return payload.index; + else if (payload instanceof A.ExecuteQuery) { + t1 = payload.method; + t2 = payload.sql; + t3 = []; + for (t4 = payload.args, t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) + t3.push(this._encodeDbValue$1(t4[_i])); + return [3, t1.index, t2, t3, payload.executorId]; + } else if (payload instanceof A.ExecuteBatchedStatement) { + t1 = payload.stmts; + t2 = [4, t1.statements]; + for (t1 = t1.$arguments, t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + arg = t1[_i]; + t4 = [arg.statementIndex]; + for (t5 = arg.$arguments, t6 = t5.length, _i0 = 0; _i0 < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i0) + t4.push(this._encodeDbValue$1(t5[_i0])); + t2.push(t4); + } + t2.push(payload.executorId); + return t2; + } else if (payload instanceof A.RunNestedExecutorControl) + return A._setArrayType([5, payload.control.index, payload.executorId], type$.JSArray_nullable_int); + else if (payload instanceof A.EnsureOpen) + return A._setArrayType([6, payload.schemaVersion, payload.executorId], type$.JSArray_nullable_int); + else if (payload instanceof A.ServerInfo) + return A._setArrayType([13, payload.dialect._name], type$.JSArray_Object); + else if (payload instanceof A.RunBeforeOpen) { + t1 = payload.details; + return A._setArrayType([7, t1.versionBefore, t1.versionNow, payload.createdExecutor], type$.JSArray_nullable_int); + } else if (payload instanceof A.NotifyTablesUpdated) { + t1 = A._setArrayType([8], type$.JSArray_Object); + for (t2 = payload.updates, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + update = t2[_i]; + t4 = update.kind; + t4 = t4 == null ? null : t4.index; + t1.push([update.table, t4]); + } + return t1; + } else if (payload instanceof A.SelectResult) { + rows = payload.rows; + t1 = J.getInterceptor$asx(rows); + if (t1.get$isEmpty(rows)) + return B.List_11; + else { + result = [11]; + columns = J.toList$0$ax(t1.get$first(rows).get$keys()); + result.push(columns.length); + B.JSArray_methods.addAll$1(result, columns); + result.push(t1.get$length(rows)); + for (t1 = t1.get$iterator(rows); t1.moveNext$0();) + for (t2 = J.get$iterator$ax(t1.get$current().get$values()); t2.moveNext$0();) + result.push(this._encodeDbValue$1(t2.get$current())); + return result; + } + } else if (payload instanceof A.RequestCancellation) + return A._setArrayType([12, payload.originalRequestId], type$.JSArray_int); + else if (payload instanceof A.PrimitiveResponsePayload) { + _0_0 = payload.message; + $label0$0: { + if (A._isBool(_0_0)) { + t1 = _0_0; + break $label0$0; + } + if (A._isInt(_0_0)) { + t1 = A._setArrayType([10, _0_0], type$.JSArray_int); + break $label0$0; + } + t1 = A.throwExpression(A.UnsupportedError$("Unknown primitive response")); + } + return t1; + } + }, + decodePayload$1(encoded) { + var t1, tag, readInt, readNullableInt, method, sql, args, t2, i, list, t3, t4, t5, _1_0, updates, encodedUpdate, _2_0, columnCount, columns, rows, result, t6, rowOffset, t7, c, _null = null, _box_0 = {}; + if (encoded == null) + return _null; + if (A._isBool(encoded)) + return new A.PrimitiveResponsePayload(encoded); + _box_0.fullMessage = null; + if (A._isInt(encoded)) { + t1 = _null; + tag = encoded; + } else { + type$.List_dynamic._as(encoded); + _box_0.fullMessage = encoded; + tag = A._asInt(J.$index$asx(encoded, 0)); + t1 = encoded; + } + readInt = new A.DriftProtocol_decodePayload_readInt(_box_0); + readNullableInt = new A.DriftProtocol_decodePayload_readNullableInt(_box_0); + switch (tag) { + case 0: + return B.NoArgsRequest_0; + case 3: + method = B.JSArray_methods.$index(B.List_s6K, readInt.call$1(1)); + t1 = _box_0.fullMessage; + t1.toString; + sql = A._asString(J.$index$asx(t1, 2)); + t1 = J.map$1$1$ax(type$.List_dynamic._as(J.$index$asx(_box_0.fullMessage, 3)), this.get$_decodeDbValue(), type$.nullable_Object); + args = A.List_List$_of(t1, t1.$ti._eval$1("ListIterable.E")); + return new A.ExecuteQuery(method, sql, args, readNullableInt.call$1(4)); + case 4: + t1.toString; + t2 = type$.List_dynamic; + sql = J.cast$1$0$ax(t2._as(J.$index$asx(t1, 1)), type$.String); + args = A._setArrayType([], type$.JSArray_ArgumentsForBatchedStatement); + for (i = 2; i < J.get$length$asx(_box_0.fullMessage) - 1; ++i) { + list = t2._as(J.$index$asx(_box_0.fullMessage, i)); + t1 = J.getInterceptor$asx(list); + t3 = A._asInt(t1.$index(list, 0)); + t4 = []; + for (t1 = t1.skip$1(list, 1), t5 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t5._eval$1("ListIterator")), t5 = t5._eval$1("ListIterable.E"); t1.moveNext$0();) { + encoded = t1.__internal$_current; + t4.push(this._decodeDbValue$1(encoded == null ? t5._as(encoded) : encoded)); + } + B.JSArray_methods.add$1(args, new A.ArgumentsForBatchedStatement(t3, t4)); + } + _1_0 = J.get$last$ax(_box_0.fullMessage); + $label1$2: { + if (_1_0 == null) { + t1 = _null; + break $label1$2; + } + A._asInt(_1_0); + t1 = _1_0; + break $label1$2; + } + return new A.ExecuteBatchedStatement(new A.BatchedStatements(sql, args), t1); + case 5: + return new A.RunNestedExecutorControl(B.JSArray_methods.$index(B.List_ttt, readInt.call$1(1)), readNullableInt.call$1(2)); + case 6: + return new A.EnsureOpen(readInt.call$1(1), readNullableInt.call$1(2)); + case 13: + t1.toString; + return new A.ServerInfo(A.EnumByName_byName(B.List_rcv, A._asString(J.$index$asx(t1, 1)), type$.SqlDialect)); + case 7: + t1 = readNullableInt.call$1(1); + t2 = readInt.call$1(2); + A.assertHelper(t1 !== 0); + return new A.RunBeforeOpen(new A.OpeningDetails(t1, t2), readInt.call$1(3)); + case 8: + updates = A._setArrayType([], type$.JSArray_TableUpdate); + t1 = type$.List_dynamic; + i = 1; + for (;;) { + t2 = _box_0.fullMessage; + t2.toString; + if (!(i < J.get$length$asx(t2))) + break; + encodedUpdate = t1._as(J.$index$asx(_box_0.fullMessage, i)); + t2 = J.getInterceptor$asx(encodedUpdate); + _2_0 = t2.$index(encodedUpdate, 1); + $label2$3: { + if (_2_0 == null) { + t3 = _null; + break $label2$3; + } + A._asInt(_2_0); + t3 = _2_0; + break $label2$3; + } + t2 = A._asString(t2.$index(encodedUpdate, 0)); + if (t3 == null) + t3 = _null; + else { + if (t3 >>> 0 !== t3 || t3 >= 3) + return A.ioore(B.List_L4j, t3); + t3 = B.List_L4j[t3]; + } + B.JSArray_methods.add$1(updates, new A.TableUpdate(t3, t2)); + ++i; + } + return new A.NotifyTablesUpdated(updates); + case 11: + t1.toString; + if (J.get$length$asx(t1) === 1) + return B.SelectResult_List_empty; + columnCount = readInt.call$1(1); + t1 = 2 + columnCount; + t2 = type$.String; + columns = J.cast$1$0$ax(J.sublist$2$ax(_box_0.fullMessage, 2, t1), t2); + rows = readInt.call$1(t1); + result = A._setArrayType([], type$.JSArray_Map_of_String_and_nullable_Object); + for (t1 = columns._source, t3 = J.getInterceptor$asx(t1), t4 = columns.$ti._rest[1], t5 = 3 + columnCount, t6 = type$.nullable_Object, i = 0; i < rows; ++i) { + rowOffset = t5 + i * columnCount; + t7 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t6); + for (c = 0; c < columnCount; ++c) + t7.$indexSet(0, t4._as(t3.$index(t1, c)), this._decodeDbValue$1(J.$index$asx(_box_0.fullMessage, rowOffset + c))); + B.JSArray_methods.add$1(result, t7); + } + return new A.SelectResult(result); + case 12: + return new A.RequestCancellation(readInt.call$1(1)); + case 10: + return new A.PrimitiveResponsePayload(A._asInt(J.$index$asx(encoded, 1))); + } + throw A.wrapException(A.ArgumentError$value(tag, "tag", "Tag was unknown")); + }, + _encodeDbValue$1(variable) { + if (type$.List_int._is(variable) && !type$.Uint8List._is(variable)) + return new Uint8Array(A._ensureNativeList(variable)); + else if (variable instanceof A._BigIntImpl) + return A._setArrayType(["bigint", variable.toString$0(0)], type$.JSArray_String); + else + return variable; + }, + _decodeDbValue$1(wire) { + var t1; + if (type$.List_dynamic._is(wire)) { + t1 = J.getInterceptor$asx(wire); + if (t1.get$length(wire) === 2 && J.$eq$(t1.$index(wire, 0), "bigint")) + return A._BigIntImpl_parse(J.toString$0$(t1.$index(wire, 1)), null); + return new Uint8Array(A._ensureNativeList(t1.cast$1$0(wire, type$.int))); + } + return wire; + } + }; + A.DriftProtocol_decodePayload_readInt.prototype = { + call$1(index) { + var t1 = this._box_0.fullMessage; + t1.toString; + return A._asInt(J.$index$asx(t1, index)); + }, + $signature: 13 + }; + A.DriftProtocol_decodePayload_readNullableInt.prototype = { + call$1(index) { + var _0_0, + t1 = this._box_0.fullMessage; + t1.toString; + _0_0 = J.$index$asx(t1, index); + $label0$0: { + if (_0_0 == null) { + t1 = null; + break $label0$0; + } + A._asInt(_0_0); + t1 = _0_0; + break $label0$0; + } + return t1; + }, + $signature: 26 + }; + A.Message.prototype = {}; + A.Request.prototype = { + toString$0(_) { + return "Request (id = " + this.id + "): " + A.S(this.payload); + } + }; + A.SuccessResponse.prototype = { + toString$0(_) { + return "SuccessResponse (id = " + this.requestId + "): " + A.S(this.response); + } + }; + A.PrimitiveResponsePayload.prototype = {$isResponsePayload: 1}; + A.ErrorResponse.prototype = { + toString$0(_) { + return "ErrorResponse (id = " + this.requestId + "): " + A.S(this.error) + " at " + A.S(this.stackTrace); + } + }; + A.CancelledResponse.prototype = { + toString$0(_) { + return "Previous request " + this.requestId + " was cancelled"; + } + }; + A.NoArgsRequest.prototype = { + _enumToString$0() { + return "NoArgsRequest." + this._name; + }, + $isRequestPayload: 1 + }; + A.StatementMethod.prototype = { + _enumToString$0() { + return "StatementMethod." + this._name; + } + }; + A.ExecuteQuery.prototype = { + toString$0(_) { + var _this = this, + t1 = _this.executorId; + if (t1 != null) + return _this.method.toString$0(0) + ": " + _this.sql + " with " + A.S(_this.args) + " (@" + A.S(t1) + ")"; + return _this.method.toString$0(0) + ": " + _this.sql + " with " + A.S(_this.args); + }, + $isRequestPayload: 1 + }; + A.RequestCancellation.prototype = { + toString$0(_) { + return "Cancel previous request " + this.originalRequestId; + }, + $isRequestPayload: 1 + }; + A.ExecuteBatchedStatement.prototype = {$isRequestPayload: 1}; + A.NestedExecutorControl.prototype = { + _enumToString$0() { + return "NestedExecutorControl." + this._name; + } + }; + A.RunNestedExecutorControl.prototype = { + toString$0(_) { + return "RunTransactionAction(" + this.control.toString$0(0) + ", " + A.S(this.executorId) + ")"; + }, + $isRequestPayload: 1 + }; + A.EnsureOpen.prototype = { + toString$0(_) { + return "EnsureOpen(" + this.schemaVersion + ", " + A.S(this.executorId) + ")"; + }, + $isRequestPayload: 1 + }; + A.ServerInfo.prototype = { + toString$0(_) { + return "ServerInfo(" + this.dialect.toString$0(0) + ")"; + }, + $isRequestPayload: 1 + }; + A.RunBeforeOpen.prototype = { + toString$0(_) { + return "RunBeforeOpen(" + this.details.toString$0(0) + ", " + this.createdExecutor + ")"; + }, + $isRequestPayload: 1 + }; + A.NotifyTablesUpdated.prototype = { + toString$0(_) { + return "NotifyTablesUpdated(" + A.S(this.updates) + ")"; + }, + $isRequestPayload: 1 + }; + A.SelectResult.prototype = {$isResponsePayload: 1}; + A.ServerImplementation.prototype = { + ServerImplementation$3(connection, allowRemoteShutdown, closeExecutorWhenShutdown) { + this._done.future.then$1$1(new A.ServerImplementation_closure(this), type$.Null); + }, + serve$2$serialize(channel, serialize) { + var comm, t1, _this = this; + if (_this._isShuttingDown) + throw A.wrapException(A.StateError$("Cannot add new channels after shutdown() was called")); + comm = A.DriftCommunication$(channel, serialize); + comm.setRequestHandler$1(new A.ServerImplementation_serve_closure(_this, comm)); + t1 = _this.connection.get$dialect(); + comm._send$1(new A.Request(comm.newRequestId$0(), new A.ServerInfo(t1))); + _this._activeChannels.add$1(0, comm); + return comm._closeCompleter.future.then$1$1(new A.ServerImplementation_serve_closure0(_this, comm), type$.void); + }, + shutdown$0() { + var t1, _this = this; + if (!_this._isShuttingDown) { + _this._isShuttingDown = true; + t1 = _this.connection.close$0(); + _this._done.complete$1(t1); + } + return _this._done.future; + }, + _closeRemainingConnections$0() { + var t1, t2, t3; + for (t1 = this._activeChannels, t1 = A._LinkedHashSetIterator$(t1, t1._modifications, t1.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + t3 = t1._collection$_current; + (t3 == null ? t2._as(t3) : t3).close$0(); + } + }, + _handleRequest$2(comms, request) { + var t1, token, _this = this, + payload = request.payload; + if (payload instanceof A.NoArgsRequest) + switch (payload.index) { + case 0: + t1 = A.StateError$("Remote shutdowns not allowed"); + throw A.wrapException(t1); + } + else if (payload instanceof A.EnsureOpen) + return _this._handleEnsureOpen$2(comms, payload); + else if (payload instanceof A.ExecuteQuery) { + token = A.runCancellable(new A.ServerImplementation__handleRequest_closure(_this, payload), type$.nullable_ResponsePayload); + _this._cancellableOperations.$indexSet(0, request.id, token); + return token._resultCompleter.future.whenComplete$1(new A.ServerImplementation__handleRequest_closure0(_this, request)); + } else if (payload instanceof A.ExecuteBatchedStatement) + return _this._runBatched$2(payload.stmts, payload.executorId); + else if (payload instanceof A.NotifyTablesUpdated) { + _this._tableUpdateNotifications.add$1(0, payload); + _this.dispatchTableUpdateNotification$2(payload, comms); + } else if (payload instanceof A.RunNestedExecutorControl) + return _this._transactionControl$3(comms, payload.control, payload.executorId); + else if (payload instanceof A.RequestCancellation) { + t1 = _this._cancellableOperations.$index(0, payload.originalRequestId); + if (t1 != null) + t1.cancel$0(); + return null; + } + return null; + }, + _handleEnsureOpen$2(comms, $open) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.ResponsePayload), + $async$returnValue, $async$self = this, executor, t1, $async$temp1; + var $async$_handleEnsureOpen$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1($open.executorId), $async$_handleEnsureOpen$2); + case 3: + // returning from await. + executor = $async$result; + t1 = $open.schemaVersion; + $async$self._knownSchemaVersion = t1; + $async$temp1 = A; + $async$goto = 4; + return A._asyncAwait(executor.ensureOpen$1(new A._ServerDbUser($async$self, comms, t1)), $async$_handleEnsureOpen$2); + case 4: + // returning from await. + $async$returnValue = new $async$temp1.PrimitiveResponsePayload($async$result); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_handleEnsureOpen$2, $async$completer); + }, + _runQuery$4(method, sql, args, transactionId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_ResponsePayload), + $async$returnValue, $async$self = this, executor, $async$temp1; + var $async$_runQuery$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(transactionId), $async$_runQuery$4); + case 3: + // returning from await. + executor = $async$result; + $async$goto = 4; + return A._asyncAwait(A.Future_Future$delayed(B.Duration_0, type$.void), $async$_runQuery$4); + case 4: + // returning from await. + A.checkIfCancelled(); + case 5: + // switch + switch (method.index) { + case 0: + // goto case + $async$goto = 7; + break; + case 1: + // goto case + $async$goto = 8; + break; + case 2: + // goto case + $async$goto = 9; + break; + case 3: + // goto case + $async$goto = 10; + break; + default: + // goto after switch + $async$goto = 6; + break; + } + break; + case 7: + // case + $async$goto = 11; + return A._asyncAwait(executor.runCustom$2(sql, args), $async$_runQuery$4); + case 11: + // returning from await. + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + case 8: + // case + $async$temp1 = A; + $async$goto = 12; + return A._asyncAwait(executor.runDelete$2(sql, args), $async$_runQuery$4); + case 12: + // returning from await. + $async$returnValue = new $async$temp1.PrimitiveResponsePayload($async$result); + // goto return + $async$goto = 1; + break; + case 9: + // case + $async$temp1 = A; + $async$goto = 13; + return A._asyncAwait(executor.runInsert$2(sql, args), $async$_runQuery$4); + case 13: + // returning from await. + $async$returnValue = new $async$temp1.PrimitiveResponsePayload($async$result); + // goto return + $async$goto = 1; + break; + case 10: + // case + $async$temp1 = A; + $async$goto = 14; + return A._asyncAwait(executor.runSelect$2(sql, args), $async$_runQuery$4); + case 14: + // returning from await. + $async$returnValue = new $async$temp1.SelectResult($async$result); + // goto return + $async$goto = 1; + break; + case 6: + // after switch + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_runQuery$4, $async$completer); + }, + _runBatched$2(stmts, transactionId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_ResponsePayload), + $async$returnValue, $async$self = this; + var $async$_runBatched$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 4; + return A._asyncAwait($async$self._loadExecutor$1(transactionId), $async$_runBatched$2); + case 4: + // returning from await. + $async$goto = 3; + return A._asyncAwait($async$result.runBatched$1(stmts), $async$_runBatched$2); + case 3: + // returning from await. + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_runBatched$2, $async$completer); + }, + _loadExecutor$1(transactionId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.QueryExecutor), + $async$returnValue, $async$self = this, t1; + var $async$_loadExecutor$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._waitForTurn$1(transactionId), $async$_loadExecutor$1); + case 3: + // returning from await. + if (transactionId != null) { + t1 = $async$self._managedExecutors.$index(0, transactionId); + t1.toString; + } else + t1 = $async$self.connection; + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_loadExecutor$1, $async$completer); + }, + _spawnTransaction$2(comm, executor) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, transaction; + var $async$_spawnTransaction$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(executor), $async$_spawnTransaction$2); + case 3: + // returning from await. + transaction = $async$result.beginTransaction$0(); + $async$goto = 4; + return A._asyncAwait(transaction.ensureOpen$1(new A._ServerDbUser($async$self, comm, $async$self._knownSchemaVersion)), $async$_spawnTransaction$2); + case 4: + // returning from await. + $async$returnValue = $async$self._putExecutor$2$beforeCurrent(transaction, true); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_spawnTransaction$2, $async$completer); + }, + _spawnExclusive$2(comm, executor) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, exclusive; + var $async$_spawnExclusive$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._loadExecutor$1(executor), $async$_spawnExclusive$2); + case 3: + // returning from await. + exclusive = $async$result.beginExclusive$0(); + $async$goto = 4; + return A._asyncAwait(exclusive.ensureOpen$1(new A._ServerDbUser($async$self, comm, $async$self._knownSchemaVersion)), $async$_spawnExclusive$2); + case 4: + // returning from await. + $async$returnValue = $async$self._putExecutor$2$beforeCurrent(exclusive, true); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_spawnExclusive$2, $async$completer); + }, + _putExecutor$2$beforeCurrent(executor, beforeCurrent) { + var t2, t3, + t1 = this._currentExecutorId++; + this._managedExecutors.$indexSet(0, t1, executor); + t2 = this._executorBacklog; + t3 = t2.length; + if (t3 !== 0) + B.JSArray_methods.insert$2(t2, 0, t1); + else + B.JSArray_methods.add$1(t2, t1); + return t1; + }, + _transactionControl$3(comm, action, executorId) { + return this._transactionControl$body$ServerImplementation(comm, action, executorId); + }, + _transactionControl$body$ServerImplementation(comm, action, executorId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_ResponsePayload), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$next = [], $async$self = this, executor, $async$temp1; + var $async$_transactionControl$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = action === B.NestedExecutorControl_0 ? 3 : 5; + break; + case 3: + // then + $async$temp1 = A; + $async$goto = 6; + return A._asyncAwait($async$self._spawnTransaction$2(comm, executorId), $async$_transactionControl$3); + case 6: + // returning from await. + $async$returnValue = new $async$temp1.PrimitiveResponsePayload($async$result); + // goto return + $async$goto = 1; + break; + // goto join + $async$goto = 4; + break; + case 5: + // else + $async$goto = action === B.NestedExecutorControl_3 ? 7 : 8; + break; + case 7: + // then + $async$temp1 = A; + $async$goto = 9; + return A._asyncAwait($async$self._spawnExclusive$2(comm, executorId), $async$_transactionControl$3); + case 9: + // returning from await. + $async$returnValue = new $async$temp1.PrimitiveResponsePayload($async$result); + // goto return + $async$goto = 1; + break; + case 8: + // join + case 4: + // join + $async$goto = 10; + return A._asyncAwait($async$self._loadExecutor$1(executorId), $async$_transactionControl$3); + case 10: + // returning from await. + executor = $async$result; + $async$goto = action === B.NestedExecutorControl_4 ? 11 : 12; + break; + case 11: + // then + $async$goto = 13; + return A._asyncAwait(executor.close$0(), $async$_transactionControl$3); + case 13: + // returning from await. + executorId.toString; + $async$self._releaseExecutor$1(executorId); + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + case 12: + // join + if (!type$.TransactionExecutor._is(executor)) + throw A.wrapException(A.ArgumentError$value(executorId, "transactionId", "Does not reference a transaction. This might happen if you don't await all operations made inside a transaction, in which case the transaction might complete with pending operations.")); + case 14: + // switch + switch (action.index) { + case 1: + // goto case + $async$goto = 16; + break; + case 2: + // goto case + $async$goto = 17; + break; + default: + // goto default + $async$goto = 18; + break; + } + break; + case 16: + // case + $async$goto = 19; + return A._asyncAwait(executor.send$0(), $async$_transactionControl$3); + case 19: + // returning from await. + executorId.toString; + $async$self._releaseExecutor$1(executorId); + // goto after switch + $async$goto = 15; + break; + case 17: + // case + $async$handler = 20; + $async$goto = 23; + return A._asyncAwait(executor.rollback$0(), $async$_transactionControl$3); + case 23: + // returning from await. + $async$next.push(22); + // goto finally + $async$goto = 21; + break; + case 20: + // uncaught + $async$next = [2]; + case 21: + // finally + $async$handler = 2; + executorId.toString; + $async$self._releaseExecutor$1(executorId); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 22: + // after finally + // goto after switch + $async$goto = 15; + break; + case 18: + // default + A.assertThrow("Unknown TransactionControl"); + case 15: + // after switch + $async$returnValue = null; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_transactionControl$3, $async$completer); + }, + _releaseExecutor$1(id) { + var t1; + this._managedExecutors.remove$1(0, id); + B.JSArray_methods.remove$1(this._executorBacklog, id); + t1 = this._backlogUpdated; + if ((t1._state & 4) === 0) + t1.add$1(0, null); + }, + _waitForTurn$1(transactionId) { + var t2, + t1 = new A.ServerImplementation__waitForTurn_idIsActive(this, transactionId); + if (t1.call$0()) + return A.Future_Future$value(null, type$.void); + t2 = this._backlogUpdated; + return new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).firstWhere$1(0, new A.ServerImplementation__waitForTurn_closure(t1)); + }, + dispatchTableUpdateNotification$2(notification, source) { + var t1, t2, t3; + for (t1 = this._activeChannels, t1 = A._LinkedHashSetIterator$(t1, t1._modifications, t1.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + t3 = t1._collection$_current; + if (t3 == null) + t3 = t2._as(t3); + if (t3 !== source) + t3._send$1(new A.Request(t3._currentRequestId++, notification)); + } + }, + $isDriftServer: 1 + }; + A.ServerImplementation_closure.prototype = { + call$1(_) { + var t1 = this.$this; + t1._closeRemainingConnections$0(); + t1._tableUpdateNotifications.close$0(); + }, + $signature: 77 + }; + A.ServerImplementation_serve_closure.prototype = { + call$1(request) { + return this.$this._handleRequest$2(this.comm, request); + }, + $signature: 79 + }; + A.ServerImplementation_serve_closure0.prototype = { + call$1(_) { + return this.$this._activeChannels.remove$1(0, this.comm); + }, + $signature: 24 + }; + A.ServerImplementation__handleRequest_closure.prototype = { + call$0() { + var t1 = this.payload; + return this.$this._runQuery$4(t1.method, t1.sql, t1.args, t1.executorId); + }, + $signature: 86 + }; + A.ServerImplementation__handleRequest_closure0.prototype = { + call$0() { + return this.$this._cancellableOperations.remove$1(0, this.request.id); + }, + $signature: 87 + }; + A.ServerImplementation__waitForTurn_idIsActive.prototype = { + call$0() { + var t2, + t1 = this.transactionId; + if (t1 == null) + return this.$this._executorBacklog.length === 0; + else { + t2 = this.$this._executorBacklog; + return t2.length !== 0 && B.JSArray_methods.get$first(t2) === t1; + } + }, + $signature: 34 + }; + A.ServerImplementation__waitForTurn_closure.prototype = { + call$1(_) { + return this.idIsActive.call$0(); + }, + $signature: 24 + }; + A._ServerDbUser.prototype = { + beforeOpen$2(executor, details) { + return this.beforeOpen$body$_ServerDbUser(executor, details); + }, + beforeOpen$body$_ServerDbUser(executor, details) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$errorStack = [], $async$next = [], $async$self = this, t2, id0, t3, t1, id; + var $async$beforeOpen$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._server; + id = t1._putExecutor$2$beforeCurrent(executor, true); + $async$handler = 2; + t2 = $async$self.connection; + id0 = t2.newRequestId$0(); + t3 = new A._Future($.Zone__current, type$._Future_void); + t2._pendingRequests.$indexSet(0, id0, new A._PendingRequest(new A._AsyncCompleter(t3, type$._AsyncCompleter_void), A.StackTrace_current())); + t2._send$1(new A.Request(id0, new A.RunBeforeOpen(details, id))); + $async$goto = 5; + return A._asyncAwait(t3, $async$beforeOpen$2); + case 5: + // returning from await. + $async$next.push(4); + // goto finally + $async$goto = 3; + break; + case 2: + // uncaught + $async$next = [1]; + case 3: + // finally + $async$handler = 1; + t1._releaseExecutor$1(id); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 4: + // after finally + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$beforeOpen$2, $async$completer); + }, + $isQueryExecutorUser: 1 + }; + A.WebProtocol.prototype = { + serialize$1(message) { + var t1, _1_5_isSet, _1_8, _1_9, _1_9_isSet, e, stackTrace, _1_5, requestId, _this0, t2, _this1, t3, t4, _0_0, t5, t6, _i, _this = this, _null = null; + $label0$0: { + if (message instanceof A.Request) { + t1 = new A._Record_2(0, {i: message.id, p: _this._serializeRequest$1(message.payload)}); + break $label0$0; + } + if (message instanceof A.SuccessResponse) { + t1 = new A._Record_2(1, {i: message.requestId, p: _this._serializeResponse$1(message.response)}); + break $label0$0; + } + _1_5_isSet = message instanceof A.ErrorResponse; + _1_8 = _null; + _1_9 = _null; + _1_9_isSet = false; + e = _null; + stackTrace = _null; + t1 = false; + if (_1_5_isSet) { + _1_5 = message.requestId; + _1_8 = message.error; + _1_9_isSet = _1_8 instanceof A.SqliteException; + if (_1_9_isSet) { + type$.SqliteException._as(_1_8); + _1_9 = message.stackTrace; + t1 = _this._protocolVersion.versionCode >= 4; + stackTrace = _1_9; + e = _1_8; + } + requestId = _1_5; + } else { + requestId = _null; + _1_5 = requestId; + } + if (t1) { + t1 = stackTrace == null ? _null : stackTrace.toString$0(0); + _this0 = e.message; + t2 = e.explanation; + if (t2 == null) + t2 = _null; + _this1 = e.extendedResultCode; + t3 = e.operation; + if (t3 == null) + t3 = _null; + t4 = e.causingStatement; + if (t4 == null) + t4 = _null; + _0_0 = e.parametersToStatement; + $label1$1: { + if (_0_0 == null) { + t5 = _null; + break $label1$1; + } + t5 = []; + for (t6 = _0_0.length, _i = 0; _i < _0_0.length; _0_0.length === t6 || (0, A.throwConcurrentModificationError)(_0_0), ++_i) + t5.push(_this._web_protocol$_encodeDbValue$1(_0_0[_i])); + break $label1$1; + } + t5 = new A._Record_2(4, [requestId, t1, _this0, t2, _this1, t3, t4, t5]); + t1 = t5; + break $label0$0; + } + if (_1_5_isSet) { + stackTrace = _1_9_isSet ? _1_9 : message.stackTrace; + _this = J.toString$0$(_1_8); + t1 = new A._Record_2(2, [_1_5, _this, stackTrace == null ? _null : stackTrace.toString$0(0)]); + break $label0$0; + } + if (message instanceof A.CancelledResponse) { + t1 = new A._Record_2(3, message.requestId); + break $label0$0; + } + t1 = _null; + } + return A._setArrayType([t1._0, t1._1], type$.JSArray_Object); + }, + deserialize$1(message) { + var t1, tag, t2, error, stackTrace, requestId, _this = this, _null = null, + _s22_ = "Pattern matching error", + _box_0 = {}; + _box_0.payload = null; + t1 = message.length === 2; + if (t1) { + if (0 < 0 || 0 >= message.length) + return A.ioore(message, 0); + tag = message[0]; + if (1 < 0 || 1 >= message.length) + return A.ioore(message, 1); + t2 = _box_0.payload = message[1]; + } else { + t2 = _null; + tag = t2; + } + if (!t1) + throw A.wrapException(A.StateError$(_s22_)); + tag = A._asInt(A._asDouble(tag)); + $label0$0: { + if (0 === tag) { + t1 = new A.WebProtocol_deserialize_decodeRequest(_box_0, _this).call$0(); + break $label0$0; + } + if (1 === tag) { + t1 = new A.WebProtocol_deserialize_decodeSuccess(_box_0, _this).call$0(); + break $label0$0; + } + if (2 === tag) { + type$.JSArray_nullable_Object._as(t2); + t1 = t2.length === 3; + error = _null; + stackTrace = _null; + if (t1) { + if (0 < 0 || 0 >= t2.length) + return A.ioore(t2, 0); + requestId = t2[0]; + if (1 < 0 || 1 >= t2.length) + return A.ioore(t2, 1); + error = t2[1]; + if (2 < 0 || 2 >= t2.length) + return A.ioore(t2, 2); + stackTrace = t2[2]; + } else + requestId = _null; + if (!t1) + A.throwExpression(A.StateError$(_s22_)); + t1 = new A.ErrorResponse(A._asInt(A._asDouble(requestId)), A._asString(error), _this._decodeStackStrace$1(stackTrace)); + break $label0$0; + } + if (4 === tag) { + t1 = _this._decodeSqliteErrorResponse$1(type$.JSArray_nullable_Object._as(t2)); + break $label0$0; + } + if (3 === tag) { + t1 = new A.CancelledResponse(A._asInt(A._asDouble(t2))); + break $label0$0; + } + t1 = A.throwExpression(A.ArgumentError$("Unknown message tag " + tag, _null)); + } + return t1; + }, + _serializeRequest$1(payload) { + var t1, _this, t2, t3, t4, _i, arg, t5, t6, _i0, update, _null = null; + $label0$0: { + t1 = _null; + if (payload == null) + break $label0$0; + if (payload instanceof A.ExecuteQuery) { + t1 = payload.method; + _this = payload.sql; + t2 = []; + for (t3 = payload.args, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) + t2.push(this._web_protocol$_encodeDbValue$1(t3[_i])); + t3 = payload.executorId; + if (t3 == null) + t3 = _null; + t3 = [3, t1.index, _this, t2, t3]; + t1 = t3; + break $label0$0; + } + if (payload instanceof A.RequestCancellation) { + t1 = A._setArrayType([12, payload.originalRequestId], type$.JSArray_double); + break $label0$0; + } + if (payload instanceof A.ExecuteBatchedStatement) { + t1 = payload.stmts; + t2 = J.map$1$1$ax(t1.statements, new A.WebProtocol__serializeRequest_closure(), type$.String); + t2 = A.List_List$_of(t2, t2.$ti._eval$1("ListIterable.E")); + t2 = [4, t2]; + for (t1 = t1.$arguments, t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + arg = t1[_i]; + t4 = [arg.statementIndex]; + for (t5 = arg.$arguments, t6 = t5.length, _i0 = 0; _i0 < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i0) + t4.push(this._web_protocol$_encodeDbValue$1(t5[_i0])); + t2.push(t4); + } + t1 = payload.executorId; + t2.push(t1 == null ? _null : t1); + t1 = t2; + break $label0$0; + } + if (payload instanceof A.RunNestedExecutorControl) { + t1 = payload.control; + t2 = payload.executorId; + if (t2 == null) + t2 = _null; + t2 = A._setArrayType([5, t1.index, t2], type$.JSArray_nullable_double); + t1 = t2; + break $label0$0; + } + if (payload instanceof A.EnsureOpen) { + _this = payload.schemaVersion; + t1 = payload.executorId; + t1 = A._setArrayType([6, _this, t1 == null ? _null : t1], type$.JSArray_nullable_double); + break $label0$0; + } + if (payload instanceof A.ServerInfo) { + t1 = A._setArrayType([13, payload.dialect._name], type$.JSArray_Object); + break $label0$0; + } + if (payload instanceof A.RunBeforeOpen) { + t1 = payload.details; + t2 = t1.versionBefore; + if (t2 == null) + t2 = _null; + t1 = A._setArrayType([7, t2, t1.versionNow, payload.createdExecutor], type$.JSArray_nullable_double); + break $label0$0; + } + if (payload instanceof A.NotifyTablesUpdated) { + t1 = [8]; + for (t2 = payload.updates, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + update = t2[_i]; + t4 = update.kind; + t4 = t4 == null ? _null : t4.index; + t1.push([update.table, t4]); + } + break $label0$0; + } + if (B.NoArgsRequest_0 === payload) { + t1 = 0; + break $label0$0; + } + } + return t1; + }, + _deserializeRequest$1(payload) { + var t1, tag, t2, t3, t4, t, _null = null; + if (payload == null) + return _null; + if (typeof payload === "number") { + A.assertHelper(A._asInt(A._asDouble(payload)) === 0); + return B.NoArgsRequest_0; + } + t1 = type$.JSArray_nullable_Object; + t1._as(payload); + if (0 < 0 || 0 >= payload.length) + return A.ioore(payload, 0); + tag = A._asInt(A._asDouble(payload[0])); + $label0$0: { + if (3 === tag) { + if (1 < 0 || 1 >= payload.length) + return A.ioore(payload, 1); + t2 = A._asInt(A._asDouble(payload[1])); + if (!(t2 >= 0 && t2 < 4)) + return A.ioore(B.List_s6K, t2); + t2 = B.List_s6K[t2]; + if (2 < 0 || 2 >= payload.length) + return A.ioore(payload, 2); + t3 = A._asString(payload[2]); + t4 = []; + if (3 < 0 || 3 >= payload.length) + return A.ioore(payload, 3); + t = t1._as(payload[3]); + t1 = B.JSArray_methods.get$iterator(t); + while (t1.moveNext$0()) + t4.push(this._web_protocol$_decodeDbValue$1(t1.get$current())); + if (4 < 0 || 4 >= payload.length) + return A.ioore(payload, 4); + t1 = payload[4]; + t1 = new A.ExecuteQuery(t2, t3, t4, t1 == null ? _null : A._asInt(A._asDouble(t1))); + break $label0$0; + } + if (12 === tag) { + if (1 < 0 || 1 >= payload.length) + return A.ioore(payload, 1); + t1 = new A.RequestCancellation(A._asInt(A._asDouble(payload[1]))); + break $label0$0; + } + if (4 === tag) { + t1 = new A.WebProtocol__deserializeRequest_readBatched(this, payload).call$0(); + break $label0$0; + } + if (5 === tag) { + if (1 < 0 || 1 >= payload.length) + return A.ioore(payload, 1); + t1 = A._asInt(A._asDouble(payload[1])); + if (!(t1 >= 0 && t1 < 5)) + return A.ioore(B.List_ttt, t1); + t1 = B.List_ttt[t1]; + if (2 < 0 || 2 >= payload.length) + return A.ioore(payload, 2); + t2 = payload[2]; + t1 = new A.RunNestedExecutorControl(t1, t2 == null ? _null : A._asInt(A._asDouble(t2))); + break $label0$0; + } + if (6 === tag) { + if (1 < 0 || 1 >= payload.length) + return A.ioore(payload, 1); + t1 = A._asInt(A._asDouble(payload[1])); + if (2 < 0 || 2 >= payload.length) + return A.ioore(payload, 2); + t2 = payload[2]; + t1 = new A.EnsureOpen(t1, t2 == null ? _null : A._asInt(A._asDouble(t2))); + break $label0$0; + } + if (13 === tag) { + if (1 < 0 || 1 >= payload.length) + return A.ioore(payload, 1); + t1 = new A.ServerInfo(A.EnumByName_byName(B.List_rcv, A._asString(payload[1]), type$.SqlDialect)); + break $label0$0; + } + if (7 === tag) { + if (1 < 0 || 1 >= payload.length) + return A.ioore(payload, 1); + t1 = payload[1]; + t1 = t1 == null ? _null : A._asInt(A._asDouble(t1)); + if (2 < 0 || 2 >= payload.length) + return A.ioore(payload, 2); + t2 = A._asInt(A._asDouble(payload[2])); + A.assertHelper(t1 !== 0); + if (3 < 0 || 3 >= payload.length) + return A.ioore(payload, 3); + t2 = new A.RunBeforeOpen(new A.OpeningDetails(t1, t2), A._asInt(A._asDouble(payload[3]))); + t1 = t2; + break $label0$0; + } + if (8 === tag) { + t1 = B.JSArray_methods.skip$1(payload, 1); + t2 = t1.$ti; + t3 = t2._eval$1("MappedListIterable"); + t1 = A.List_List$_of(new A.MappedListIterable(t1, t2._eval$1("TableUpdate(ListIterable.E)")._as(new A.WebProtocol__deserializeRequest_closure()), t3), t3._eval$1("ListIterable.E")); + t1 = new A.NotifyTablesUpdated(t1); + break $label0$0; + } + t1 = A.throwExpression(A.ArgumentError$("Unknown request tag " + tag, _null)); + } + return t1; + }, + _serializeResponse$1(response) { + var t1, message; + $label0$0: { + t1 = null; + if (response == null) + break $label0$0; + if (response instanceof A.PrimitiveResponsePayload) { + message = response.message; + t1 = A._isBool(message) ? message : A._asInt(message); + break $label0$0; + } + if (response instanceof A.SelectResult) { + t1 = this._serializeSelectResult$1(response); + break $label0$0; + } + } + return t1; + }, + _serializeSelectResult$1(result) { + var columns, rows, jsRow, + t1 = type$.SelectResult._as(result).rows, + t2 = J.getInterceptor$asx(t1); + if (t2.get$isEmpty(t1)) { + t1 = init.G; + t2 = type$.JSArray_nullable_Object; + return {c: t2._as(new t1.Array()), r: t2._as(new t1.Array())}; + } else { + columns = J.map$1$1$ax(t2.get$first(t1).get$keys(), new A.WebProtocol__serializeSelectResult_closure(), type$.String).toList$0(0); + rows = A._setArrayType([], type$.JSArray_JSArray_nullable_Object); + for (t1 = t2.get$iterator(t1); t1.moveNext$0();) { + jsRow = []; + for (t2 = J.get$iterator$ax(t1.get$current().get$values()); t2.moveNext$0();) + jsRow.push(this._web_protocol$_encodeDbValue$1(t2.get$current())); + B.JSArray_methods.add$1(rows, jsRow); + } + return {c: columns, r: rows}; + } + }, + _deserializeResponse$1(response) { + var t1, t2, t3, columns, rows, t4, dartRow, t5, t6, t7, i; + if (response == null) + return null; + else if (typeof response === "boolean") + return new A.PrimitiveResponsePayload(A._asBool(response)); + else if (typeof response === "number") + return new A.PrimitiveResponsePayload(A._asInt(A._asDouble(response))); + else { + A._asJSObject(response); + t1 = type$.JSArray_nullable_Object; + t2 = t1._as(response.c); + t2 = type$.List_String._is(t2) ? t2 : new A.CastList(t2, A._arrayInstanceType(t2)._eval$1("CastList<1,String>")); + t3 = type$.String; + t2 = J.map$1$1$ax(t2, new A.WebProtocol__deserializeResponse_closure(), t3); + columns = A.List_List$_of(t2, t2.$ti._eval$1("ListIterable.E")); + rows = A._setArrayType([], type$.JSArray_Map_of_String_and_nullable_Object); + t1 = t1._as(response.r); + t1 = J.get$iterator$ax(type$.List_JSArray_nullable_Object._is(t1) ? t1 : new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,JSArray>"))); + t2 = type$.nullable_Object; + while (t1.moveNext$0()) { + t4 = t1.get$current(); + dartRow = A.LinkedHashMap_LinkedHashMap$_empty(t3, t2); + t4 = A.IndexedIterable_IndexedIterable(t4, 0, t2); + t5 = J.get$iterator$ax(t4._source); + t6 = t4._start; + t4 = new A.IndexedIterator(t5, t6, A._instanceType(t4)._eval$1("IndexedIterator<1>")); + while (t4.moveNext$0()) { + t7 = t4.__internal$_index; + t7 = t7 >= 0 ? new A._Record_2(t6 + t7, t5.get$current()) : A.throwExpression(A.IterableElementError_noElement()); + i = t7._0; + if (!(i >= 0 && i < columns.length)) + return A.ioore(columns, i); + dartRow.$indexSet(0, columns[i], this._web_protocol$_decodeDbValue$1(t7._1)); + } + B.JSArray_methods.add$1(rows, dartRow); + } + return new A.SelectResult(rows); + } + }, + _web_protocol$_encodeDbValue$1(value) { + var t1; + $label0$0: { + if (value == null) { + t1 = null; + break $label0$0; + } + if (A._isInt(value)) { + t1 = value; + break $label0$0; + } + if (A._isBool(value)) { + t1 = value; + break $label0$0; + } + if (typeof value == "string") { + t1 = value; + break $label0$0; + } + if (typeof value == "number") { + t1 = A._setArrayType([15, value], type$.JSArray_double); + break $label0$0; + } + if (value instanceof A._BigIntImpl) { + t1 = A._setArrayType([14, value.toString$0(0)], type$.JSArray_Object); + break $label0$0; + } + if (type$.List_int._is(value)) { + t1 = new Uint8Array(A._ensureNativeList(value)); + break $label0$0; + } + t1 = A.throwExpression(A.ArgumentError$("Unknown db value: " + A.S(value), null)); + } + return t1; + }, + _web_protocol$_decodeDbValue$1(value) { + var t1, tag, payload, _null = null; + if (value != null) + if (typeof value === "number") + return A._asInt(A._asDouble(value)); + else if (typeof value === "boolean") + return A._asBool(value); + else if (typeof value === "string") + return A._asString(value); + else if (A.JSAnyUtilityExtension_instanceOfString(value, "Uint8Array")) + return type$.NativeUint8List._as(value); + else { + type$.JSArray_nullable_Object._as(value); + t1 = value.length === 2; + if (t1) { + if (0 < 0 || 0 >= value.length) + return A.ioore(value, 0); + tag = value[0]; + if (1 < 0 || 1 >= value.length) + return A.ioore(value, 1); + payload = value[1]; + } else { + payload = _null; + tag = payload; + } + if (!t1) + throw A.wrapException(A.StateError$("Pattern matching error")); + if (tag == 14) + return A._BigIntImpl_parse(A._asString(payload), _null); + else + return A._asDouble(payload); + } + else + return _null; + }, + _decodeStackStrace$1(stackTrace) { + var t1, + _0_0 = stackTrace != null ? A._asString(stackTrace) : null; + $label0$0: { + if (_0_0 != null) { + t1 = new A._StringStackTrace(_0_0); + break $label0$0; + } + t1 = null; + break $label0$0; + } + return t1; + }, + _decodeSqliteErrorResponse$1(array) { + var requestId, t2, t3, t4, _null = null, + t1 = array.length >= 8, + stackTrace = _null, + message = _null, + explanation = _null, + extendedResultCode = _null, + operation = _null, + causingStatement = _null, + parametersToStatement = _null; + if (t1) { + if (0 < 0 || 0 >= array.length) + return A.ioore(array, 0); + requestId = array[0]; + if (1 < 0 || 1 >= array.length) + return A.ioore(array, 1); + stackTrace = array[1]; + if (2 < 0 || 2 >= array.length) + return A.ioore(array, 2); + message = array[2]; + if (3 < 0 || 3 >= array.length) + return A.ioore(array, 3); + explanation = array[3]; + if (4 < 0 || 4 >= array.length) + return A.ioore(array, 4); + extendedResultCode = array[4]; + if (5 < 0 || 5 >= array.length) + return A.ioore(array, 5); + operation = array[5]; + if (6 < 0 || 6 >= array.length) + return A.ioore(array, 6); + causingStatement = array[6]; + if (7 < 0 || 7 >= array.length) + return A.ioore(array, 7); + parametersToStatement = array[7]; + } else + requestId = _null; + if (!t1) + throw A.wrapException(A.StateError$("Pattern matching error")); + requestId = A._asInt(A._asDouble(requestId)); + extendedResultCode = A._asInt(A._asDouble(extendedResultCode)); + A._asString(message); + t1 = explanation != null ? A._asString(explanation) : _null; + t2 = causingStatement != null ? A._asString(causingStatement) : _null; + if (parametersToStatement != null) { + t3 = []; + type$.JSArray_nullable_Object._as(parametersToStatement); + t4 = B.JSArray_methods.get$iterator(parametersToStatement); + while (t4.moveNext$0()) + t3.push(this._web_protocol$_decodeDbValue$1(t4.get$current())); + } else + t3 = _null; + t4 = operation != null ? A._asString(operation) : _null; + return new A.ErrorResponse(requestId, new A.SqliteException(message, t1, extendedResultCode, _null, t4, t2, t3), this._decodeStackStrace$1(stackTrace)); + } + }; + A.WebProtocol_deserialize_decodeRequest.prototype = { + call$0() { + var serialized = A._asJSObject(this._box_0.payload); + return new A.Request(A._asInt(serialized.i), this.$this._deserializeRequest$1(serialized.p)); + }, + $signature: 91 + }; + A.WebProtocol_deserialize_decodeSuccess.prototype = { + call$0() { + var serialized = A._asJSObject(this._box_0.payload); + return new A.SuccessResponse(A._asInt(serialized.i), this.$this._deserializeResponse$1(serialized.p)); + }, + $signature: 107 + }; + A.WebProtocol__serializeRequest_closure.prototype = { + call$1(e) { + return A._asString(e); + }, + $signature: 8 + }; + A.WebProtocol__deserializeRequest_readBatched.prototype = { + call$0() { + var sqlStatements, t5, t6, t7, t8, t9, t10, + t1 = this.dartList, + t2 = J.getInterceptor$asx(t1), + t3 = type$.JSArray_nullable_Object, + t = t3._as(t2.$index(t1, 1)), + t4 = type$.List_String._is(t) ? t : new A.CastList(t, A._arrayInstanceType(t)._eval$1("CastList<1,String>")); + t4 = J.map$1$1$ax(t4, new A.WebProtocol__deserializeRequest_readBatched_closure(), type$.String); + sqlStatements = A.List_List$_of(t4, t4.$ti._eval$1("ListIterable.E")); + t4 = t2.get$length(t1); + t5 = A._setArrayType([], type$.JSArray_ArgumentsForBatchedStatement); + for (t4 = t2.skip$1(t1, 2).take$1(0, t4 - 3), t3 = A.CastIterable_CastIterable(t4, t4.$ti._eval$1("Iterable.E"), t3), t4 = A._instanceType(t3), t4 = A.MappedIterable_MappedIterable(t3, t4._eval$1("List(Iterable.E)")._as(new A.WebProtocol__deserializeRequest_readBatched_closure0()), t4._eval$1("Iterable.E"), type$.List_nullable_Object), t3 = t4.__internal$_iterable, t6 = A._instanceType(t4), t4 = new A.MappedIterator(t3.get$iterator(t3), t4._f, t6._eval$1("MappedIterator<1,2>")), t3 = this.$this.get$_web_protocol$_decodeDbValue(), t6 = t6._rest[1]; t4.moveNext$0();) { + t7 = t4.__internal$_current; + if (t7 == null) + t7 = t6._as(t7); + t8 = J.getInterceptor$asx(t7); + t9 = A._asInt(A._asDouble(t8.$index(t7, 0))); + t7 = t8.skip$1(t7, 1); + t8 = t7.$ti; + t10 = t8._eval$1("MappedListIterable"); + t7 = A.List_List$_of(new A.MappedListIterable(t7, t8._eval$1("Object?(ListIterable.E)")._as(t3), t10), t10._eval$1("ListIterable.E")); + t5.push(new A.ArgumentsForBatchedStatement(t9, t7)); + } + t1 = t2.$index(t1, t2.get$length(t1) - 1); + t1 = t1 == null ? null : A._asInt(A._asDouble(t1)); + return new A.ExecuteBatchedStatement(new A.BatchedStatements(sqlStatements, t5), t1); + }, + $signature: 108 + }; + A.WebProtocol__deserializeRequest_readBatched_closure.prototype = { + call$1(e) { + return A._asString(e); + }, + $signature: 8 + }; + A.WebProtocol__deserializeRequest_readBatched_closure0.prototype = { + call$1(e) { + type$.JSArray_nullable_Object._as(e); + return e; + }, + $signature: 114 + }; + A.WebProtocol__deserializeRequest_closure.prototype = { + call$1(e) { + var t1, table, kindOrNull; + type$.JSArray_nullable_Object._as(e); + t1 = e.length === 2; + if (t1) { + if (0 < 0 || 0 >= e.length) + return A.ioore(e, 0); + table = e[0]; + if (1 < 0 || 1 >= e.length) + return A.ioore(e, 1); + kindOrNull = e[1]; + } else { + table = null; + kindOrNull = null; + } + if (!t1) + throw A.wrapException(A.StateError$("Pattern matching error")); + A._asString(table); + if (kindOrNull == null) + t1 = null; + else { + kindOrNull = A._asInt(A._asDouble(kindOrNull)); + if (!(kindOrNull >= 0 && kindOrNull < 3)) + return A.ioore(B.List_L4j, kindOrNull); + t1 = B.List_L4j[kindOrNull]; + } + return new A.TableUpdate(t1, table); + }, + $signature: 37 + }; + A.WebProtocol__serializeSelectResult_closure.prototype = { + call$1(e) { + return A._asString(e); + }, + $signature: 8 + }; + A.WebProtocol__deserializeResponse_closure.prototype = { + call$1(e) { + return A._asString(e); + }, + $signature: 8 + }; + A.UpdateKind.prototype = { + _enumToString$0() { + return "UpdateKind." + this._name; + } + }; + A.TableUpdate.prototype = { + get$hashCode(_) { + return A.Object_hash(this.kind, this.table, B.C_SentinelValue, B.C_SentinelValue); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.TableUpdate && other.kind == this.kind && other.table === this.table; + }, + toString$0(_) { + return "TableUpdate(" + this.table + ", kind: " + A.S(this.kind) + ")"; + } + }; + A.runCancellable_closure.prototype = { + call$0() { + return this._box_0.token._resultCompleter.complete$1(A.Future_Future$sync(this.operation, this.T)); + }, + $signature: 0 + }; + A.CancellationToken.prototype = { + cancel$0() { + var t1, _i; + if (this._cancellationRequested) + return; + for (t1 = this._cancellationCallbacks, _i = 0; false; ++_i) + t1[_i].call$0(); + this._cancellationRequested = true; + } + }; + A.CancellationException.prototype = { + toString$0(_) { + return "Operation was cancelled"; + }, + $isException: 1 + }; + A.QueryExecutor.prototype = { + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void); + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + } + }; + A.BatchedStatements.prototype = { + get$hashCode(_) { + return A.Object_hash(B.C_ListEquality.hash$1(this.statements), B.C_ListEquality.hash$1(this.$arguments), B.C_SentinelValue, B.C_SentinelValue); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.BatchedStatements && B.C_ListEquality.equals$2(other.statements, this.statements) && B.C_ListEquality.equals$2(other.$arguments, this.$arguments); + }, + toString$0(_) { + return "BatchedStatements(" + A.S(this.statements) + ", " + A.S(this.$arguments) + ")"; + } + }; + A.ArgumentsForBatchedStatement.prototype = { + get$hashCode(_) { + return A.Object_hash(this.statementIndex, B.C_ListEquality, B.C_SentinelValue, B.C_SentinelValue); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.ArgumentsForBatchedStatement && other.statementIndex === this.statementIndex && B.C_ListEquality.equals$2(other.$arguments, this.$arguments); + }, + toString$0(_) { + return "ArgumentsForBatchedStatement(" + this.statementIndex + ", " + A.S(this.$arguments) + ")"; + } + }; + A.DatabaseDelegate.prototype = {}; + A.QueryDelegate.prototype = {}; + A.TransactionDelegate.prototype = {}; + A.NoTransactionDelegate.prototype = {}; + A.DbVersionDelegate.prototype = {}; + A.NoVersionDelegate.prototype = {}; + A.DynamicVersionDelegate.prototype = {}; + A._BaseExecutor.prototype = { + get$isSequential() { + return false; + }, + get$logStatements() { + return false; + }, + _debugCheckIsOpen$0() { + if (!this._ensureOpenCalled) + throw A.wrapException(A.StateError$("Tried to run an operation without first calling QueryExecutor.ensureOpen()!\n\nIf you're seeing this exception from a drift database, it may indicate a bug in\ndrift itself. Please consider opening an issue with the stack trace and details\non how to reproduce this.")); + if (this._engines$_closed) + throw A.wrapException(A.StateError$("This database or transaction runner has already been closed and may not be used\nanymore.\n\nIf this is happening in a transaction, you might be using the transaction\nwithout awaiting every statement in it.")); + return true; + }, + _synchronized$1$2$abortIfCancelled(action, abortIfCancelled, $T) { + $T._eval$1("Future<0>()")._as(action); + if (this.get$isSequential() || this._waitingChildExecutors > 0) + return this._lock.synchronized$1$1(new A._BaseExecutor__synchronized_closure(abortIfCancelled, action, $T), $T); + else + return action.call$0(); + }, + _synchronized$1$1(action, $T) { + return this._synchronized$1$2$abortIfCancelled(action, true, $T); + }, + _log$2(sql, args) { + this.get$logStatements(); + }, + runSelect$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.List_Map_of_String_and_nullable_Object), + $async$returnValue, $async$self = this, t1; + var $async$runSelect$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._synchronized$1$1(new A._BaseExecutor_runSelect_closure($async$self, statement, args), type$.QueryResult), $async$runSelect$2); + case 3: + // returning from await. + t1 = $async$result.get$asMap(0); + t1 = A.List_List$_of(t1, t1.$ti._eval$1("ListIterable.E")); + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runSelect$2, $async$completer); + }, + runDelete$2(statement, args) { + return this._synchronized$1$1(new A._BaseExecutor_runDelete_closure(this, statement, args), type$.int); + }, + runInsert$2(statement, args) { + return this._synchronized$1$1(new A._BaseExecutor_runInsert_closure(this, statement, args), type$.int); + }, + runCustom$2(statement, args) { + return this._synchronized$1$1(new A._BaseExecutor_runCustom_closure(this, args, statement), type$.void); + }, + runCustom$1(statement) { + return this.runCustom$2(statement, null); + }, + runBatched$1(statements) { + return this._synchronized$1$1(new A._BaseExecutor_runBatched_closure(this, statements), type$.void); + }, + beginExclusive$0() { + return new A._ExclusiveExecutor(this, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), new A.Lock()); + }, + beginTransaction$0() { + return this.beginTransactionInContext$1(this); + } + }; + A._BaseExecutor__synchronized_closure.prototype = { + call$0() { + return this.$call$body$_BaseExecutor__synchronized_closure(this.T); + }, + $call$body$_BaseExecutor__synchronized_closure($async$type) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter($async$type), + $async$returnValue, $async$self = this; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + if ($async$self.abortIfCancelled) + A.checkIfCancelled(); + $async$goto = 3; + return A._asyncAwait($async$self.action.call$0(), $async$call$0); + case 3: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature() { + return this.T._eval$1("Future<0>()"); + } + }; + A._BaseExecutor_runSelect_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + t2 = this.statement; + t3 = this.args; + t1._log$2(t2, t3); + return t1.get$impl().runSelect$2(t2, t3); + }, + $signature: 39 + }; + A._BaseExecutor_runDelete_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + t2 = this.statement; + t3 = this.args; + t1._log$2(t2, t3); + return t1.get$impl().runUpdate$2(t2, t3); + }, + $signature: 23 + }; + A._BaseExecutor_runInsert_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + t2 = this.statement; + t3 = this.args; + t1._log$2(t2, t3); + return t1.get$impl().runInsert$2(t2, t3); + }, + $signature: 23 + }; + A._BaseExecutor_runCustom_closure.prototype = { + call$0() { + var resolvedArgs, t2, + t1 = this.$this; + t1._debugCheckIsOpen$0(); + resolvedArgs = this.args; + if (resolvedArgs == null) + resolvedArgs = B.List_empty1; + t2 = this.statement; + t1._log$2(t2, resolvedArgs); + return t1.get$impl().runCustom$2(t2, resolvedArgs); + }, + $signature: 2 + }; + A._BaseExecutor_runBatched_closure.prototype = { + call$0() { + var t1 = this.$this; + t1._debugCheckIsOpen$0(); + t1.get$logStatements(); + return t1.get$impl().runBatched$1(this.statements); + }, + $signature: 2 + }; + A._TransactionExecutor.prototype = { + _checkCanOpen$0() { + this._ensureOpenCalled = true; + if (this._engines$_closed) + throw A.wrapException(A.StateError$("A transaction was used after being closed. Please check that you're awaiting all database operations inside a `transaction` block.")); + }, + beginTransactionInContext$1(context) { + throw A.wrapException(A.UnsupportedError$("Nested transactions aren't supported.")); + }, + get$dialect() { + return B.SqlDialect_0_sqlite; + }, + get$logStatements() { + return false; + }, + get$isSequential() { + return true; + }, + $isTransactionExecutor: 1 + }; + A._StatementBasedTransactionExecutor.prototype = { + ensureOpen$1(user) { + var opened, $parent, _this = this; + _this._checkCanOpen$0(); + opened = _this._opened; + if (opened == null) { + opened = _this._opened = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool); + $parent = _this._parent; + ++$parent._waitingChildExecutors; + $parent._synchronized$1$2$abortIfCancelled(new A._StatementBasedTransactionExecutor_ensureOpen_closure(_this), false, type$.Null).whenComplete$1(new A._StatementBasedTransactionExecutor_ensureOpen_closure0($parent)); + } + return opened.future; + }, + get$impl() { + return this._db.delegate; + }, + beginTransactionInContext$1(context) { + var t1 = this.depth + 1; + return new A._StatementBasedTransactionExecutor(this._engines$_delegate, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), context, t1, A._defaultSavepoint(t1), A._defaultRelease(t1), A._defaultRollbackToSavepoint(t1), this._db, new A.Lock()); + }, + send$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this; + var $async$send$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._ensureOpenCalled) { + // goto return + $async$goto = 1; + break; + } + $async$goto = 3; + return A._asyncAwait($async$self.runCustom$2($async$self._commitCommand, B.List_empty1), $async$send$0); + case 3: + // returning from await. + $async$self._release$0(); + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$send$0, $async$completer); + }, + rollback$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$next = [], $async$self = this; + var $async$rollback$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._ensureOpenCalled) { + // goto return + $async$goto = 1; + break; + } + $async$handler = 3; + $async$goto = 6; + return A._asyncAwait($async$self.runCustom$2($async$self._rollbackCommand, B.List_empty1), $async$rollback$0); + case 6: + // returning from await. + $async$next.push(5); + // goto finally + $async$goto = 4; + break; + case 3: + // uncaught + $async$next = [2]; + case 4: + // finally + $async$handler = 2; + $async$self._release$0(); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 5: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$rollback$0, $async$completer); + }, + _release$0() { + var _this = this; + if (_this.depth === 0) + _this._db.delegate.isInTransaction = false; + _this._engines$_done.complete$0(); + _this._engines$_closed = true; + } + }; + A._StatementBasedTransactionExecutor_ensureOpen_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Null), + $async$handler = 1, $async$errorStack = [], $async$self = this, e, s, t1, exception, $async$exception; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$handler = 3; + A.checkIfCancelled(); + t1 = $async$self.$this; + $async$goto = 6; + return A._asyncAwait(t1.runCustom$1(t1._startCommand), $async$call$0); + case 6: + // returning from await. + t1._db.delegate.isInTransaction = true; + t1._opened.complete$1(true); + $async$handler = 1; + // goto after finally + $async$goto = 5; + break; + case 3: + // catch + $async$handler = 2; + $async$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + s = A.getTraceFromException($async$exception); + t1 = $async$self.$this; + t1._opened.completeError$2(e, s); + t1._release$0(); + // goto after finally + $async$goto = 5; + break; + case 2: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 5: + // after finally + $async$goto = 7; + return A._asyncAwait($async$self.$this._engines$_done.future, $async$call$0); + case 7: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 19 + }; + A._StatementBasedTransactionExecutor_ensureOpen_closure0.prototype = { + call$0() { + return this.parent._waitingChildExecutors--; + }, + $signature: 42 + }; + A.DelegatedDatabase.prototype = { + get$impl() { + return this.delegate; + }, + get$dialect() { + return B.SqlDialect_0_sqlite; + }, + ensureOpen$1(user) { + return this._openingLock.synchronized$1$1(new A.DelegatedDatabase_ensureOpen_closure(this, user), type$.bool); + }, + _runMigrations$1(user) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, currentVersion, oldVersion, t1, t2; + var $async$_runMigrations$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.delegate; + t2 = t1.__Sqlite3Delegate_versionDelegate_A; + t2 === $ && A.throwLateFieldNI("versionDelegate"); + currentVersion = user.schemaVersion; + $async$goto = t2 instanceof A.NoVersionDelegate ? 2 : 4; + break; + case 2: + // then + oldVersion = currentVersion; + // goto join + $async$goto = 3; + break; + case 4: + // else + $async$goto = t2 instanceof A._SqliteVersionDelegate ? 5 : 7; + break; + case 5: + // then + $async$goto = 8; + return A._asyncAwait(A.Future_Future$value(t2.database.get$userVersion(), type$.int), $async$_runMigrations$1); + case 8: + // returning from await. + oldVersion = $async$result; + // goto join + $async$goto = 6; + break; + case 7: + // else + throw A.wrapException(A.Exception_Exception("Invalid delegate: " + t1.toString$0(0) + ". The versionDelegate getter must not subclass DBVersionDelegate directly")); + case 6: + // join + case 3: + // join + if (oldVersion === 0) + oldVersion = null; + A.assertHelper(oldVersion !== 0); + $async$goto = 9; + return A._asyncAwait(user.beforeOpen$2(new A._BeforeOpeningExecutor($async$self, new A.Lock()), new A.OpeningDetails(oldVersion, currentVersion)), $async$_runMigrations$1); + case 9: + // returning from await. + $async$goto = t2 instanceof A._SqliteVersionDelegate && oldVersion !== currentVersion ? 10 : 11; + break; + case 10: + // then + t2.database.execute$1("PRAGMA user_version = " + currentVersion + ";"); + $async$goto = 12; + return A._asyncAwait(A.Future_Future$value(null, type$.void), $async$_runMigrations$1); + case 12: + // returning from await. + case 11: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_runMigrations$1, $async$completer); + }, + beginTransactionInContext$1(context) { + var t1 = $.Zone__current; + return new A._StatementBasedTransactionExecutor(B.C_NoTransactionDelegate, new A._AsyncCompleter(new A._Future(t1, type$._Future_void), type$._AsyncCompleter_void), context, 0, "BEGIN TRANSACTION", "COMMIT TRANSACTION", "ROLLBACK TRANSACTION", this, new A.Lock()); + }, + close$0() { + return this._openingLock.synchronized$1$1(new A.DelegatedDatabase_close_closure(this), type$.void); + }, + get$logStatements() { + return this.logStatements; + }, + get$isSequential() { + return this.isSequential; + } + }; + A.DelegatedDatabase_ensureOpen_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.bool), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, e, s, t2, _0_0, t3, t4, exception, t1, $async$exception; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + if (t1._engines$_closed) { + t1 = A._interceptUserError(new A.StateError("Can't re-open a database after closing it. Please create a new database connection and open that instead."), null); + t2 = new A._Future($.Zone__current, type$._Future_bool); + t2._asyncCompleteErrorObject$1(t1); + $async$returnValue = t2; + // goto return + $async$goto = 1; + break; + } + _0_0 = t1._migrationError; + if (_0_0 != null) + A.Error_throwWithStackTrace(_0_0._0, _0_0._1); + t2 = t1.delegate; + t3 = type$.bool; + t4 = A.Future_Future$value(t2._isOpen, t3); + $async$goto = 3; + return A._asyncAwait(type$.Future_bool._is(t4) ? t4 : A._Future$value(A._asBool(t4), t3), $async$call$0); + case 3: + // returning from await. + if ($async$result) { + $async$returnValue = t1._ensureOpenCalled = true; + // goto return + $async$goto = 1; + break; + } + t3 = $async$self.user; + $async$goto = 4; + return A._asyncAwait(t2.open$1(t3), $async$call$0); + case 4: + // returning from await. + t1._ensureOpenCalled = true; + $async$handler = 6; + $async$goto = 9; + return A._asyncAwait(t1._runMigrations$1(t3), $async$call$0); + case 9: + // returning from await. + $async$returnValue = true; + // goto return + $async$goto = 1; + break; + $async$handler = 2; + // goto after finally + $async$goto = 8; + break; + case 6: + // catch + $async$handler = 5; + $async$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + s = A.getTraceFromException($async$exception); + t1._migrationError = new A._Record_2(e, s); + throw $async$exception; + // goto after finally + $async$goto = 8; + break; + case 5: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 8: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 43 + }; + A.DelegatedDatabase_close_closure.prototype = { + call$0() { + var t1 = this.$this; + if (t1._ensureOpenCalled && !t1._engines$_closed) { + t1._engines$_closed = true; + t1._ensureOpenCalled = false; + return t1.delegate.close$0(); + } else + return A.Future_Future$value(null, type$.void); + }, + $signature: 2 + }; + A._BeforeOpeningExecutor.prototype = { + beginTransactionInContext$1(context) { + return this._base.beginTransactionInContext$1(context); + }, + ensureOpen$1(_) { + this._ensureOpenCalled = true; + return A.Future_Future$value(true, type$.bool); + }, + get$impl() { + return this._base.delegate; + }, + get$logStatements() { + return false; + }, + get$dialect() { + return B.SqlDialect_0_sqlite; + } + }; + A._ExclusiveExecutor.prototype = { + get$dialect() { + return this._outer.get$dialect(); + }, + ensureOpen$1(user) { + var t1, opened, t2, _this = this, + _0_0 = _this._opened; + if (_0_0 != null) + return _0_0.future; + else { + _this._ensureOpenCalled = true; + t1 = new A._Future($.Zone__current, type$._Future_bool); + opened = new A._AsyncCompleter(t1, type$._AsyncCompleter_bool); + _this._opened = opened; + t2 = _this._outer; + ++t2._waitingChildExecutors; + t2._synchronized$1$1(new A._ExclusiveExecutor_ensureOpen_closure(_this, opened), type$.Null); + return t1; + } + }, + get$impl() { + return this._outer.get$impl(); + }, + beginTransactionInContext$1(context) { + return this._outer.beginTransactionInContext$1(context); + }, + close$0() { + this._completer.complete$0(); + return A.Future_Future$value(null, type$.void); + } + }; + A._ExclusiveExecutor_ensureOpen_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Null), + $async$self = this, t1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$self.opened.complete$1(true); + t1 = $async$self.$this; + $async$goto = 2; + return A._asyncAwait(t1._completer.future, $async$call$0); + case 2: + // returning from await. + --t1._outer._waitingChildExecutors; + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 19 + }; + A.QueryResult.prototype = { + get$asMap(_) { + var t1 = this.rows, + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("Map(1)")._as(new A.QueryResult_asMap_closure(this)), t2._eval$1("MappedListIterable<1,Map>")); + } + }; + A.QueryResult_asMap_closure.prototype = { + call$1(row) { + var t1, t2, t3, t4, t5, _i, column, t6; + type$.List_nullable_Object._as(row); + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic); + for (t2 = this.$this, t3 = t2.columnNames, t4 = t3.length, t2 = t2._columnIndexes, t5 = J.getInterceptor$asx(row), _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) { + column = t3[_i]; + t6 = t2.$index(0, column); + t6.toString; + t1.$indexSet(0, column, t5.$index(row, t6)); + } + return t1; + }, + $signature: 44 + }; + A.QueryInterceptor.prototype = {}; + A._InterceptedExecutor.prototype = { + beginTransaction$0() { + var t1 = this._interceptor$_inner; + return new A._InterceptedTransactionExecutor(t1.beginTransactionInContext$1(t1), this._interceptor$_interceptor); + }, + beginExclusive$0() { + return new A._InterceptedExecutor(new A._ExclusiveExecutor(this._interceptor$_inner, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), new A.Lock()), this._interceptor$_interceptor); + }, + get$dialect() { + return this._interceptor$_inner.get$dialect(); + }, + ensureOpen$1(user) { + return this._interceptor$_inner.ensureOpen$1(user); + }, + runBatched$1(statements) { + return this._interceptor$_inner.runBatched$1(statements); + }, + runCustom$2(statement, args) { + return this._interceptor$_inner.runCustom$2(statement, args); + }, + runDelete$2(statement, args) { + return this._interceptor$_inner.runDelete$2(statement, args); + }, + runInsert$2(statement, args) { + return this._interceptor$_inner.runInsert$2(statement, args); + }, + runSelect$2(statement, args) { + return this._interceptor$_inner.runSelect$2(statement, args); + }, + close$0() { + return this._interceptor$_interceptor.close$1(this._interceptor$_inner); + } + }; + A._InterceptedTransactionExecutor.prototype = { + rollback$0() { + return type$.TransactionExecutor._as(this._interceptor$_inner).rollback$0(); + }, + send$0() { + return type$.TransactionExecutor._as(this._interceptor$_inner).send$0(); + }, + $isTransactionExecutor: 1 + }; + A.OpeningDetails.prototype = {}; + A.SqlDialect.prototype = { + _enumToString$0() { + return "SqlDialect." + this._name; + } + }; + A.Sqlite3Delegate.prototype = { + open$1(db) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, t1, exception; + var $async$open$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = !$async$self._hasInitializedDatabase ? 3 : 4; + break; + case 3: + // then + A.assertHelper($async$self._database == null); + t1 = A._instanceType($async$self)._eval$1("Sqlite3Delegate.0"); + t1 = A._Future$value(t1._as($async$self.openDatabase$0()), t1); + $async$goto = 5; + return A._asyncAwait(t1, $async$open$1); + case 5: + // returning from await. + $async$self._database = $async$result; + try { + A.assertHelper(!$async$self._hasInitializedDatabase); + t1 = $async$self._database; + t1.toString; + A.EnableNativeFunctions_useNativeFunctions(t1); + if ($async$self.enableMigrations) { + t1 = $async$self._database; + t1.toString; + t1 = new A._SqliteVersionDelegate(t1); + } else + t1 = B.C_NoVersionDelegate; + $async$self.__Sqlite3Delegate_versionDelegate_A = t1; + $async$self._hasInitializedDatabase = true; + } catch (exception) { + t1 = $async$self._database; + if (t1 != null) + t1.dispose$0(); + $async$self._database = null; + $async$self._preparedStmtsCache._cachedStatements.clear$0(0); + throw exception; + } + case 4: + // join + $async$self._isOpen = true; + $async$returnValue = A.Future_Future$value(null, type$.void); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$open$1, $async$completer); + }, + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$self._preparedStmtsCache.disposeAll$0(); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + }, + runBatchSync$1(statements) { + var stmt, application, stmt0, stmt1, t1, t2, _i, t3, t4, t5, t6, + prepared = A._setArrayType([], type$.JSArray_CommonPreparedStatement); + try { + for (t1 = J.get$iterator$ax(statements.statements); t1.moveNext$0();) { + stmt = t1.get$current(); + J.add$1$ax(prepared, this._database.prepare$2$checkNoTail(stmt, true)); + } + for (t1 = statements.$arguments, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + application = t1[_i]; + stmt0 = J.$index$asx(prepared, application.statementIndex); + t3 = stmt0; + t4 = application.$arguments; + t5 = t3.finalizable; + if (t5._statement$_closed) + A.throwExpression(A.StateError$(string$.Tried_)); + if (!t5._inResetState) { + t6 = t5.statement; + A._asInt(t6.bindings.sqlite3.sqlite3_reset(t6.stmt)); + t5._inResetState = true; + } + t5.statement.deallocateArguments$0(); + t3._bindParams$1(new A.IndexedParameters(t4)); + t3._execute$0(); + } + } finally { + for (t1 = prepared, t2 = t1.length, t3 = type$.StatementImplementation, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + stmt1 = t1[_i]; + t4 = stmt1; + t5 = t4.finalizable; + if (!t5._statement$_closed) { + t6 = $.$get$disposeFinalizer()._registry; + if (t6 != null) + t6.unregister(t4); + if (!t5._statement$_closed) { + t5._statement$_closed = true; + if (!t5._inResetState) { + t6 = t5.statement; + A._asInt(t6.bindings.sqlite3.sqlite3_reset(t6.stmt)); + t5._inResetState = true; + } + t6 = t5.statement; + t6.deallocateArguments$0(); + A._asInt(t6.bindings.sqlite3.sqlite3_finalize(t6.stmt)); + } + t6 = t4.database; + t3._as(t4); + if (!t6._isClosed) + B.JSArray_methods.remove$1(t6.finalizable._statements, t5); + } + } + } + }, + runWithArgsSync$2(statement, args) { + var stmt, cached, _0_0, t1, t2; + if (args.length === 0) + this._database.execute$1(statement); + else { + stmt = null; + cached = null; + _0_0 = this._getPreparedStatement$1(statement); + stmt = _0_0._0; + cached = _0_0._1; + try { + stmt.executeWith$1(new A.IndexedParameters(args)); + } finally { + t1 = stmt; + t2 = cached; + type$.CommonPreparedStatement._as(t1); + if (!A._asBool(t2)) + t1.dispose$0(); + } + } + }, + runSelect$2(statement, args) { + return this.runSelect$body$Sqlite3Delegate(statement, args); + }, + runSelect$body$Sqlite3Delegate(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.QueryResult), + $async$returnValue, $async$next = [], $async$self = this, result, t1, t2, stmt, cached, _0_0; + var $async$runSelect$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + stmt = null; + cached = null; + _0_0 = $async$self._getPreparedStatement$1(statement); + stmt = _0_0._0; + cached = _0_0._1; + try { + result = stmt.selectWith$1(new A.IndexedParameters(args)); + t1 = A.QueryResult_QueryResult$fromRows(J.toList$0$ax(result)); + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + } finally { + t1 = stmt; + t2 = cached; + type$.CommonPreparedStatement._as(t1); + if (!A._asBool(t2)) + t1.dispose$0(); + } + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runSelect$2, $async$completer); + }, + _getPreparedStatement$1(sql) { + var stmt, t3, + t1 = this._preparedStmtsCache._cachedStatements, + foundStatement = t1.remove$1(0, sql), + t2 = foundStatement != null; + if (t2) + t1.$indexSet(0, sql, foundStatement); + if (t2) + return new A._Record_2(foundStatement, true); + stmt = this._database.prepare$2$checkNoTail(sql, true); + t2 = stmt.statement; + t3 = t2.stmt; + t2 = t2.bindings.sqlite3; + if (A._asInt(t2.sqlite3_stmt_isexplain(t3)) === 0) { + A.assertHelper(!t1.containsKey$1(sql)); + if (t1.__js_helper$_length === 64) + t1.remove$1(0, new A.LinkedHashMapKeysIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeysIterable<1>")).get$first(0)).dispose$0(); + t1.$indexSet(0, sql, stmt); + } + return new A._Record_2(stmt, A._asInt(t2.sqlite3_stmt_isexplain(t3)) === 0); + } + }; + A._SqliteVersionDelegate.prototype = {}; + A.PreparedStatementsCache.prototype = { + disposeAll$0() { + var t1, t2, t3, t4, t5; + for (t1 = this._cachedStatements, t2 = new A.LinkedHashMapValueIterator(t1, t1.__js_helper$_modifications, t1.__js_helper$_first, A._instanceType(t1)._eval$1("LinkedHashMapValueIterator<2>")); t2.moveNext$0();) { + t3 = t2.__js_helper$_current; + t4 = t3.finalizable; + if (!t4._statement$_closed) { + t5 = $.$get$disposeFinalizer()._registry; + if (t5 != null) + t5.unregister(t3); + if (!t4._statement$_closed) { + t4._statement$_closed = true; + if (!t4._inResetState) { + t5 = t4.statement; + A._asInt(t5.bindings.sqlite3.sqlite3_reset(t5.stmt)); + t4._inResetState = true; + } + t5 = t4.statement; + t5.deallocateArguments$0(); + A._asInt(t5.bindings.sqlite3.sqlite3_finalize(t5.stmt)); + } + t3 = t3.database; + if (!t3._isClosed) + B.JSArray_methods.remove$1(t3.finalizable._statements, t4); + } + } + t1.clear$0(0); + } + }; + A.EnableNativeFunctions_useNativeFunctions_closure.prototype = { + call$1(args) { + return Date.now(); + }, + $signature: 45 + }; + A._unaryNumFunction_closure.prototype = { + call$1(args) { + var value = args.$index(0, 0); + if (typeof value == "number") + return this.calculation.call$1(value); + else + return null; + }, + $signature: 36 + }; + A.LazyDatabase.prototype = { + get$_delegate() { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1; + }, + get$dialect() { + if (this._delegateAvailable) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + t1 = B.SqlDialect_0_sqlite !== t1.get$dialect(); + } else + t1 = false; + if (t1) + throw A.wrapException(A.Exception_Exception("LazyDatabase created with " + B.SqlDialect_0_sqlite.toString$0(0) + ", but underlying database is " + this.get$_delegate().get$dialect().toString$0(0) + ".")); + return B.SqlDialect_0_sqlite; + }, + _awaitOpened$0() { + var t1, delegate, _this = this; + if (_this._delegateAvailable) + return A.Future_Future$value(null, type$.void); + else { + t1 = _this._openDelegate; + if (t1 != null) + return t1.future; + else { + t1 = new A._Future($.Zone__current, type$._Future_void); + delegate = _this._openDelegate = new A._AsyncCompleter(t1, type$._AsyncCompleter_void); + A.Future_Future$sync(_this.opener, type$.QueryExecutor).then$1$2$onError(new A.LazyDatabase__awaitOpened_closure(_this, delegate), delegate.get$completeError(), type$.Null); + return t1; + } + } + }, + beginExclusive$0() { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.beginExclusive$0(); + }, + beginTransaction$0() { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.beginTransaction$0(); + }, + ensureOpen$1(user) { + return this._awaitOpened$0().then$1$1(new A.LazyDatabase_ensureOpen_closure(this, user), type$.bool); + }, + runBatched$1(statements) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runBatched$1(statements); + }, + runCustom$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runCustom$2(statement, args); + }, + runDelete$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runDelete$2(statement, args); + }, + runInsert$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runInsert$2(statement, args); + }, + runSelect$2(statement, args) { + var t1 = this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.runSelect$2(statement, args); + }, + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, t1, _0_0; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = $async$self._delegateAvailable ? 3 : 5; + break; + case 3: + // then + t1 = $async$self.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + $async$goto = 6; + return A._asyncAwait(t1.close$0(), $async$close$0); + case 6: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + // goto join + $async$goto = 4; + break; + case 5: + // else + _0_0 = $async$self._openDelegate; + $async$goto = _0_0 != null ? 7 : 8; + break; + case 7: + // then + $async$goto = 9; + return A._asyncAwait(_0_0.future, $async$close$0); + case 9: + // returning from await. + t1 = $async$self.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + $async$goto = 10; + return A._asyncAwait(t1.close$0(), $async$close$0); + case 10: + // returning from await. + case 8: + // join + case 4: + // join + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + } + }; + A.LazyDatabase__awaitOpened_closure.prototype = { + call$1(database) { + var t1; + type$.QueryExecutor._as(database); + t1 = this.$this; + t1.__LazyDatabase__delegate_F !== $ && A.throwLateFieldAI("_delegate"); + t1.__LazyDatabase__delegate_F = database; + t1._delegateAvailable = true; + this.delegate.complete$0(); + }, + $signature: 47 + }; + A.LazyDatabase_ensureOpen_closure.prototype = { + call$1(_) { + var t1 = this.$this.__LazyDatabase__delegate_F; + t1 === $ && A.throwLateFieldNI("_delegate"); + return t1.ensureOpen$1(this.user); + }, + $signature: 48 + }; + A.Lock.prototype = { + synchronized$1$1(block, $T) { + var previous, blockReleasedLock, t1; + $T._eval$1("0/()")._as(block); + previous = this._last; + blockReleasedLock = new A._Future($.Zone__current, type$._Future_void); + this._last = blockReleasedLock; + t1 = new A.Lock_synchronized_callBlockAndComplete(this, block, new A._AsyncCompleter(blockReleasedLock, type$._AsyncCompleter_void), blockReleasedLock, $T); + if (previous != null) + return previous.then$1$1(new A.Lock_synchronized_closure(t1, $T), $T); + else + return t1.call$0(); + } + }; + A.Lock_synchronized_callBlockAndComplete.prototype = { + call$0() { + var _this = this; + return A.Future_Future$sync(_this.block, _this.T).whenComplete$1(new A.Lock_synchronized_callBlockAndComplete_closure(_this.$this, _this.blockCompleted, _this.blockReleasedLock)); + }, + $signature() { + return this.T._eval$1("Future<0>()"); + } + }; + A.Lock_synchronized_callBlockAndComplete_closure.prototype = { + call$0() { + this.blockCompleted.complete$0(); + var t1 = this.$this; + if (t1._last === this.blockReleasedLock) + t1._last = null; + }, + $signature: 6 + }; + A.Lock_synchronized_closure.prototype = { + call$1(_) { + return this.callBlockAndComplete.call$0(); + }, + $signature() { + return this.T._eval$1("Future<0>(~)"); + } + }; + A.WebPortToChannel_channel_closure.prototype = { + call$1($event) { + var t1, _this = this, _s6_ = "_local", _s5_ = "_sink", + message = A._asJSObject($event).data; + if (_this.explicitClose && J.$eq$(message, "_disconnect")) { + t1 = _this.controller.__StreamChannelController__local_F; + t1 === $ && A.throwLateFieldNI(_s6_); + t1 = t1.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI(_s5_); + t1.close$0(); + } else { + t1 = _this.controller.__StreamChannelController__local_F; + if (_this.webNativeSerialization) { + t1 === $ && A.throwLateFieldNI(_s6_); + t1 = t1.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI(_s5_); + t1.add$1(0, _this.protocol.deserialize$1(type$.JSArray_nullable_Object._as(message))); + } else { + t1 === $ && A.throwLateFieldNI(_s6_); + t1 = t1.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI(_s5_); + t1.add$1(0, A.dartify(message)); + } + } + }, + $signature: 12 + }; + A.WebPortToChannel_channel_closure0.prototype = { + call$1(e) { + var t1 = this._this; + if (this.webNativeSerialization) + t1.postMessage(this.protocol.serialize$1(type$.Message._as(e))); + else + t1.postMessage(A.jsify(e)); + }, + $signature: 9 + }; + A.WebPortToChannel_channel_closure1.prototype = { + call$0() { + if (this.explicitClose) + this._this.postMessage("_disconnect"); + this._this.close(); + }, + $signature: 0 + }; + A.DedicatedDriftWorker.prototype = { + start$0() { + A._EventStreamSubscription$(this.self, "message", type$.nullable_void_Function_JSObject._as(new A.DedicatedDriftWorker_start_closure(this)), false, type$.JSObject); + }, + _dedicated_worker$_handleMessage$1(message) { + return this._handleMessage$body$DedicatedDriftWorker(message); + }, + _handleMessage$body$DedicatedDriftWorker(message) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$errorStack = [], $async$self = this, storage, $name, e, t1, dbName, _box_0, existingServer, existingDatabases, opfsExists, t2, indexedDbExists, _this, t3, options, worker, _0_7_isSet, _0_7, exception, $async$exception, $async$temp1; + var $async$_dedicated_worker$_handleMessage$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = message instanceof A.RequestCompatibilityCheck; + dbName = t1 ? message.databaseName : null; + $async$goto = t1 ? 3 : 4; + break; + case 3: + // then + _box_0 = {}; + _box_0.supportsIndexedDb = _box_0.supportsOpfs = false; + $async$goto = 5; + return A._asyncAwait($async$self._checkCompatibility.synchronized$1$1(new A.DedicatedDriftWorker__handleMessage_closure(_box_0, $async$self), type$.Null), $async$_dedicated_worker$_handleMessage$1); + case 5: + // returning from await. + existingServer = $async$self._dedicated_worker$_servers.servers.$index(0, dbName); + existingDatabases = A._setArrayType([], type$.JSArray_Record_2_WebStorageApi_and_String); + opfsExists = false; + $async$goto = _box_0.supportsOpfs ? 6 : 7; + break; + case 6: + // then + $async$temp1 = J; + $async$goto = 8; + return A._asyncAwait(A.opfsDatabases(), $async$_dedicated_worker$_handleMessage$1); + case 8: + // returning from await. + t1 = $async$temp1.get$iterator$ax($async$result); + case 9: + // for condition + if (!t1.moveNext$0()) { + // goto after for + $async$goto = 10; + break; + } + t2 = t1.get$current(); + B.JSArray_methods.add$1(existingDatabases, new A._Record_2(B.WebStorageApi_0, t2)); + if (t2 === dbName) + opfsExists = true; + // goto for condition + $async$goto = 9; + break; + case 10: + // after for + case 7: + // join + $async$goto = existingServer != null ? 11 : 13; + break; + case 11: + // then + t1 = existingServer.storage; + indexedDbExists = t1 === B.WasmStorageImplementation_2_sharedIndexedDb || t1 === B.WasmStorageImplementation_3_unsafeIndexedDb; + opfsExists = t1 === B.WasmStorageImplementation_0_opfsShared || t1 === B.WasmStorageImplementation_1_opfsLocks; + // goto join + $async$goto = 12; + break; + case 13: + // else + $async$temp1 = _box_0.supportsIndexedDb; + if ($async$temp1) { + // goto then + $async$goto = 14; + break; + } else + $async$result = $async$temp1; + // goto join + $async$goto = 15; + break; + case 14: + // then + $async$goto = 16; + return A._asyncAwait(A.checkIndexedDbExists(dbName), $async$_dedicated_worker$_handleMessage$1); + case 16: + // returning from await. + case 15: + // join + indexedDbExists = $async$result; + case 12: + // join + t1 = init.G; + _this = "Worker" in t1; + t2 = _box_0.supportsOpfs; + t3 = _box_0.supportsIndexedDb; + new A.DedicatedWorkerCompatibilityResult(_this, t2, "SharedArrayBuffer" in t1, t3, existingDatabases, B.ProtocolVersion_4_4_v4, indexedDbExists, opfsExists).sendToClient$1($async$self.self); + // goto break $label0$0 + $async$goto = 2; + break; + case 4: + // join + if (message instanceof A.ServeDriftDatabase) { + $async$self._dedicated_worker$_servers.serve$1(message); + // goto break $label0$0 + $async$goto = 2; + break; + } + t1 = message instanceof A.StartFileSystemServer; + options = t1 ? message.sqlite3Options : null; + $async$goto = t1 ? 17 : 18; + break; + case 17: + // then + $async$goto = 19; + return A._asyncAwait(A.VfsWorker_create(options), $async$_dedicated_worker$_handleMessage$1); + case 19: + // returning from await. + worker = $async$result; + $async$self.self.postMessage(true); + $async$goto = 20; + return A._asyncAwait(worker.start$0(), $async$_dedicated_worker$_handleMessage$1); + case 20: + // returning from await. + // goto break $label0$0 + $async$goto = 2; + break; + case 18: + // join + storage = null; + $name = null; + _0_7_isSet = message instanceof A.DeleteDatabase; + if (_0_7_isSet) { + _0_7 = message.database; + storage = _0_7._0; + $name = _0_7._1; + } + $async$goto = _0_7_isSet ? 21 : 22; + break; + case 21: + // then + $async$handler = 24; + case 27: + // switch + switch (storage) { + case B.WebStorageApi_1: + // goto case + $async$goto = 29; + break; + case B.WebStorageApi_0: + // goto case + $async$goto = 30; + break; + default: + // goto after switch + $async$goto = 28; + break; + } + break; + case 29: + // case + $async$goto = 31; + return A._asyncAwait(A.deleteDatabaseInIndexedDb($name), $async$_dedicated_worker$_handleMessage$1); + case 31: + // returning from await. + // goto after switch + $async$goto = 28; + break; + case 30: + // case + $async$goto = 32; + return A._asyncAwait(A.deleteDatabaseInOpfs($name), $async$_dedicated_worker$_handleMessage$1); + case 32: + // returning from await. + // goto after switch + $async$goto = 28; + break; + case 28: + // after switch + message.sendToClient$1($async$self.self); + $async$handler = 1; + // goto after finally + $async$goto = 26; + break; + case 24: + // catch + $async$handler = 23; + $async$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + new A.WorkerError(J.toString$0$(e)).sendToClient$1($async$self.self); + // goto after finally + $async$goto = 26; + break; + case 23: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 26: + // after finally + // goto break $label0$0 + $async$goto = 2; + break; + case 22: + // join + // goto break $label0$0 + $async$goto = 2; + break; + case 2: + // break $label0$0 + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_dedicated_worker$_handleMessage$1, $async$completer); + } + }; + A.DedicatedDriftWorker_start_closure.prototype = { + call$1($event) { + this.$this._dedicated_worker$_handleMessage$1(A.WasmInitializationMessage_WasmInitializationMessage$fromJs(A._asJSObject($event.data))); + }, + $signature: 1 + }; + A.DedicatedDriftWorker__handleMessage_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Null), + $async$self = this, supportsIndexedDb, t1, knownResults, t2, $async$temp1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + knownResults = t1._compatibility; + t2 = $async$self._box_0; + $async$goto = knownResults != null ? 2 : 4; + break; + case 2: + // then + t2.supportsOpfs = knownResults.supportsOpfs; + t2.supportsIndexedDb = knownResults.supportsIndexedDb; + // goto join + $async$goto = 3; + break; + case 4: + // else + $async$temp1 = t2; + $async$goto = 5; + return A._asyncAwait(A.checkOpfsSupport(), $async$call$0); + case 5: + // returning from await. + $async$temp1.supportsOpfs = $async$result; + $async$goto = 6; + return A._asyncAwait(A.checkIndexedDbSupport(), $async$call$0); + case 6: + // returning from await. + supportsIndexedDb = $async$result; + t2.supportsIndexedDb = supportsIndexedDb; + t1._compatibility = new A.WasmCompatibility(supportsIndexedDb, t2.supportsOpfs); + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 19 + }; + A.ProtocolVersion.prototype = { + _enumToString$0() { + return "ProtocolVersion." + this._name; + } + }; + A.WasmInitializationMessage.prototype = { + sendToWorker$1(worker) { + this.sendTo$1(new A.WasmInitializationMessage_sendToWorker_closure(worker)); + }, + sendToPort$1(port) { + this.sendTo$1(new A.WasmInitializationMessage_sendToPort_closure(port)); + }, + sendToClient$1(worker) { + this.sendTo$1(new A.WasmInitializationMessage_sendToClient_closure(worker)); + } + }; + A.WasmInitializationMessage_sendToWorker_closure.prototype = { + call$2(msg, transfer) { + var t1; + type$.nullable_List_JSObject._as(transfer); + t1 = transfer == null ? B.List_empty : transfer; + this.worker.postMessage(msg, t1); + }, + $signature: 20 + }; + A.WasmInitializationMessage_sendToPort_closure.prototype = { + call$2(msg, transfer) { + var t1; + type$.nullable_List_JSObject._as(transfer); + t1 = transfer == null ? B.List_empty : transfer; + this.port.postMessage(msg, t1); + }, + $signature: 20 + }; + A.WasmInitializationMessage_sendToClient_closure.prototype = { + call$2(msg, transfer) { + var t1; + type$.nullable_List_JSObject._as(transfer); + t1 = transfer == null ? B.List_empty : transfer; + this.worker.postMessage(msg, t1); + }, + $signature: 20 + }; + A.CompatibilityResult.prototype = {}; + A.SharedWorkerCompatibilityResult.prototype = { + sendTo$1(sender) { + var _this = this; + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "SharedWorkerCompatibilityResult", A._setArrayType([_this.canSpawnDedicatedWorkers, _this.dedicatedWorkersCanUseOpfs, _this.canUseIndexedDb, _this.indexedDbExists, _this.opfsExists, A.EncodeLocations_encodeToJs(_this.existingDatabases), _this.version.versionCode], type$.JSArray_Object), null); + } + }; + A.SharedWorkerCompatibilityResult_SharedWorkerCompatibilityResult$fromJsPayload_asBoolean.prototype = { + call$1(index) { + return A._asBool(J.$index$asx(this.asList, index)); + }, + $signature: 52 + }; + A.WorkerError.prototype = { + sendTo$1(sender) { + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "Error", this.error, null); + }, + toString$0(_) { + return "Error in worker: " + this.error; + }, + $isException: 1 + }; + A.ServeDriftDatabase.prototype = { + sendTo$1(sender) { + var _this0, t1, t2, _this = this; + type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender); + _this0 = {}; + _this0.sqlite = _this.sqlite3WasmUri.toString$0(0); + t1 = _this.port; + _this0.port = t1; + _this0.storage = _this.storage._name; + _this0.database = _this.databaseName; + t2 = _this.initializationPort; + _this0.initPort = t2; + _this0.migrations = _this.enableMigrations; + _this0.new_serialization = _this.newSerialization; + _this0.v = _this.protocolVersion.versionCode; + t1 = A._setArrayType([t1], type$.JSArray_JSObject); + if (t2 != null) + t1.push(t2); + A._extension_1_sendTyped(sender, "ServeDriftDatabase", _this0, t1); + } + }; + A.RequestCompatibilityCheck.prototype = { + sendTo$1(sender) { + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "RequestCompatibilityCheck", this.databaseName, null); + } + }; + A.DedicatedWorkerCompatibilityResult.prototype = { + sendTo$1(sender) { + var _this0, _this = this; + type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender); + _this0 = {}; + _this0.supportsNestedWorkers = _this.supportsNestedWorkers; + _this0.canAccessOpfs = _this.canAccessOpfs; + _this0.supportsIndexedDb = _this.supportsIndexedDb; + _this0.supportsSharedArrayBuffers = _this.supportsSharedArrayBuffers; + _this0.indexedDbExists = _this.indexedDbExists; + _this0.opfsExists = _this.opfsExists; + _this0.existing = A.EncodeLocations_encodeToJs(_this.existingDatabases); + _this0.v = _this.version.versionCode; + A._extension_1_sendTyped(sender, "DedicatedWorkerCompatibilityResult", _this0, null); + } + }; + A.StartFileSystemServer.prototype = { + sendTo$1(sender) { + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "StartFileSystemServer", this.sqlite3Options, null); + } + }; + A.DeleteDatabase.prototype = { + sendTo$1(sender) { + var t1 = this.database; + A._extension_1_sendTyped(type$.void_Function_2_nullable_JSObject_and_nullable_List_JSObject._as(sender), "DeleteDatabase", A._setArrayType([t1._0._name, t1._1], type$.JSArray_String), null); + } + }; + A.checkIndexedDbExists_closure.prototype = { + call$1($event) { + A._asJSObject($event); + A._asJSObjectQ(this.openRequest.transaction).abort(); + this._box_0.indexedDbExists = false; + }, + $signature: 12 + }; + A.opfsDatabases_closure.prototype = { + call$1(data) { + type$.JSArray_nullable_Object._as(data); + if (1 < 0 || 1 >= data.length) + return A.ioore(data, 1); + return A._asJSObject(data[1]); + }, + $signature: 53 + }; + A.DriftServerController.prototype = { + serve$1(message) { + var t1, t2; + type$.ServeDriftDatabase._as(message); + t1 = message.protocolVersion.versionCode; + t2 = message.newSerialization; + this.servers.putIfAbsent$2(message.databaseName, new A.DriftServerController_serve_closure(this, message)).serve$2(A.WebPortToChannel_channel(message.port, t1 >= 1, t1, t2), !t2); + }, + openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage(databaseName, enableMigrations, initializer, sqlite3WasmUri, storage) { + return this.openConnection$body$DriftServerController(databaseName, enableMigrations, type$.nullable_FutureOr_nullable_Uint8List_Function._as(initializer), sqlite3WasmUri, storage); + }, + openConnection$body$DriftServerController(databaseName, enableMigrations, initializer, sqlite3WasmUri, storage) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.QueryExecutor), + $async$returnValue, $async$self = this, vfs, t1, t2, response, file, $name, t3, ptr, db, sqlite3, $close; + var $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait(A.WasmSqlite3_loadFromUrl(sqlite3WasmUri), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 3: + // returning from await. + sqlite3 = $async$result; + $close = null; + case 4: + // switch + switch (storage.index) { + case 0: + // goto case + $async$goto = 6; + break; + case 1: + // goto case + $async$goto = 7; + break; + case 3: + // goto case + $async$goto = 8; + break; + case 2: + // goto case + $async$goto = 9; + break; + case 4: + // goto case + $async$goto = 10; + break; + default: + // goto default + $async$goto = 11; + break; + } + break; + case 6: + // case + $async$goto = 12; + return A._asyncAwait(A.SimpleOpfsFileSystem_loadFromStorage("drift_db/" + databaseName), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 12: + // returning from await. + vfs = $async$result; + $close = vfs.get$close(); + // goto after switch + $async$goto = 5; + break; + case 7: + // case + $async$goto = 13; + return A._asyncAwait($async$self._loadLockedWasmVfs$1(databaseName), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 13: + // returning from await. + vfs = $async$result; + $close = vfs.get$close(); + // goto after switch + $async$goto = 5; + break; + case 8: + // case + case 9: + // case + $async$goto = 14; + return A._asyncAwait(A.IndexedDbFileSystem_open(databaseName), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 14: + // returning from await. + vfs = $async$result; + $close = vfs.get$close(); + // goto after switch + $async$goto = 5; + break; + case 10: + // case + vfs = A.InMemoryFileSystem$(null); + // goto after switch + $async$goto = 5; + break; + case 11: + // default + vfs = null; + case 5: + // after switch + $async$goto = initializer != null && vfs.xAccess$2("/database", 0) === 0 ? 15 : 16; + break; + case 15: + // then + t1 = initializer.call$0(); + t2 = type$.nullable_Uint8List; + $async$goto = 17; + return A._asyncAwait(type$.Future_nullable_Uint8List._is(t1) ? t1 : A._Future$value(t2._as(t1), t2), $async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage); + case 17: + // returning from await. + response = $async$result; + if (response != null) { + file = vfs.xOpen$2(new A.Sqlite3Filename("/database"), 4)._0; + file.xWrite$2(response, 0); + file.xClose$0(); + } + case 16: + // join + type$.VirtualFileSystem._as(vfs); + t1 = sqlite3.bindings; + t1 = t1.bindings; + $name = t1.allocateBytes$2$additionalLength(B.C_Utf8Encoder.convert$1(vfs.name), 1); + t2 = t1.callbacks; + t3 = t2._id++; + t2.registeredVfs.$indexSet(0, t3, vfs); + ptr = A._asInt(t1.sqlite3.dart_sqlite3_register_vfs($name, t3, 1)); + if (ptr === 0) + A.throwExpression(A.StateError$("could not register vfs")); + t1 = $.$get$DartCallbacks_sqliteVfsPointer(); + t1.$ti._eval$1("1?")._as(ptr); + t1._jsWeakMap.set(vfs, ptr); + t1 = A.LinkedHashMap_LinkedHashMap(type$.String, type$.CommonPreparedStatement); + db = new A.WasmDatabase(new A._WasmDelegate(sqlite3, "/database", null, $async$self._setup, true, enableMigrations, new A.PreparedStatementsCache(t1)), false, true, new A.Lock(), new A.Lock()); + if ($close != null) { + $async$returnValue = A.ApplyInterceptor_interceptWith(db, new A._CloseVfsOnClose($close, db)); + // goto return + $async$goto = 1; + break; + } else { + $async$returnValue = db; + // goto return + $async$goto = 1; + break; + } + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage, $async$completer); + }, + _loadLockedWasmVfs$1(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.WasmVfs), + $async$returnValue, worker, t5, t6, t1, buffer, t2, t3, t4; + var $async$_loadLockedWasmVfs$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = init.G; + buffer = A._asJSObject(new t1.SharedArrayBuffer(8)); + t2 = type$.JavaScriptFunction; + t3 = t2._as(t1.Int32Array); + t4 = type$.JSObject; + t3 = type$.NativeInt32List._as(A.callConstructor(t3, [buffer], t4)); + A._asInt(t1.Atomics.store(t3, 0, -1)); + t3 = {clientVersion: 1, root: "drift_db/" + databaseName, synchronizationBuffer: buffer, communicationBuffer: A._asJSObject(new t1.SharedArrayBuffer(67584))}; + worker = A._asJSObject(new t1.Worker(A.Uri_base().toString$0(0))); + new A.StartFileSystemServer(t3).sendToWorker$1(worker); + $async$goto = 3; + return A._asyncAwait(new A._EventStream(worker, "message", false, type$._EventStream_JSObject).get$first(0), $async$_loadLockedWasmVfs$1); + case 3: + // returning from await. + t5 = A.RequestResponseSynchronizer_RequestResponseSynchronizer(A._asJSObject(t3.synchronizationBuffer)); + t3 = A._asJSObject(t3.communicationBuffer); + t6 = A.SharedArrayBuffer_asByteData(t3, 65536, 2048); + t1 = t2._as(t1.Uint8Array); + t1 = type$.NativeUint8List._as(A.callConstructor(t1, [t3], t4)); + t2 = A.Context_Context("/", $.$get$Style_url()); + t4 = $.$get$BaseVirtualFileSystem__fallbackRandom(); + $async$returnValue = new A.WasmVfs(t5, new A.MessageSerializer(t3, t6, t1), t2, t4, "dart-sqlite3-vfs"); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_loadLockedWasmVfs$1, $async$completer); + } + }; + A.DriftServerController_serve_closure.prototype = { + call$0() { + var t1 = this.message, + initPort = t1.initializationPort, + initializer = initPort != null ? new A.DriftServerController_serve__closure(initPort) : null, + t2 = this.$this, + server = A.ServerImplementation$(new A.LazyDatabase(new A.DriftServerController_serve__closure0(t2, t1, initializer)), false, true), + t3 = new A._Future($.Zone__current, type$._Future_void), + wasmServer = new A.RunningWasmServer(t1.storage, server, new A._SyncCompleter(t3, type$._SyncCompleter_void)); + t3.whenComplete$1(new A.DriftServerController_serve__closure1(t2, t1, wasmServer)); + return wasmServer; + }, + $signature: 54 + }; + A.DriftServerController_serve__closure.prototype = { + call$0() { + var t1 = new A._Future($.Zone__current, type$._Future_nullable_Uint8List), + t2 = this.initPort; + t2.postMessage(true); + t2.onmessage = A._functionToJS1(new A.DriftServerController_serve___closure(new A._AsyncCompleter(t1, type$._AsyncCompleter_nullable_Uint8List))); + return t1; + }, + $signature: 55 + }; + A.DriftServerController_serve___closure.prototype = { + call$1(e) { + var data = type$.nullable_NativeUint8List._as(A._asJSObject(e).data), + t1 = data == null ? null : data; + this.completer.complete$1(t1); + }, + $signature: 12 + }; + A.DriftServerController_serve__closure0.prototype = { + call$0() { + var t1 = this.message; + return this.$this.openConnection$5$databaseName$enableMigrations$initializer$sqlite3WasmUri$storage(t1.databaseName, t1.enableMigrations, this.initializer, t1.sqlite3WasmUri, t1.storage); + }, + $signature: 56 + }; + A.DriftServerController_serve__closure1.prototype = { + call$0() { + this.$this.servers.remove$1(0, this.message.databaseName); + this.wasmServer.server.shutdown$0(); + }, + $signature: 6 + }; + A._CloseVfsOnClose.prototype = { + close$1(inner) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1; + var $async$close$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait(inner.close$0(), $async$close$1); + case 2: + // returning from await. + $async$goto = $async$self._root === inner ? 3 : 4; + break; + case 3: + // then + t1 = $async$self._shared$_close.call$0(); + $async$goto = 5; + return A._asyncAwait(t1 instanceof A._Future ? t1 : A._Future$value(t1, type$.void), $async$close$1); + case 5: + // returning from await. + case 4: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$1, $async$completer); + } + }; + A.RunningWasmServer.prototype = { + serve$2(channel, serialize) { + var t1, t2, t3, t4; + ++this._connectedClients; + t1 = type$.nullable_Object; + t2 = channel.$ti; + t1 = t2._eval$1("Stream<1>(Stream<1>)")._as(t2._eval$1("StreamTransformer<1,1>")._as(A._StreamHandlerTransformer$(new A.RunningWasmServer_serve_closure(this), t1, t1)).get$bind()).call$1(channel.get$stream()); + t3 = new A.CloseGuaranteeChannel(t2._eval$1("CloseGuaranteeChannel<1>")); + t4 = t2._eval$1("_CloseGuaranteeSink<1>"); + t3.__CloseGuaranteeChannel__sink_F = t4._as(new A._CloseGuaranteeSink(t3, channel.get$sink(), t4)); + t2 = t2._eval$1("_CloseGuaranteeStream<1>"); + t3.__CloseGuaranteeChannel__stream_F = t2._as(new A._CloseGuaranteeStream(t1, t3, t2)); + this.server.serve$2$serialize(t3, serialize); + } + }; + A.RunningWasmServer_serve_closure.prototype = { + call$1(sink) { + var t1 = this.$this; + if (--t1._connectedClients === 0) + t1._lastClientDisconnected.complete$0(); + t1 = sink._async$_sink; + if ((t1._state & 2) !== 0) + A.throwExpression(A.StateError$("Stream is already closed")); + t1.super$_BufferingStreamSubscription$_close(); + }, + $signature: 57 + }; + A.WasmCompatibility.prototype = {}; + A.CompleteIdbRequest_complete_closure1.prototype = { + call$1($event) { + this.completer.complete$1(this.T._as(this._this.result)); + }, + $signature: 1 + }; + A.CompleteIdbRequest_complete_closure2.prototype = { + call$1($event) { + var t1 = A._asJSObjectQ(this._this.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.CompleteIdbRequest_complete_closure3.prototype = { + call$1($event) { + var t1 = A._asJSObjectQ(this._this.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.SharedDriftWorker.prototype = { + start$0() { + A._EventStreamSubscription$(this.self, "connect", type$.nullable_void_Function_JSObject._as(new A.SharedDriftWorker_start_closure(this)), false, type$.JSObject); + }, + _newConnection$1($event) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, clientPort; + var $async$_newConnection$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSArray_nullable_Object._as($event.ports); + clientPort = J.$index$asx(type$.List_JSObject._is(t1) ? t1 : new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,JSObject>")), 0); + clientPort.start(); + A._EventStreamSubscription$(clientPort, "message", type$.nullable_void_Function_JSObject._as(new A.SharedDriftWorker__newConnection_closure($async$self, clientPort)), false, type$.JSObject); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_newConnection$1, $async$completer); + }, + _messageFromClient$2(client, $event) { + return this._messageFromClient$body$SharedDriftWorker(client, $event); + }, + _messageFromClient$body$SharedDriftWorker(client, $event) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$errorStack = [], $async$self = this, message, _0_0, dbName, result, e, t1, exception, $async$exception; + var $async$_messageFromClient$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$handler = 3; + message = A.WasmInitializationMessage_WasmInitializationMessage$fromJs(A._asJSObject($event.data)); + _0_0 = message; + dbName = null; + t1 = _0_0 instanceof A.RequestCompatibilityCheck; + if (t1) + dbName = _0_0.databaseName; + $async$goto = t1 ? 7 : 8; + break; + case 7: + // then + $async$goto = 9; + return A._asyncAwait($async$self._startFeatureDetection$1(dbName), $async$_messageFromClient$2); + case 9: + // returning from await. + result = $async$result; + result.sendToPort$1(client); + // goto break $label0$0 + $async$goto = 6; + break; + case 8: + // join + if (_0_0 instanceof A.ServeDriftDatabase && B.WasmStorageImplementation_2_sharedIndexedDb === _0_0.storage) { + $async$self._servers.serve$1(message); + // goto break $label0$0 + $async$goto = 6; + break; + } + if (_0_0 instanceof A.ServeDriftDatabase) { + t1 = $async$self._dedicatedWorker; + t1.toString; + message.sendToWorker$1(t1); + // goto break $label0$0 + $async$goto = 6; + break; + } + t1 = A.ArgumentError$("Unknown message", null); + throw A.wrapException(t1); + case 6: + // break $label0$0 + $async$handler = 1; + // goto after finally + $async$goto = 5; + break; + case 3: + // catch + $async$handler = 2; + $async$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + new A.WorkerError(J.toString$0$(e)).sendToPort$1(client); + client.close(); + // goto after finally + $async$goto = 5; + break; + case 2: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 5: + // after finally + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_messageFromClient$2, $async$completer); + }, + _startFeatureDetection$1(databaseName) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.SharedWorkerCompatibilityResult), + $async$returnValue, $async$self = this, indexedDbExists, t2, worker, t3, t4, t5, t1, _this, canUseIndexedDb, $async$temp1, $async$temp2, $async$temp3, $async$temp4; + var $async$_startFeatureDetection$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = init.G; + _this = "Worker" in t1; + $async$goto = 3; + return A._asyncAwait(A.checkIndexedDbSupport(), $async$_startFeatureDetection$1); + case 3: + // returning from await. + canUseIndexedDb = $async$result; + $async$goto = !_this ? 4 : 6; + break; + case 4: + // then + t1 = $async$self._servers.servers.$index(0, databaseName); + if (t1 == null) + indexedDbExists = null; + else { + t1 = t1.storage; + t1 = t1 === B.WasmStorageImplementation_2_sharedIndexedDb || t1 === B.WasmStorageImplementation_3_unsafeIndexedDb; + indexedDbExists = t1; + } + $async$temp1 = A; + $async$temp2 = canUseIndexedDb; + $async$temp3 = B.List_empty4; + $async$temp4 = B.ProtocolVersion_4_4_v4; + $async$goto = indexedDbExists == null ? 7 : 9; + break; + case 7: + // then + $async$goto = 10; + return A._asyncAwait(A.checkIndexedDbExists(databaseName), $async$_startFeatureDetection$1); + case 10: + // returning from await. + // goto join + $async$goto = 8; + break; + case 9: + // else + $async$result = indexedDbExists; + case 8: + // join + $async$returnValue = new $async$temp1.SharedWorkerCompatibilityResult(false, false, $async$temp2, $async$temp3, $async$temp4, $async$result, false); + // goto return + $async$goto = 1; + break; + // goto join + $async$goto = 5; + break; + case 6: + // else + t2 = {}; + worker = $async$self._dedicatedWorker; + if (worker == null) + worker = $async$self._dedicatedWorker = A._asJSObject(new t1.Worker(A.Uri_base().toString$0(0))); + new A.RequestCompatibilityCheck(databaseName).sendToWorker$1(worker); + t1 = new A._Future($.Zone__current, type$._Future_SharedWorkerCompatibilityResult); + t2.errorSubscription = t2.messageSubscription = null; + t3 = new A.SharedDriftWorker__startFeatureDetection_result(t2, new A._AsyncCompleter(t1, type$._AsyncCompleter_SharedWorkerCompatibilityResult), canUseIndexedDb); + t4 = type$.nullable_void_Function_JSObject; + t5 = type$.JSObject; + t2.messageSubscription = A._EventStreamSubscription$(worker, "message", t4._as(new A.SharedDriftWorker__startFeatureDetection_closure(t3)), false, t5); + t2.errorSubscription = A._EventStreamSubscription$(worker, "error", t4._as(new A.SharedDriftWorker__startFeatureDetection_closure0($async$self, t3, worker)), false, t5); + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + case 5: + // join + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_startFeatureDetection$1, $async$completer); + } + }; + A.SharedDriftWorker_start_closure.prototype = { + call$1(e) { + return this.$this._newConnection$1(e); + }, + $signature: 1 + }; + A.SharedDriftWorker__newConnection_closure.prototype = { + call$1($event) { + return this.$this._messageFromClient$2(this.clientPort, $event); + }, + $signature: 1 + }; + A.SharedDriftWorker__startFeatureDetection_result.prototype = { + call$4(opfsAvailable, opfsExists, indexedDbExists, databases) { + var t1, t2; + type$.List_Record_2_WebStorageApi_and_String._as(databases); + t1 = this.completer; + if ((t1.future._state & 30) === 0) { + t1.complete$1(new A.SharedWorkerCompatibilityResult(true, opfsAvailable, this.canUseIndexedDb, databases, B.ProtocolVersion_4_4_v4, indexedDbExists, opfsExists)); + t1 = this._box_0; + t2 = t1.messageSubscription; + if (t2 != null) + t2.cancel$0(); + t1 = t1.errorSubscription; + if (t1 != null) + t1.cancel$0(); + } + }, + $signature: 58 + }; + A.SharedDriftWorker__startFeatureDetection_closure.prototype = { + call$1($event) { + var compatibilityResult = type$.DedicatedWorkerCompatibilityResult._as(A.WasmInitializationMessage_WasmInitializationMessage$fromJs(A._asJSObject($event.data))); + this.result.call$4(compatibilityResult.canAccessOpfs, compatibilityResult.opfsExists, compatibilityResult.indexedDbExists, compatibilityResult.existingDatabases); + }, + $signature: 1 + }; + A.SharedDriftWorker__startFeatureDetection_closure0.prototype = { + call$1($event) { + this.result.call$4(false, false, false, B.List_empty4); + this.worker.terminate(); + this.$this._dedicatedWorker = null; + }, + $signature: 1 + }; + A.WasmStorageImplementation.prototype = { + _enumToString$0() { + return "WasmStorageImplementation." + this._name; + } + }; + A.WebStorageApi.prototype = { + _enumToString$0() { + return "WebStorageApi." + this._name; + } + }; + A.WasmDatabase.prototype = {}; + A._WasmDelegate.prototype = { + openDatabase$0() { + var t1 = this._sqlite3.open$1(this._path); + return t1; + }, + _flush$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + t1; + var $async$_flush$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = A._Future$value(null, type$.void); + $async$goto = 2; + return A._asyncAwait(t1, $async$_flush$0); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_flush$0, $async$completer); + }, + _runWithArgs$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic), + $async$self = this; + var $async$_runWithArgs$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$self.runWithArgsSync$2(statement, args); + $async$goto = !$async$self.isInTransaction ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait($async$self._flush$0(), $async$_runWithArgs$2); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_runWithArgs$2, $async$completer); + }, + runCustom$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$runCustom$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait($async$self._runWithArgs$2(statement, args), $async$runCustom$2); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$runCustom$2, $async$completer); + }, + runInsert$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t1; + var $async$runInsert$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._runWithArgs$2(statement, args), $async$runInsert$2); + case 3: + // returning from await. + t1 = $async$self._database.database; + $async$returnValue = A._asInt(A._asDouble(init.G.Number(type$.JavaScriptBigInt._as(t1.bindings.sqlite3.sqlite3_last_insert_rowid(t1.db))))); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runInsert$2, $async$completer); + }, + runUpdate$2(statement, args) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t1; + var $async$runUpdate$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 3; + return A._asyncAwait($async$self._runWithArgs$2(statement, args), $async$runUpdate$2); + case 3: + // returning from await. + t1 = $async$self._database.database; + $async$returnValue = A._asInt(t1.bindings.sqlite3.sqlite3_changes(t1.db)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$runUpdate$2, $async$completer); + }, + runBatched$1(statements) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$runBatched$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$self.runBatchSync$1(statements); + $async$goto = !$async$self.isInTransaction ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait($async$self._flush$0(), $async$runBatched$1); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$runBatched$1, $async$completer); + }, + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait($async$self.super$Sqlite3Delegate$close(), $async$close$0); + case 2: + // returning from await. + $async$self._database.dispose$0(); + $async$goto = 3; + return A._asyncAwait($async$self._flush$0(), $async$close$0); + case 3: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + } + }; + A.Context.prototype = { + absolute$15(part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15) { + var t1; + A._validateArgList("absolute", A._setArrayType([part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15], type$.JSArray_nullable_String)); + t1 = this.style; + t1 = t1.rootLength$1(part1) > 0 && !t1.isRootRelative$1(part1); + if (t1) + return part1; + t1 = this._context$_current; + return this.join$16(0, t1 == null ? A.current() : t1, part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15); + }, + absolute$1(part1) { + var _null = null; + return this.absolute$15(part1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null); + }, + join$16(_, part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15, part16) { + var parts = A._setArrayType([part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15, part16], type$.JSArray_nullable_String); + A._validateArgList("join", parts); + return this.joinAll$1(new A.WhereTypeIterable(parts, type$.WhereTypeIterable_String)); + }, + join$2(_, part1, part2) { + var _null = null; + return this.join$16(0, part1, part2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null); + }, + joinAll$1(parts) { + var t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, t4, t5, parsed, path, t6; + type$.Iterable_String._as(parts); + for (t1 = parts.$ti, t2 = t1._eval$1("bool(Iterable.E)")._as(new A.Context_joinAll_closure()), t3 = parts.get$iterator(0), t1 = new A.WhereIterator(t3, t2, t1._eval$1("WhereIterator")), t2 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t1.moveNext$0();) { + t5 = t3.get$current(); + if (t2.isRootRelative$1(t5) && isAbsoluteAndNotRootRelative) { + parsed = A.ParsedPath_ParsedPath$parse(t5, t2); + path = t4.charCodeAt(0) == 0 ? t4 : t4; + t4 = B.JSString_methods.substring$2(path, 0, t2.rootLength$2$withDrive(path, true)); + parsed.root = t4; + if (t2.needsSeparator$1(t4)) + B.JSArray_methods.$indexSet(parsed.separators, 0, t2.get$separator()); + t4 = parsed.toString$0(0); + } else if (t2.rootLength$1(t5) > 0) { + isAbsoluteAndNotRootRelative = !t2.isRootRelative$1(t5); + t4 = t5; + } else { + t6 = t5.length; + if (t6 !== 0) { + if (0 >= t6) + return A.ioore(t5, 0); + t6 = t2.containsSeparator$1(t5[0]); + } else + t6 = false; + if (!t6) + if (needsSeparator) + t4 += t2.get$separator(); + t4 += t5; + } + needsSeparator = t2.needsSeparator$1(t5); + } + return t4.charCodeAt(0) == 0 ? t4 : t4; + }, + split$1(_, path) { + var parsed = A.ParsedPath_ParsedPath$parse(path, this.style), + t1 = parsed.parts, + t2 = A._arrayInstanceType(t1), + t3 = t2._eval$1("WhereIterable<1>"); + t1 = A.List_List$_of(new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.Context_split_closure()), t3), t3._eval$1("Iterable.E")); + parsed.set$parts(t1); + t1 = parsed.root; + if (t1 != null) + B.JSArray_methods.insert$2(parsed.parts, 0, t1); + return parsed.parts; + }, + normalize$1(path) { + var parsed; + if (!this._needsNormalization$1(path)) + return path; + parsed = A.ParsedPath_ParsedPath$parse(path, this.style); + parsed.normalize$0(); + return parsed.toString$0(0); + }, + _needsNormalization$1(path) { + var t2, i, start, previous, previousPrevious, codeUnit, t3, + t1 = this.style, + root = t1.rootLength$1(path); + if (root !== 0) { + if (t1 === $.$get$Style_windows()) + for (t2 = path.length, i = 0; i < root; ++i) { + if (!(i < t2)) + return A.ioore(path, i); + if (path.charCodeAt(i) === 47) + return true; + } + start = root; + previous = 47; + } else { + start = 0; + previous = null; + } + for (t2 = path.length, i = start, previousPrevious = null; i < t2; ++i, previousPrevious = previous, previous = codeUnit) { + if (!(i >= 0)) + return A.ioore(path, i); + codeUnit = path.charCodeAt(i); + if (t1.isSeparator$1(codeUnit)) { + if (t1 === $.$get$Style_windows() && codeUnit === 47) + return true; + if (previous != null && t1.isSeparator$1(previous)) + return true; + if (previous === 46) + t3 = previousPrevious == null || previousPrevious === 46 || t1.isSeparator$1(previousPrevious); + else + t3 = false; + if (t3) + return true; + } + } + if (previous == null) + return true; + if (t1.isSeparator$1(previous)) + return true; + if (previous === 46) + t1 = previousPrevious == null || t1.isSeparator$1(previousPrevious) || previousPrevious === 46; + else + t1 = false; + if (t1) + return true; + return false; + }, + relative$2$from(path, from) { + var fromParsed, pathParsed, t2, t3, t4, t5, t6, _this = this, + _s26_ = 'Unable to find a path to "', + t1 = from == null; + if (t1 && _this.style.rootLength$1(path) <= 0) + return _this.normalize$1(path); + if (t1) { + t1 = _this._context$_current; + from = t1 == null ? A.current() : t1; + } else + from = _this.absolute$1(from); + t1 = _this.style; + if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0) + return _this.normalize$1(path); + if (t1.rootLength$1(path) <= 0 || t1.isRootRelative$1(path)) + path = _this.absolute$1(path); + if (t1.rootLength$1(path) <= 0 && t1.rootLength$1(from) > 0) + throw A.wrapException(A.PathException$(_s26_ + path + '" from "' + from + '".')); + fromParsed = A.ParsedPath_ParsedPath$parse(from, t1); + fromParsed.normalize$0(); + pathParsed = A.ParsedPath_ParsedPath$parse(path, t1); + pathParsed.normalize$0(); + t2 = fromParsed.parts; + t3 = t2.length; + if (t3 !== 0) { + if (0 >= t3) + return A.ioore(t2, 0); + t2 = t2[0] === "."; + } else + t2 = false; + if (t2) + return pathParsed.toString$0(0); + t2 = fromParsed.root; + t3 = pathParsed.root; + if (t2 != t3) + t2 = t2 == null || t3 == null || !t1.pathsEqual$2(t2, t3); + else + t2 = false; + if (t2) + return pathParsed.toString$0(0); + for (;;) { + t2 = fromParsed.parts; + t3 = t2.length; + t4 = false; + if (t3 !== 0) { + t5 = pathParsed.parts; + t6 = t5.length; + if (t6 !== 0) { + if (0 >= t3) + return A.ioore(t2, 0); + t2 = t2[0]; + if (0 >= t6) + return A.ioore(t5, 0); + t5 = t1.pathsEqual$2(t2, t5[0]); + t2 = t5; + } else + t2 = t4; + } else + t2 = t4; + if (!t2) + break; + B.JSArray_methods.removeAt$1(fromParsed.parts, 0); + B.JSArray_methods.removeAt$1(fromParsed.separators, 1); + B.JSArray_methods.removeAt$1(pathParsed.parts, 0); + B.JSArray_methods.removeAt$1(pathParsed.separators, 1); + } + t2 = fromParsed.parts; + t3 = t2.length; + if (t3 !== 0) { + if (0 >= t3) + return A.ioore(t2, 0); + t2 = t2[0] === ".."; + } else + t2 = false; + if (t2) + throw A.wrapException(A.PathException$(_s26_ + path + '" from "' + from + '".')); + t2 = type$.String; + B.JSArray_methods.insertAll$2(pathParsed.parts, 0, A.List_List$filled(t3, "..", false, t2)); + B.JSArray_methods.$indexSet(pathParsed.separators, 0, ""); + B.JSArray_methods.insertAll$2(pathParsed.separators, 1, A.List_List$filled(fromParsed.parts.length, t1.get$separator(), false, t2)); + t1 = pathParsed.parts; + t2 = t1.length; + if (t2 === 0) + return "."; + if (t2 > 1 && B.JSArray_methods.get$last(t1) === ".") { + B.JSArray_methods.removeLast$0(pathParsed.parts); + t1 = pathParsed.separators; + if (0 >= t1.length) + return A.ioore(t1, -1); + t1.pop(); + if (0 >= t1.length) + return A.ioore(t1, -1); + t1.pop(); + B.JSArray_methods.add$1(t1, ""); + } + pathParsed.root = ""; + pathParsed.removeTrailingSeparators$0(); + return pathParsed.toString$0(0); + }, + relative$1(path) { + return this.relative$2$from(path, null); + }, + _isWithinOrEquals$2($parent, child) { + var relative, t1, parentIsAbsolute, childIsAbsolute, childIsRootRelative, parentIsRootRelative, result, exception, _this = this; + $parent = A._asString($parent); + child = A._asString(child); + t1 = _this.style; + parentIsAbsolute = t1.rootLength$1(A._asString($parent)) > 0; + childIsAbsolute = t1.rootLength$1(A._asString(child)) > 0; + if (parentIsAbsolute && !childIsAbsolute) { + child = _this.absolute$1(child); + if (t1.isRootRelative$1($parent)) + $parent = _this.absolute$1($parent); + } else if (childIsAbsolute && !parentIsAbsolute) { + $parent = _this.absolute$1($parent); + if (t1.isRootRelative$1(child)) + child = _this.absolute$1(child); + } else if (childIsAbsolute && parentIsAbsolute) { + childIsRootRelative = t1.isRootRelative$1(child); + parentIsRootRelative = t1.isRootRelative$1($parent); + if (childIsRootRelative && !parentIsRootRelative) + child = _this.absolute$1(child); + else if (parentIsRootRelative && !childIsRootRelative) + $parent = _this.absolute$1($parent); + } + result = _this._isWithinOrEqualsFast$2($parent, child); + if (result !== B._PathRelation_inconclusive) + return result; + relative = null; + try { + relative = _this.relative$2$from(child, $parent); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.PathException) + return B._PathRelation_different; + else + throw exception; + } + if (t1.rootLength$1(A._asString(relative)) > 0) + return B._PathRelation_different; + if (J.$eq$(relative, ".")) + return B._PathRelation_equal; + if (J.$eq$(relative, "..")) + return B._PathRelation_different; + return J.get$length$asx(relative) >= 3 && J.startsWith$1$s(relative, "..") && t1.isSeparator$1(J.codeUnitAt$1$s(relative, 2)) ? B._PathRelation_different : B._PathRelation_within; + }, + _isWithinOrEqualsFast$2($parent, child) { + var t1, parentRootLength, childRootLength, t2, t3, i, childIndex, parentIndex, lastCodeUnit, lastParentSeparator, parentCodeUnit, childCodeUnit, parentIndex0, t4, direction, _this = this; + if ($parent === ".") + $parent = ""; + t1 = _this.style; + parentRootLength = t1.rootLength$1($parent); + childRootLength = t1.rootLength$1(child); + if (parentRootLength !== childRootLength) + return B._PathRelation_different; + for (t2 = $parent.length, t3 = child.length, i = 0; i < parentRootLength; ++i) { + if (!(i < t2)) + return A.ioore($parent, i); + if (!(i < t3)) + return A.ioore(child, i); + if (!t1.codeUnitsEqual$2($parent.charCodeAt(i), child.charCodeAt(i))) + return B._PathRelation_different; + } + childIndex = childRootLength; + parentIndex = parentRootLength; + lastCodeUnit = 47; + lastParentSeparator = null; + for (;;) { + if (!(parentIndex < t2 && childIndex < t3)) + break; + c$0: { + if (!(parentIndex >= 0 && parentIndex < t2)) + return A.ioore($parent, parentIndex); + parentCodeUnit = $parent.charCodeAt(parentIndex); + if (!(childIndex >= 0 && childIndex < t3)) + return A.ioore(child, childIndex); + childCodeUnit = child.charCodeAt(childIndex); + if (t1.codeUnitsEqual$2(parentCodeUnit, childCodeUnit)) { + if (t1.isSeparator$1(parentCodeUnit)) + lastParentSeparator = parentIndex; + ++parentIndex; + ++childIndex; + lastCodeUnit = parentCodeUnit; + break c$0; + } + if (t1.isSeparator$1(parentCodeUnit) && t1.isSeparator$1(lastCodeUnit)) { + parentIndex0 = parentIndex + 1; + lastParentSeparator = parentIndex; + parentIndex = parentIndex0; + break c$0; + } else if (t1.isSeparator$1(childCodeUnit) && t1.isSeparator$1(lastCodeUnit)) { + ++childIndex; + break c$0; + } + if (parentCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) { + ++parentIndex; + if (parentIndex === t2) + break; + if (!(parentIndex < t2)) + return A.ioore($parent, parentIndex); + parentCodeUnit = $parent.charCodeAt(parentIndex); + if (t1.isSeparator$1(parentCodeUnit)) { + parentIndex0 = parentIndex + 1; + lastParentSeparator = parentIndex; + parentIndex = parentIndex0; + break c$0; + } + if (parentCodeUnit === 46) { + ++parentIndex; + if (parentIndex !== t2) { + if (!(parentIndex < t2)) + return A.ioore($parent, parentIndex); + t4 = t1.isSeparator$1($parent.charCodeAt(parentIndex)); + } else + t4 = true; + if (t4) + return B._PathRelation_inconclusive; + } + } + if (childCodeUnit === 46 && t1.isSeparator$1(lastCodeUnit)) { + ++childIndex; + if (childIndex === t3) + break; + if (!(childIndex < t3)) + return A.ioore(child, childIndex); + childCodeUnit = child.charCodeAt(childIndex); + if (t1.isSeparator$1(childCodeUnit)) { + ++childIndex; + break c$0; + } + if (childCodeUnit === 46) { + ++childIndex; + if (childIndex !== t3) { + if (!(childIndex < t3)) + return A.ioore(child, childIndex); + t2 = t1.isSeparator$1(child.charCodeAt(childIndex)); + t1 = t2; + } else + t1 = true; + if (t1) + return B._PathRelation_inconclusive; + } + } + if (_this._pathDirection$2(child, childIndex) !== B._PathDirection_Wme) + return B._PathRelation_inconclusive; + if (_this._pathDirection$2($parent, parentIndex) !== B._PathDirection_Wme) + return B._PathRelation_inconclusive; + return B._PathRelation_different; + } + } + if (childIndex === t3) { + if (parentIndex !== t2) { + if (!(parentIndex >= 0 && parentIndex < t2)) + return A.ioore($parent, parentIndex); + t1 = t1.isSeparator$1($parent.charCodeAt(parentIndex)); + } else + t1 = true; + if (t1) + lastParentSeparator = parentIndex; + else if (lastParentSeparator == null) + lastParentSeparator = Math.max(0, parentRootLength - 1); + direction = _this._pathDirection$2($parent, lastParentSeparator); + if (direction === B._PathDirection_dMN) + return B._PathRelation_equal; + return direction === B._PathDirection_vgO ? B._PathRelation_inconclusive : B._PathRelation_different; + } + direction = _this._pathDirection$2(child, childIndex); + if (direction === B._PathDirection_dMN) + return B._PathRelation_equal; + if (direction === B._PathDirection_vgO) + return B._PathRelation_inconclusive; + if (!(childIndex >= 0 && childIndex < t3)) + return A.ioore(child, childIndex); + return t1.isSeparator$1(child.charCodeAt(childIndex)) || t1.isSeparator$1(lastCodeUnit) ? B._PathRelation_within : B._PathRelation_different; + }, + _pathDirection$2(path, index) { + var t1, t2, i, depth, reachedRoot, t3, i0, t4; + for (t1 = path.length, t2 = this.style, i = index, depth = 0, reachedRoot = false; i < t1;) { + for (;;) { + if (i < t1) { + if (!(i >= 0)) + return A.ioore(path, i); + t3 = t2.isSeparator$1(path.charCodeAt(i)); + } else + t3 = false; + if (!t3) + break; + ++i; + } + if (i === t1) + break; + i0 = i; + for (;;) { + if (i0 < t1) { + if (!(i0 >= 0)) + return A.ioore(path, i0); + t3 = !t2.isSeparator$1(path.charCodeAt(i0)); + } else + t3 = false; + if (!t3) + break; + ++i0; + } + t3 = i0 - i; + if (t3 === 1) { + if (!(i >= 0 && i < t1)) + return A.ioore(path, i); + t4 = path.charCodeAt(i) === 46; + } else + t4 = false; + if (!t4) { + t4 = false; + if (t3 === 2) { + if (!(i >= 0 && i < t1)) + return A.ioore(path, i); + if (path.charCodeAt(i) === 46) { + t3 = i + 1; + if (!(t3 < t1)) + return A.ioore(path, t3); + t3 = path.charCodeAt(t3) === 46; + } else + t3 = t4; + } else + t3 = t4; + if (t3) { + --depth; + if (depth < 0) + break; + if (depth === 0) + reachedRoot = true; + } else + ++depth; + } + if (i0 === t1) + break; + i = i0 + 1; + } + if (depth < 0) + return B._PathDirection_vgO; + if (depth === 0) + return B._PathDirection_dMN; + if (reachedRoot) + return B._PathDirection_6kc; + return B._PathDirection_Wme; + }, + toUri$1(path) { + var t2, + t1 = this.style; + if (t1.rootLength$1(path) <= 0) + return t1.relativePathToUri$1(path); + else { + t2 = this._context$_current; + return t1.absolutePathToUri$1(this.join$2(0, t2 == null ? A.current() : t2, path)); + } + }, + prettyUri$1(uri) { + var path, rel, _this = this, + typedUri = A._parseUri(uri); + if (typedUri.get$scheme() === "file" && _this.style === $.$get$Style_url()) + return typedUri.toString$0(0); + else if (typedUri.get$scheme() !== "file" && typedUri.get$scheme() !== "" && _this.style !== $.$get$Style_url()) + return typedUri.toString$0(0); + path = _this.normalize$1(_this.style.pathFromUri$1(A._parseUri(typedUri))); + rel = _this.relative$1(path); + return _this.split$1(0, rel).length > _this.split$1(0, path).length ? path : rel; + } + }; + A.Context_joinAll_closure.prototype = { + call$1(part) { + return A._asString(part) !== ""; + }, + $signature: 3 + }; + A.Context_split_closure.prototype = { + call$1(part) { + return A._asString(part).length !== 0; + }, + $signature: 3 + }; + A._validateArgList_closure.prototype = { + call$1(arg) { + A._asStringQ(arg); + return arg == null ? "null" : '"' + arg + '"'; + }, + $signature: 60 + }; + A._PathDirection.prototype = { + toString$0(_) { + return this.name; + } + }; + A._PathRelation.prototype = { + toString$0(_) { + return this.name; + } + }; + A.InternalStyle.prototype = { + getRoot$1(path) { + var t1, + $length = this.rootLength$1(path); + if ($length > 0) + return B.JSString_methods.substring$2(path, 0, $length); + if (this.isRootRelative$1(path)) { + if (0 >= path.length) + return A.ioore(path, 0); + t1 = path[0]; + } else + t1 = null; + return t1; + }, + relativePathToUri$1(path) { + var segments, t2, _null = null, + t1 = path.length; + if (t1 === 0) + return A._Uri__Uri(_null, _null, _null, _null); + segments = A.Context_Context(_null, this).split$1(0, path); + t2 = t1 - 1; + if (!(t2 >= 0)) + return A.ioore(path, t2); + if (this.isSeparator$1(path.charCodeAt(t2))) + B.JSArray_methods.add$1(segments, ""); + return A._Uri__Uri(_null, _null, segments, _null); + }, + codeUnitsEqual$2(codeUnit1, codeUnit2) { + return codeUnit1 === codeUnit2; + }, + pathsEqual$2(path1, path2) { + return path1 === path2; + } + }; + A.ParsedPath.prototype = { + get$hasTrailingSeparator() { + var t1 = this.parts; + if (t1.length !== 0) + t1 = B.JSArray_methods.get$last(t1) === "" || B.JSArray_methods.get$last(this.separators) !== ""; + else + t1 = false; + return t1; + }, + removeTrailingSeparators$0() { + var t1, t2, _this = this; + for (;;) { + t1 = _this.parts; + if (!(t1.length !== 0 && B.JSArray_methods.get$last(t1) === "")) + break; + B.JSArray_methods.removeLast$0(_this.parts); + t1 = _this.separators; + if (0 >= t1.length) + return A.ioore(t1, -1); + t1.pop(); + } + t1 = _this.separators; + t2 = t1.length; + if (t2 !== 0) + B.JSArray_methods.$indexSet(t1, t2 - 1, ""); + }, + normalize$0() { + var t1, t2, leadingDoubles, _i, part, t3, _this = this, + newParts = A._setArrayType([], type$.JSArray_String); + for (t1 = _this.parts, t2 = t1.length, leadingDoubles = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + part = t1[_i]; + if (!(part === "." || part === "")) + if (part === "..") { + t3 = newParts.length; + if (t3 !== 0) { + if (0 >= t3) + return A.ioore(newParts, -1); + newParts.pop(); + } else + ++leadingDoubles; + } else + B.JSArray_methods.add$1(newParts, part); + } + if (_this.root == null) + B.JSArray_methods.insertAll$2(newParts, 0, A.List_List$filled(leadingDoubles, "..", false, type$.String)); + if (newParts.length === 0 && _this.root == null) + B.JSArray_methods.add$1(newParts, "."); + _this.parts = newParts; + t1 = _this.style; + _this.separators = A.List_List$filled(newParts.length + 1, t1.get$separator(), true, type$.String); + t2 = _this.root; + if (t2 == null || newParts.length === 0 || !t1.needsSeparator$1(t2)) + B.JSArray_methods.$indexSet(_this.separators, 0, ""); + t2 = _this.root; + if (t2 != null && t1 === $.$get$Style_windows()) + _this.root = A.stringReplaceAllUnchecked(t2, "/", "\\"); + _this.removeTrailingSeparators$0(); + }, + toString$0(_) { + var t2, t3, t4, t5, i, + t1 = this.root; + t1 = t1 != null ? t1 : ""; + for (t2 = this.parts, t3 = t2.length, t4 = this.separators, t5 = t4.length, i = 0; i < t3; ++i) { + if (!(i < t5)) + return A.ioore(t4, i); + t1 = t1 + t4[i] + t2[i]; + } + t1 += B.JSArray_methods.get$last(t4); + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + set$parts(parts) { + this.parts = type$.List_String._as(parts); + } + }; + A.PathException.prototype = { + toString$0(_) { + return "PathException: " + this.message; + }, + $isException: 1 + }; + A.Style.prototype = { + toString$0(_) { + return this.get$name(); + } + }; + A.PosixStyle.prototype = { + containsSeparator$1(path) { + return B.JSString_methods.contains$1(path, "/"); + }, + isSeparator$1(codeUnit) { + return codeUnit === 47; + }, + needsSeparator$1(path) { + var t2, + t1 = path.length; + if (t1 !== 0) { + t2 = t1 - 1; + if (!(t2 >= 0)) + return A.ioore(path, t2); + t2 = path.charCodeAt(t2) !== 47; + t1 = t2; + } else + t1 = false; + return t1; + }, + rootLength$2$withDrive(path, withDrive) { + var t1 = path.length; + if (t1 !== 0) { + if (0 >= t1) + return A.ioore(path, 0); + t1 = path.charCodeAt(0) === 47; + } else + t1 = false; + if (t1) + return 1; + return 0; + }, + rootLength$1(path) { + return this.rootLength$2$withDrive(path, false); + }, + isRootRelative$1(path) { + return false; + }, + pathFromUri$1(uri) { + var t1; + if (uri.get$scheme() === "" || uri.get$scheme() === "file") { + t1 = uri.get$path(); + return A._Uri__uriDecode(t1, 0, t1.length, B.C_Utf8Codec, false); + } + throw A.wrapException(A.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.", null)); + }, + absolutePathToUri$1(path) { + var parsed = A.ParsedPath_ParsedPath$parse(path, this), + t1 = parsed.parts; + if (t1.length === 0) + B.JSArray_methods.addAll$1(t1, A._setArrayType(["", ""], type$.JSArray_String)); + else if (parsed.get$hasTrailingSeparator()) + B.JSArray_methods.add$1(parsed.parts, ""); + return A._Uri__Uri(null, null, parsed.parts, "file"); + }, + get$name() { + return "posix"; + }, + get$separator() { + return "/"; + } + }; + A.UrlStyle.prototype = { + containsSeparator$1(path) { + return B.JSString_methods.contains$1(path, "/"); + }, + isSeparator$1(codeUnit) { + return codeUnit === 47; + }, + needsSeparator$1(path) { + var t2, + t1 = path.length; + if (t1 === 0) + return false; + t2 = t1 - 1; + if (!(t2 >= 0)) + return A.ioore(path, t2); + if (path.charCodeAt(t2) !== 47) + return true; + return B.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(path) === t1; + }, + rootLength$2$withDrive(path, withDrive) { + var i, codeUnit, index, + t1 = path.length; + if (t1 === 0) + return 0; + if (0 >= t1) + return A.ioore(path, 0); + if (path.charCodeAt(0) === 47) + return 1; + for (i = 0; i < t1; ++i) { + codeUnit = path.charCodeAt(i); + if (codeUnit === 47) + return 0; + if (codeUnit === 58) { + if (i === 0) + return 0; + index = B.JSString_methods.indexOf$2(path, "/", B.JSString_methods.startsWith$2(path, "//", i + 1) ? i + 3 : i); + if (index <= 0) + return t1; + if (!withDrive || t1 < index + 3) + return index; + if (!B.JSString_methods.startsWith$1(path, "file://")) + return index; + t1 = A.driveLetterEnd(path, index + 1); + return t1 == null ? index : t1; + } + } + return 0; + }, + rootLength$1(path) { + return this.rootLength$2$withDrive(path, false); + }, + isRootRelative$1(path) { + var t1 = path.length; + if (t1 !== 0) { + if (0 >= t1) + return A.ioore(path, 0); + t1 = path.charCodeAt(0) === 47; + } else + t1 = false; + return t1; + }, + pathFromUri$1(uri) { + return uri.toString$0(0); + }, + relativePathToUri$1(path) { + return A.Uri_parse(path); + }, + absolutePathToUri$1(path) { + return A.Uri_parse(path); + }, + get$name() { + return "url"; + }, + get$separator() { + return "/"; + } + }; + A.WindowsStyle.prototype = { + containsSeparator$1(path) { + return B.JSString_methods.contains$1(path, "/"); + }, + isSeparator$1(codeUnit) { + return codeUnit === 47 || codeUnit === 92; + }, + needsSeparator$1(path) { + var t2, + t1 = path.length; + if (t1 === 0) + return false; + t2 = t1 - 1; + if (!(t2 >= 0)) + return A.ioore(path, t2); + t2 = path.charCodeAt(t2); + return !(t2 === 47 || t2 === 92); + }, + rootLength$2$withDrive(path, withDrive) { + var t2, index, + t1 = path.length; + if (t1 === 0) + return 0; + if (0 >= t1) + return A.ioore(path, 0); + if (path.charCodeAt(0) === 47) + return 1; + if (path.charCodeAt(0) === 92) { + if (t1 >= 2) { + if (1 >= t1) + return A.ioore(path, 1); + t2 = path.charCodeAt(1) !== 92; + } else + t2 = true; + if (t2) + return 1; + index = B.JSString_methods.indexOf$2(path, "\\", 2); + if (index > 0) { + index = B.JSString_methods.indexOf$2(path, "\\", index + 1); + if (index > 0) + return index; + } + return t1; + } + if (t1 < 3) + return 0; + if (!A.isAlphabetic(path.charCodeAt(0))) + return 0; + if (path.charCodeAt(1) !== 58) + return 0; + t1 = path.charCodeAt(2); + if (!(t1 === 47 || t1 === 92)) + return 0; + return 3; + }, + rootLength$1(path) { + return this.rootLength$2$withDrive(path, false); + }, + isRootRelative$1(path) { + return this.rootLength$1(path) === 1; + }, + pathFromUri$1(uri) { + var path, t1; + if (uri.get$scheme() !== "" && uri.get$scheme() !== "file") + throw A.wrapException(A.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.", null)); + path = uri.get$path(); + if (uri.get$host() === "") { + if (path.length >= 3 && B.JSString_methods.startsWith$1(path, "/") && A.driveLetterEnd(path, 1) != null) + path = B.JSString_methods.replaceFirst$2(path, "/", ""); + } else + path = "\\\\" + uri.get$host() + path; + t1 = A.stringReplaceAllUnchecked(path, "/", "\\"); + return A._Uri__uriDecode(t1, 0, t1.length, B.C_Utf8Codec, false); + }, + absolutePathToUri$1(path) { + var rootParts, t2, + parsed = A.ParsedPath_ParsedPath$parse(path, this), + t1 = parsed.root; + t1.toString; + if (B.JSString_methods.startsWith$1(t1, "\\\\")) { + rootParts = new A.WhereIterable(A._setArrayType(t1.split("\\"), type$.JSArray_String), type$.bool_Function_String._as(new A.WindowsStyle_absolutePathToUri_closure()), type$.WhereIterable_String); + B.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(0)); + if (parsed.get$hasTrailingSeparator()) + B.JSArray_methods.add$1(parsed.parts, ""); + return A._Uri__Uri(rootParts.get$first(0), null, parsed.parts, "file"); + } else { + if (parsed.parts.length === 0 || parsed.get$hasTrailingSeparator()) + B.JSArray_methods.add$1(parsed.parts, ""); + t1 = parsed.parts; + t2 = parsed.root; + t2.toString; + t2 = A.stringReplaceAllUnchecked(t2, "/", ""); + B.JSArray_methods.insert$2(t1, 0, A.stringReplaceAllUnchecked(t2, "\\", "")); + return A._Uri__Uri(null, null, parsed.parts, "file"); + } + }, + codeUnitsEqual$2(codeUnit1, codeUnit2) { + var upperCase1; + if (codeUnit1 === codeUnit2) + return true; + if (codeUnit1 === 47) + return codeUnit2 === 92; + if (codeUnit1 === 92) + return codeUnit2 === 47; + if ((codeUnit1 ^ codeUnit2) !== 32) + return false; + upperCase1 = codeUnit1 | 32; + return upperCase1 >= 97 && upperCase1 <= 122; + }, + pathsEqual$2(path1, path2) { + var t1, t2, i; + if (path1 === path2) + return true; + t1 = path1.length; + t2 = path2.length; + if (t1 !== t2) + return false; + for (i = 0; i < t1; ++i) { + if (!(i < t2)) + return A.ioore(path2, i); + if (!this.codeUnitsEqual$2(path1.charCodeAt(i), path2.charCodeAt(i))) + return false; + } + return true; + }, + get$name() { + return "windows"; + }, + get$separator() { + return "\\"; + } + }; + A.WindowsStyle_absolutePathToUri_closure.prototype = { + call$1(part) { + return A._asString(part) !== ""; + }, + $signature: 3 + }; + A.SqliteException.prototype = { + toString$0(_) { + var t2, t3, _this = this, + t1 = _this.operation; + t1 = t1 == null ? "" : "while " + t1 + ", "; + t1 = "SqliteException(" + _this.extendedResultCode + "): " + t1 + _this.message; + t2 = _this.explanation; + if (t2 != null) + t1 = t1 + ", " + t2; + t2 = _this.causingStatement; + if (t2 != null) { + t3 = _this.offset; + t3 = t3 != null ? " (at position " + A.S(t3) + "): " : ": "; + t2 = t1 + "\n Causing statement" + t3 + t2; + t1 = _this.parametersToStatement; + if (t1 != null) { + t3 = A._arrayInstanceType(t1); + t3 = t2 + (", parameters: " + new A.MappedListIterable(t1, t3._eval$1("String(1)")._as(new A.SqliteException_toString_closure()), t3._eval$1("MappedListIterable<1,String>")).join$1(0, ", ")); + t1 = t3; + } else + t1 = t2; + } + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + $isException: 1 + }; + A.SqliteException_toString_closure.prototype = { + call$1(e) { + if (type$.Uint8List._is(e)) + return "blob (" + e.length + " bytes)"; + else + return J.toString$0$(e); + }, + $signature: 61 + }; + A.AllowedArgumentCount.prototype = {}; + A.RawSqliteBindings.prototype = {}; + A.SqliteResult.prototype = {}; + A.RawSqliteDatabase.prototype = {}; + A.RawStatementCompiler.prototype = {}; + A.RawSqliteStatement.prototype = {}; + A.RawSqliteContext.prototype = {}; + A.RawSqliteValue.prototype = {}; + A.FinalizableDatabase.prototype = { + dispose$0() { + var t1, t2, _i, stmt, t3, code, exception, _this = this; + for (t1 = _this._statements, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + stmt = t1[_i]; + if (!stmt._statement$_closed) { + stmt._statement$_closed = true; + if (!stmt._inResetState) { + t3 = stmt.statement; + A._asInt(t3.bindings.sqlite3.sqlite3_reset(t3.stmt)); + stmt._inResetState = true; + } + t3 = stmt.statement; + t3.deallocateArguments$0(); + A._asInt(t3.bindings.sqlite3.sqlite3_finalize(t3.stmt)); + } + } + t1 = _this.dartCleanup; + t1 = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1)); + t2 = t1.length; + _i = 0; + for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) + t1[_i].call$0(); + t1 = _this.database; + code = A._asInt(t1.bindings.sqlite3.sqlite3_close_v2(t1.db)); + exception = code !== 0 ? A.createExceptionRaw(_this.bindings, t1, code, "closing database", null, null) : null; + if (exception != null) + throw A.wrapException(exception); + } + }; + A.DatabaseImplementation.prototype = { + get$userVersion() { + var result, version, t1, + stmt = this.prepare$1("PRAGMA user_version;"); + try { + result = stmt.selectWith$1(new A.IndexedParameters(B.List_empty3)); + t1 = J.get$first$ax(result)._data; + if (0 >= t1.length) + return A.ioore(t1, 0); + version = A._asInt(t1[0]); + return version; + } finally { + stmt.dispose$0(); + } + }, + createFunction$5$argumentCount$deterministic$directOnly$function$functionName(argumentCount, deterministic, directOnly, $function, functionName) { + var t1, functionNameBytes, t2, flags, t3, t4, ptr, result, _null = null; + type$.nullable_Object_Function_SqliteArguments._as($function); + t1 = this.database; + functionNameBytes = B.C_Utf8Encoder.convert$1(functionName); + if (functionNameBytes.length > 255) + A.throwExpression(A.ArgumentError$value(functionName, "functionName", "Must not exceed 255 bytes when utf-8 encoded")); + t2 = new Uint8Array(A._ensureNativeList(functionNameBytes)); + flags = directOnly ? 526337 : 2049; + t3 = type$.nullable_void_Function_2_RawSqliteContext_and_List_RawSqliteValue._as(new A.DatabaseImplementation_createFunction_closure($function)); + t4 = t1.bindings; + ptr = t4.allocateBytes$2$additionalLength(t2, 1); + t2 = t4.sqlite3; + result = A.callMethod(t2, "dart_sqlite3_create_scalar_function", [t1.db, ptr, argumentCount.allowedArgs, flags, t4.callbacks.register$1(new A.RegisteredFunctionSet(t3, _null, _null))], type$.int); + result = result; + t2.dart_sqlite3_free(ptr); + if (result !== 0) + A.throwException(this, result, _null, _null, _null); + }, + createFunction$4$argumentCount$deterministic$function$functionName(argumentCount, deterministic, $function, functionName) { + return this.createFunction$5$argumentCount$deterministic$directOnly$function$functionName(argumentCount, deterministic, true, $function, functionName); + }, + dispose$0() { + var t1, t2, t3, _this0, t4, _this = this; + if (_this._isClosed) + return; + $.$get$disposeFinalizer().detach$1(_this); + _this._isClosed = true; + t1 = _this.database; + t2 = t1.bindings; + t3 = t2.callbacks; + t3.set$installedUpdateHook(null); + _this0 = t1.db; + t1 = t2.sqlite3; + t2 = type$.nullable_JavaScriptFunction; + t4 = t2._as(t1.dart_sqlite3_updates); + if (t4 != null) + t4.call(null, _this0, -1); + t3.set$installedCommitHook(null); + t4 = t2._as(t1.dart_sqlite3_commits); + if (t4 != null) + t4.call(null, _this0, -1); + t3.set$installedRollbackHook(null); + t1 = t2._as(t1.dart_sqlite3_rollbacks); + if (t1 != null) + t1.call(null, _this0, -1); + _this.finalizable.dispose$0(); + }, + execute$1(sql) { + var stmt, t1, t2, _this = this, + parameters = B.List_empty1; + if (J.get$length$asx(parameters) === 0) { + if (_this._isClosed) + A.throwExpression(A.StateError$("This database has already been closed")); + t1 = _this.database; + t2 = t1.bindings; + stmt = t2.allocateBytes$2$additionalLength(B.C_Utf8Encoder.convert$1(sql), 1); + t2 = t2.sqlite3; + t1 = A.callMethod(t2, "sqlite3_exec", [t1.db, stmt, 0, 0, 0], type$.int); + t2.dart_sqlite3_free(stmt); + if (t1 !== 0) + A.throwException(_this, t1, "executing", sql, parameters); + } else { + stmt = _this.prepare$2$checkNoTail(sql, true); + try { + stmt.executeWith$1(new A.IndexedParameters(type$.List_nullable_Object._as(parameters))); + } finally { + stmt.dispose$0(); + } + } + }, + _prepareInternal$5$checkNoTail$maxStatements$persistent$vtab(sql, checkNoTail, maxStatements, persistent, vtab) { + var bytes, t1, t2, ptr, t3, t4, compiler, createdStatements, freeIntermediateResults, t5, offset, result, t6, $length, t7, endOffset, stmt, _i, _this = this, + _s24_ = "Null pointer dereference"; + if (_this._isClosed) + A.throwExpression(A.StateError$("This database has already been closed")); + bytes = B.C_Utf8Encoder.convert$1(sql); + t1 = _this.database; + type$.List_int._as(bytes); + t2 = t1.bindings; + ptr = t2.allocateBytes$1(bytes); + t3 = t2.sqlite3; + t4 = A._asInt(t3.dart_sqlite3_malloc(4)); + t3 = A._asInt(t3.dart_sqlite3_malloc(4)); + compiler = new A.WasmStatementCompiler(t1, ptr, t4, t3); + createdStatements = A._setArrayType([], type$.JSArray_StatementImplementation); + freeIntermediateResults = new A.DatabaseImplementation__prepareInternal_freeIntermediateResults(compiler, createdStatements); + for (t1 = bytes.length, t4 = type$.NativeArrayBuffer, t5 = t3 !== 0, t2 = t2.memory, offset = 0; offset < t1; offset = endOffset) { + result = compiler.sqlite3_prepare$3(offset, t1 - offset, 0); + t6 = result.resultCode; + if (t6 !== 0) { + freeIntermediateResults.call$0(); + A.throwException(_this, t6, "preparing statement", sql, null); + } + if (A.assertTest(t5)) + A.assertThrow(_s24_); + t6 = t4._as(t2.buffer); + $length = B.JSInt_methods._tdivFast$1(t6.byteLength, 4); + t6 = new Int32Array(t6, 0, $length); + t7 = B.JSInt_methods._shrOtherPositive$1(t3, 2); + if (!(t7 < t6.length)) + return A.ioore(t6, t7); + endOffset = t6[t7] - ptr; + stmt = result.result; + if (stmt != null) + B.JSArray_methods.add$1(createdStatements, new A.StatementImplementation(stmt, _this, new A.FinalizableStatement(stmt), new A._Utf8Decoder(false)._convertGeneral$4(bytes, offset, endOffset, true))); + if (createdStatements.length === maxStatements) { + offset = endOffset; + break; + } + } + if (checkNoTail) + while (offset < t1) { + result = compiler.sqlite3_prepare$3(offset, t1 - offset, 0); + if (A.assertTest(t5)) + A.assertThrow(_s24_); + t6 = t4._as(t2.buffer); + $length = B.JSInt_methods._tdivFast$1(t6.byteLength, 4); + t6 = new Int32Array(t6, 0, $length); + t7 = B.JSInt_methods._shrOtherPositive$1(t3, 2); + if (!(t7 < t6.length)) + return A.ioore(t6, t7); + offset = t6[t7] - ptr; + stmt = result.result; + if (stmt != null) { + B.JSArray_methods.add$1(createdStatements, new A.StatementImplementation(stmt, _this, new A.FinalizableStatement(stmt), "")); + freeIntermediateResults.call$0(); + throw A.wrapException(A.ArgumentError$value(sql, "sql", "Had an unexpected trailing statement.")); + } else if (result.resultCode !== 0) { + freeIntermediateResults.call$0(); + throw A.wrapException(A.ArgumentError$value(sql, "sql", "Has trailing data after the first sql statement:")); + } + } + compiler.close$0(); + for (t1 = createdStatements.length, t2 = _this.finalizable._statements, _i = 0; _i < createdStatements.length; createdStatements.length === t1 || (0, A.throwConcurrentModificationError)(createdStatements), ++_i) + B.JSArray_methods.add$1(t2, createdStatements[_i].finalizable); + return createdStatements; + }, + prepare$2$checkNoTail(sql, checkNoTail) { + var stmts = this._prepareInternal$5$checkNoTail$maxStatements$persistent$vtab(sql, checkNoTail, 1, false, true); + if (stmts.length === 0) + throw A.wrapException(A.ArgumentError$value(sql, "sql", "Must contain an SQL statement.")); + return B.JSArray_methods.get$first(stmts); + }, + prepare$1(sql) { + return this.prepare$2$checkNoTail(sql, false); + }, + $isCommonDatabase: 1 + }; + A.DatabaseImplementation_createFunction_closure.prototype = { + call$2(context, args) { + A._extension_0_runWithArgsAndSetResult(context, this.$function, type$.List_RawSqliteValue._as(args)); + }, + $signature: 62 + }; + A.DatabaseImplementation__prepareInternal_freeIntermediateResults.prototype = { + call$0() { + var t1, t2, _i, stmt, t3, t4; + this.compiler.close$0(); + for (t1 = this.createdStatements, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + stmt = t1[_i]; + t3 = stmt.finalizable; + if (!t3._statement$_closed) { + t4 = $.$get$disposeFinalizer()._registry; + if (t4 != null) + t4.unregister(stmt); + if (!t3._statement$_closed) { + t3._statement$_closed = true; + if (!t3._inResetState) { + t4 = t3.statement; + A._asInt(t4.bindings.sqlite3.sqlite3_reset(t4.stmt)); + t3._inResetState = true; + } + t4 = t3.statement; + t4.deallocateArguments$0(); + A._asInt(t4.bindings.sqlite3.sqlite3_finalize(t4.stmt)); + } + t4 = stmt.database; + if (!t4._isClosed) + B.JSArray_methods.remove$1(t4.finalizable._statements, t3); + } + } + }, + $signature: 0 + }; + A.ValueList.prototype = { + get$length(_) { + return this.rawValues.length; + }, + $index(_, index) { + var t1, t2, t3, _this = this; + if (A.assertTest(_this.isValid)) + A.assertThrow("Invalid arguments. This commonly happens when an application-defined sql function leaks its arguments after it finishes running. Please use List.of(arguments) in the function to create a copy of the argument instead."); + t1 = _this.rawValues; + A.RangeError_checkValidIndex(index, _this, "index", t1.length); + t2 = _this._cachedCopies; + if (!(index >= 0 && index < t2.length)) + return A.ioore(t2, index); + t3 = t2[index]; + if (t3 == null) { + t1 = A.ReadDartValue_read(t1.$index(0, index)); + B.JSArray_methods.$indexSet(t2, index, t1); + } else + t1 = t3; + return t1; + }, + $indexSet(_, index, value) { + throw A.wrapException(A.ArgumentError$("The argument list is unmodifiable", null)); + } + }; + A.FinalizablePart.prototype = {}; + A.disposeFinalizer_closure.prototype = { + call$1(element) { + type$.FinalizablePart._as(element).dispose$0(); + }, + $signature: 63 + }; + A.Sqlite3Implementation.prototype = { + open$2$vfs(filename, vfs) { + var namePtr, t3, outDb, result, dbPtr, exception, _null = null, + t1 = this.bindings, + t2 = t1.bindings, + rc = t2.sqlite3_initialize$0(); + if (rc !== 0) + A.throwExpression(A.SqliteException$(rc, "Error returned by sqlite3_initialize", _null, _null, _null, _null, _null)); + switch (2) { + case 2: + break; + } + namePtr = t2.allocateBytes$2$additionalLength(B.C_Utf8Encoder.convert$1(filename), 1); + t3 = t2.sqlite3; + outDb = A._asInt(t3.dart_sqlite3_malloc(4)); + result = A._asInt(t3.sqlite3_open_v2(namePtr, outDb, 6, 0)); + dbPtr = A.WrappedMemory_int32ValueOfPointer(t2.memory, outDb); + t3.dart_sqlite3_free(namePtr); + t3.dart_sqlite3_free(0); + t2 = new A.WasmDatabase0(t2, dbPtr); + if (result !== 0) { + exception = A.createExceptionRaw(t1, t2, result, "opening the database", _null, _null); + A._asInt(t3.sqlite3_close_v2(dbPtr)); + throw A.wrapException(exception); + } + A._asInt(t3.sqlite3_extended_result_codes(dbPtr, 1)); + t3 = new A.FinalizableDatabase(t1, t2, A._setArrayType([], type$.JSArray_FinalizableStatement), A._setArrayType([], type$.JSArray_of_void_Function)); + t2 = new A.DatabaseImplementation(t1, t2, t3); + t1 = $.$get$disposeFinalizer(); + t1.$ti._precomputed1._as(t3); + t1 = t1._registry; + if (t1 != null) + t1.register(t2, t3, t2); + return t2; + }, + open$1(filename) { + return this.open$2$vfs(filename, null); + }, + $isCommonSqlite3: 1 + }; + A.FinalizableStatement.prototype = { + dispose$0() { + var t1, _this = this; + if (!_this._statement$_closed) { + _this._statement$_closed = true; + _this._reset$0(); + t1 = _this.statement; + t1.deallocateArguments$0(); + A._asInt(t1.bindings.sqlite3.sqlite3_finalize(t1.stmt)); + } + }, + _reset$0() { + if (!this._inResetState) { + var t1 = this.statement; + A._asInt(t1.bindings.sqlite3.sqlite3_reset(t1.stmt)); + this._inResetState = true; + } + } + }; + A.StatementImplementation.prototype = { + get$_columnNames() { + var t3, columnCount, t4, t5, t6, i, namePtr, t7, t8, + t1 = this.statement, + t2 = t1.bindings; + t1 = t1.stmt; + t3 = t2.sqlite3; + columnCount = A._asInt(t3.sqlite3_column_count(t1)); + t4 = A._setArrayType([], type$.JSArray_String); + for (t5 = type$.List_int, t6 = type$.NativeArrayBuffer, t2 = t2.memory, i = 0; i < columnCount; ++i) { + namePtr = A._asInt(t3.sqlite3_column_name(t1, i)); + if (A.assertTest(namePtr !== 0)) + A.assertThrow("Null pointer dereference"); + t7 = t6._as(t2.buffer); + t8 = A.WrappedMemory_strlen(t2, namePtr); + t7 = t5._as(new Uint8Array(t7, namePtr, t8)); + t4.push(new A._Utf8Decoder(false)._convertGeneral$4(t7, 0, null, true)); + } + return t4; + }, + get$_tableNames() { + return null; + }, + _reset$0() { + var t1 = this.finalizable; + t1._reset$0(); + t1.statement.deallocateArguments$0(); + }, + _execute$0() { + var result, _this = this, + t1 = _this.finalizable._inResetState = false, + t2 = _this.statement, + t3 = t2.stmt; + t2 = t2.bindings.sqlite3; + do + result = A._asInt(t2.sqlite3_step(t3)); + while (result === 100); + if (result !== 0 ? result !== 101 : t1) + A.throwException(_this.database, result, "executing statement", _this.sql, _this._latestArguments); + }, + _selectResults$0() { + var t2, t3, columnCount, resultCode, t4, i, names, _this = this, + rows = A._setArrayType([], type$.JSArray_List_nullable_Object), + t1 = _this.finalizable._inResetState = false; + for (t2 = _this.statement, t3 = t2.stmt, t2 = t2.bindings.sqlite3, columnCount = -1; resultCode = A._asInt(t2.sqlite3_step(t3)), resultCode === 100;) { + if (columnCount === -1) + columnCount = A._asInt(t2.sqlite3_column_count(t3)); + A.assertHelper(columnCount >= 0); + t4 = []; + for (i = 0; i < columnCount; ++i) + t4.push(_this._readValue$1(i)); + B.JSArray_methods.add$1(rows, t4); + } + if (resultCode !== 0 ? resultCode !== 101 : t1) + A.throwException(_this.database, resultCode, "selecting from statement", _this.sql, _this._latestArguments); + names = _this.get$_columnNames(); + _this.get$_tableNames(); + t1 = new A.ResultSet(rows, names, B.Map_empty); + t1._calculateIndexes$0(); + return t1; + }, + _readValue$1(index) { + var t3, $length, + t1 = this.statement, + t2 = t1.bindings; + t1 = t1.stmt; + t3 = t2.sqlite3; + switch (A._asInt(t3.sqlite3_column_type(t1, index))) { + case 1: + t1 = type$.JavaScriptBigInt._as(t3.sqlite3_column_int64(t1, index)); + return -9007199254740992 <= t1 && t1 <= 9007199254740992 ? A._asInt(A._asDouble(init.G.Number(t1))) : A._BigIntImpl_parse(A._asString(t1.toString()), null); + case 2: + return A._asDouble(t3.sqlite3_column_double(t1, index)); + case 3: + return A.WrappedMemory_readString(t2.memory, A._asInt(t3.sqlite3_column_text(t1, index)), null); + case 4: + $length = A._asInt(t3.sqlite3_column_bytes(t1, index)); + return A.WrappedMemory_copyRange(t2.memory, A._asInt(t3.sqlite3_column_blob(t1, index)), $length); + case 5: + default: + return null; + } + }, + _bindIndexedParams$1(params) { + var i, + $length = params.length, + t1 = this.statement, + count = A._asInt(t1.bindings.sqlite3.sqlite3_bind_parameter_count(t1.stmt)); + if ($length !== count) + A.throwExpression(A.ArgumentError$value(params, "parameters", "Expected " + count + " parameters, got " + $length)); + t1 = params.length; + if (t1 === 0) + return; + for (i = 1; i <= params.length; ++i) + this._bindParam$2(params[i - 1], i); + this._latestArguments = params; + }, + _bindParam$2(param, i) { + var t1, _this0, encoded, t2, ptr, _this = this; + $label0$0: { + if (param == null) { + t1 = _this.statement; + t1 = A._asInt(t1.bindings.sqlite3.sqlite3_bind_null(t1.stmt, i)); + break $label0$0; + } + if (A._isInt(param)) { + t1 = _this.statement; + t1 = A._asInt(t1.bindings.sqlite3.sqlite3_bind_int64(t1.stmt, i, type$.JavaScriptBigInt._as(init.G.BigInt(param)))); + break $label0$0; + } + if (param instanceof A._BigIntImpl) { + t1 = _this.statement; + t1 = A._asInt(t1.bindings.sqlite3.sqlite3_bind_int64(t1.stmt, i, type$.JavaScriptBigInt._as(init.G.BigInt(A.BigIntRangeCheck_get_checkRange(param).toString$0(0))))); + break $label0$0; + } + if (A._isBool(param)) { + t1 = _this.statement; + _this0 = param ? 1 : 0; + t1 = A._asInt(t1.bindings.sqlite3.sqlite3_bind_int64(t1.stmt, i, type$.JavaScriptBigInt._as(init.G.BigInt(_this0)))); + break $label0$0; + } + if (typeof param == "number") { + t1 = _this.statement; + t1 = A._asInt(t1.bindings.sqlite3.sqlite3_bind_double(t1.stmt, i, param)); + break $label0$0; + } + if (typeof param == "string") { + t1 = _this.statement; + encoded = B.C_Utf8Encoder.convert$1(param); + t2 = t1.bindings; + ptr = t2.allocateBytes$1(encoded); + B.JSArray_methods.add$1(t1._allocatedArguments, ptr); + t1 = A.callMethod(t2.sqlite3, "sqlite3_bind_text", [t1.stmt, i, ptr, encoded.length, 0], type$.int); + break $label0$0; + } + t1 = type$.List_int; + if (t1._is(param)) { + t2 = _this.statement; + t1._as(param); + t1 = t2.bindings; + ptr = t1.allocateBytes$1(param); + B.JSArray_methods.add$1(t2._allocatedArguments, ptr); + t2 = A.callMethod(t1.sqlite3, "sqlite3_bind_blob64", [t2.stmt, i, ptr, type$.JavaScriptBigInt._as(init.G.BigInt(J.get$length$asx(param))), 0], type$.int); + t1 = t2; + break $label0$0; + } + t1 = _this._bindCustomParam$2(param, i); + break $label0$0; + } + if (t1 !== 0) + A.throwException(_this.database, t1, "binding parameter", _this.sql, _this._latestArguments); + }, + _bindCustomParam$2(param, i) { + A._asObject(param); + throw A.wrapException(A.ArgumentError$value(param, "params[" + i + "]", "Allowed parameters must either be null or bool, int, num, String or List.")); + }, + _bindParams$1(parameters) { + $label0$0: { + this._bindIndexedParams$1(parameters.parameters); + break $label0$0; + } + }, + dispose$0() { + var t2, + t1 = this.finalizable; + if (!t1._statement$_closed) { + $.$get$disposeFinalizer().detach$1(this); + t1.dispose$0(); + t2 = this.database; + if (!t2._isClosed) + B.JSArray_methods.remove$1(t2.finalizable._statements, t1); + } + }, + selectWith$1(parameters) { + var _this = this; + if (_this.finalizable._statement$_closed) + A.throwExpression(A.StateError$(string$.Tried_)); + _this._reset$0(); + _this._bindParams$1(parameters); + return _this._selectResults$0(); + }, + executeWith$1(parameters) { + var _this = this; + if (_this.finalizable._statement$_closed) + A.throwExpression(A.StateError$(string$.Tried_)); + _this._reset$0(); + _this._bindParams$1(parameters); + _this._execute$0(); + } + }; + A.InMemoryFileSystem.prototype = { + xAccess$2(path, flags) { + return this.fileData.containsKey$1(path) ? 1 : 0; + }, + xDelete$2(path, syncDir) { + this.fileData.remove$1(0, path); + }, + xFullPathName$1(path) { + return $.$get$url().normalize$1("/" + path); + }, + xOpen$2(path, flags) { + var t1, + pathStr = path.path; + if (pathStr == null) + pathStr = A.GenerateFilename_randomFileName(this.random, "/"); + t1 = this.fileData; + if (!t1.containsKey$1(pathStr)) + if ((flags & 4) !== 0) + t1.$indexSet(0, pathStr, new A.Uint8Buffer(new Uint8Array(0), 0)); + else + throw A.wrapException(A.VfsException$(14)); + return new A._Record_2_file_outFlags(new A._InMemoryFile(this, pathStr, (flags & 8) !== 0), 0); + }, + xSleep$1(duration) { + } + }; + A._InMemoryFile.prototype = { + readInto$2(buffer, offset) { + var available, + file = this.vfs.fileData.$index(0, this.path); + if (file == null || file._typed_buffer$_length <= offset) + return 0; + available = Math.min(buffer.length, file._typed_buffer$_length - offset); + B.NativeUint8List_methods.setRange$4(buffer, 0, available, J.asUint8List$2$x(B.NativeUint8List_methods.get$buffer(file._typed_buffer$_buffer), 0, file._typed_buffer$_length), offset); + return available; + }, + xCheckReservedLock$0() { + return this._lockMode >= 2 ? 1 : 0; + }, + xClose$0() { + if (this.deleteOnClose) + this.vfs.fileData.remove$1(0, this.path); + }, + xFileSize$0() { + return this.vfs.fileData.$index(0, this.path)._typed_buffer$_length; + }, + xLock$1(mode) { + this._lockMode = mode; + }, + xSync$1(flags) { + }, + xTruncate$1(size) { + var t1 = this.vfs.fileData, + t2 = this.path, + file = t1.$index(0, t2); + if (file == null) { + t1.$indexSet(0, t2, new A.Uint8Buffer(new Uint8Array(0), 0)); + t1.$index(0, t2).set$length(0, size); + } else + file.set$length(0, size); + }, + xUnlock$1(mode) { + this._lockMode = mode; + }, + xWrite$2(buffer, fileOffset) { + var endIndex, + t1 = this.vfs.fileData, + t2 = this.path, + file = t1.$index(0, t2); + if (file == null) { + file = new A.Uint8Buffer(new Uint8Array(0), 0); + t1.$indexSet(0, t2, file); + } + endIndex = fileOffset + buffer.length; + if (endIndex > file._typed_buffer$_length) + file.set$length(0, endIndex); + file.setRange$3(0, fileOffset, endIndex, buffer); + } + }; + A.Cursor.prototype = { + _calculateIndexes$0() { + var t2, t3, _i, column, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int); + for (t2 = this._result_set$_columnNames, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + column = t2[_i]; + t1.$indexSet(0, column, B.JSArray_methods.lastIndexOf$1(t2, column)); + } + this._calculatedIndexes = t1; + } + }; + A.ResultSet.prototype = { + get$iterator(_) { + return new A._ResultIterator(this); + }, + $index(_, index) { + var t1 = this.rows; + if (!(index >= 0 && index < t1.length)) + return A.ioore(t1, index); + return new A.Row(this, A.List_List$unmodifiable(t1[index], type$.nullable_Object)); + }, + $indexSet(_, index, value) { + type$.Row._as(value); + throw A.wrapException(A.UnsupportedError$("Can't change rows from a result set")); + }, + get$length(_) { + return this.rows.length; + }, + $isEfficientLengthIterable: 1, + $isIterable: 1, + $isList: 1 + }; + A.Row.prototype = { + $index(_, key) { + var t1, index; + if (typeof key != "string") { + if (A._isInt(key)) { + t1 = this._data; + if (key >>> 0 !== key || key >= t1.length) + return A.ioore(t1, key); + return t1[key]; + } + return null; + } + index = this._result._calculatedIndexes.$index(0, key); + if (index == null) + return null; + t1 = this._data; + if (index >>> 0 !== index || index >= t1.length) + return A.ioore(t1, index); + return t1[index]; + }, + get$keys() { + return this._result._result_set$_columnNames; + }, + get$values() { + return this._data; + }, + $isMap: 1 + }; + A._ResultIterator.prototype = { + get$current() { + var t1 = this.result, + t2 = t1.rows, + t3 = this.index; + if (!(t3 >= 0 && t3 < t2.length)) + return A.ioore(t2, t3); + return new A.Row(t1, A.List_List$unmodifiable(t2[t3], type$.nullable_Object)); + }, + moveNext$0() { + return ++this.index < this.result.rows.length; + }, + $isIterator: 1 + }; + A._ResultSet_Cursor_ListMixin.prototype = {}; + A._ResultSet_Cursor_ListMixin_NonGrowableListMixin.prototype = {}; + A._Row_Object_UnmodifiableMapMixin.prototype = {}; + A._Row_Object_UnmodifiableMapMixin_MapMixin.prototype = {}; + A.OpenMode.prototype = { + _enumToString$0() { + return "OpenMode." + this._name; + } + }; + A.CommonPreparedStatement.prototype = {}; + A.IndexedParameters.prototype = {$isStatementParameters: 1}; + A.VfsException.prototype = { + toString$0(_) { + return "VfsException(" + this.returnCode + ")"; + }, + $isException: 1 + }; + A.Sqlite3Filename.prototype = {}; + A.VirtualFileSystem.prototype = {}; + A.BaseVirtualFileSystem.prototype = {}; + A.BaseVfsFile.prototype = { + get$xDeviceCharacteristics() { + return 0; + }, + xRead$2(target, fileOffset) { + var bytesRead = this.readInto$2(target, fileOffset), + t1 = target.length; + if (bytesRead < t1) { + B.NativeUint8List_methods.fillRange$3(target, bytesRead, t1, 0); + throw A.wrapException(B.VfsException_522); + } + }, + $isVirtualFileSystemFile: 1 + }; + A.WasmSqliteBindings.prototype = {}; + A.WasmDatabase0.prototype = {}; + A.WasmStatementCompiler.prototype = { + close$0() { + var _this = this, + t1 = _this.database.bindings.sqlite3; + t1.dart_sqlite3_free(_this.sql); + t1.dart_sqlite3_free(_this.stmtOut); + t1.dart_sqlite3_free(_this.pzTail); + }, + sqlite3_prepare$3(byteOffset, $length, prepFlag) { + var stmt, libraryStatement, _this = this, + t1 = _this.database, + t2 = t1.bindings, + t3 = _this.stmtOut; + t1 = A.callMethod(t2.sqlite3, "sqlite3_prepare_v3", [t1.db, _this.sql + byteOffset, $length, prepFlag, t3, _this.pzTail], type$.int); + stmt = A.WrappedMemory_int32ValueOfPointer(t2.memory, t3); + libraryStatement = stmt === 0 ? null : new A.WasmStatement(stmt, t2, A._setArrayType([], type$.JSArray_int)); + return new A.SqliteResult(t1, libraryStatement, type$.SqliteResult_nullable_RawSqliteStatement); + } + }; + A.WasmStatement.prototype = { + deallocateArguments$0() { + var t1, t2, t3, _i; + for (t1 = this._allocatedArguments, t2 = t1.length, t3 = this.bindings.sqlite3, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) + t3.dart_sqlite3_free(t1[_i]); + B.JSArray_methods.clear$0(t1); + } + }; + A.WasmContext.prototype = {}; + A.WasmValue.prototype = {}; + A.WasmValueList.prototype = { + $index(_, index) { + var t1 = this.bindings; + return new A.WasmValue(t1, A.WrappedMemory_int32ValueOfPointer(t1.memory, this.value + index * 4)); + }, + $indexSet(_, index, value) { + type$.WasmValue._as(value); + throw A.wrapException(A.UnsupportedError$("Setting element in WasmValueList")); + }, + get$length(receiver) { + return this.length; + } + }; + A.AsyncJavaScriptIteratable.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var iterator, controller, _null = null, t1 = {}, + t2 = this.$ti; + t2._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + iterator = A._asJSObject(A.JSObjectUnsafeUtilExtension__callMethod(this._jsObject, type$.JavaScriptSymbol._as(init.G.Symbol.asyncIterator), _null, _null, _null, _null)); + controller = A.StreamController_StreamController(_null, _null, true, t2._precomputed1); + t1.currentlyPendingPromise = null; + t2 = new A.AsyncJavaScriptIteratable_listen_fetchNext(t1, this, iterator, controller); + controller.set$onListen(t2); + controller.set$onResume(new A.AsyncJavaScriptIteratable_listen_fetchNextIfNecessary(t1, controller, t2)); + return new A._ControllerStream(controller, A._instanceType(controller)._eval$1("_ControllerStream<1>")).listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError); + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A.AsyncJavaScriptIteratable_listen_fetchNext.prototype = { + call$0() { + var currentlyPendingPromise, t2, _this = this, + t1 = _this._box_0; + A.assertHelper(t1.currentlyPendingPromise == null); + currentlyPendingPromise = A._asJSObject(_this.iterator.next()); + t1.currentlyPendingPromise = currentlyPendingPromise; + t2 = _this.controller; + A.promiseToFuture(currentlyPendingPromise, type$.JSObject).then$1$2$onError(new A.AsyncJavaScriptIteratable_listen_fetchNext_closure(t1, _this.$this, t2, _this), t2.get$addError(), type$.Null); + }, + $signature: 0 + }; + A.AsyncJavaScriptIteratable_listen_fetchNext_closure.prototype = { + call$1(result) { + var t1, t2, value, t3, _this = this; + A._asJSObject(result); + t1 = A._asBoolQ(result.done); + if (t1 == null) + t1 = null; + t2 = _this.$this.$ti; + value = t2._eval$1("1?")._as(result.value); + t3 = _this.controller; + if (t1 === true) { + t3.close$0(); + _this._box_0.currentlyPendingPromise = null; + } else { + t3.add$1(0, value == null ? t2._precomputed1._as(value) : value); + _this._box_0.currentlyPendingPromise = null; + t1 = t3._state; + if (!((t1 & 1) !== 0 ? (t3.get$_subscription()._state & 4) !== 0 : (t1 & 2) === 0)) + _this.fetchNext.call$0(); + } + }, + $signature: 12 + }; + A.AsyncJavaScriptIteratable_listen_fetchNextIfNecessary.prototype = { + call$0() { + var t1, t2; + if (this._box_0.currentlyPendingPromise == null) { + t1 = this.controller; + t2 = t1._state; + t1 = !((t2 & 1) !== 0 ? (t1.get$_subscription()._state & 4) !== 0 : (t2 & 2) === 0); + } else + t1 = false; + if (t1) + this.fetchNext.call$0(); + }, + $signature: 0 + }; + A._CursorReader.prototype = { + cancel$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1; + var $async$cancel$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._onSuccess; + if (t1 != null) + t1.cancel$0(); + t1 = $async$self._indexed_db0$_onError; + if (t1 != null) + t1.cancel$0(); + $async$self._indexed_db0$_onError = $async$self._onSuccess = null; + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$cancel$0, $async$completer); + }, + get$current() { + var t1 = this._cursor; + return t1 == null ? A.throwExpression(A.StateError$("Await moveNext() first")) : t1; + }, + moveNext$0() { + var t1, completer, t2, t3, t4, _this = this; + if (A.assertTest(_this._onSuccess == null && _this._indexed_db0$_onError == null)) + A.assertThrow("moveNext() called twice"); + t1 = _this._cursor; + if (t1 != null) + t1.continue(); + t1 = new A._Future($.Zone__current, type$._Future_bool); + completer = new A._SyncCompleter(t1, type$._SyncCompleter_bool); + t2 = _this._cursorRequest; + t3 = type$.nullable_void_Function_JSObject; + t4 = type$.JSObject; + _this._onSuccess = A._EventStreamSubscription$(t2, "success", t3._as(new A._CursorReader_moveNext_closure(_this, completer)), false, t4); + _this._indexed_db0$_onError = A._EventStreamSubscription$(t2, "error", t3._as(new A._CursorReader_moveNext_closure0(_this, completer)), false, t4); + return t1; + } + }; + A._CursorReader_moveNext_closure.prototype = { + call$1($event) { + var t2, + t1 = this.$this; + t1.cancel$0(); + t2 = t1.$ti._eval$1("1?")._as(t1._cursorRequest.result); + t1._cursor = t2; + this.completer.complete$1(t2 != null); + }, + $signature: 1 + }; + A._CursorReader_moveNext_closure0.prototype = { + call$1($event) { + var t1 = this.$this; + t1.cancel$0(); + t1 = A._asJSObjectQ(t1._cursorRequest.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.CompleteIdbRequest_complete_closure.prototype = { + call$1($event) { + this.completer.complete$1(this.T._as(this._this.result)); + }, + $signature: 1 + }; + A.CompleteIdbRequest_complete_closure0.prototype = { + call$1($event) { + var t1 = A._asJSObjectQ(this._this.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.CompleteOpenIdbRequest_completeOrBlocked_closure.prototype = { + call$1($event) { + this.completer.complete$1(this.T._as(this._this.result)); + }, + $signature: 1 + }; + A.CompleteOpenIdbRequest_completeOrBlocked_closure0.prototype = { + call$1($event) { + var t1 = A._asJSObjectQ(this._this.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.CompleteOpenIdbRequest_completeOrBlocked_closure1.prototype = { + call$1($event) { + var t1 = A._asJSObjectQ(this._this.error); + if (t1 == null) + t1 = $event; + this.completer.completeError$1(t1); + }, + $signature: 1 + }; + A.WasmInstance_load_closure.prototype = { + call$2(module, moduleImports) { + var _this; + A._asString(module); + type$.Map_of_String_and_nullable_Object._as(moduleImports); + _this = {}; + this.importsJs[module] = _this; + moduleImports.forEach$1(0, new A.WasmInstance_load__closure(_this)); + }, + $signature: 64 + }; + A.WasmInstance_load__closure.prototype = { + call$2($name, value) { + this.moduleJs[A._asString($name)] = value; + }, + $signature: 65 + }; + A.WasmSqlite3.prototype = {}; + A.WasmVfs.prototype = { + _runInWorker$2$2(operation, requestData, $Req, $Res) { + var t2, t3, rc, + _s12_ = "_runInWorker", + t1 = type$.Message_2; + A.checkTypeBound($Req, t1, "Req", _s12_); + A.checkTypeBound($Res, t1, "Res", _s12_); + $Req._eval$1("@<0>")._bind$1($Res)._eval$1("WorkerOperation<1,2>")._as(operation); + t1 = this.serializer; + t1.write$1($Req._as(requestData)); + t2 = this.synchronizer.int32View; + t3 = init.G; + A._asInt(t3.Atomics.store(t2, 1, -1)); + A._asInt(t3.Atomics.store(t2, 0, operation.index)); + A.Atomics_notify(t2, 0); + A._asString(t3.Atomics.wait(t2, 1, -1)); + rc = A._asInt(t3.Atomics.load(t2, 1)); + if (rc !== 0) + throw A.wrapException(A.VfsException$(rc)); + return operation.readResponse.call$1(t1); + }, + xAccess$2(path, flags) { + return this._runInWorker$2$2(B.WorkerOperation_W3i, new A.NameAndInt32Flags(path, flags, 0, 0), type$.NameAndInt32Flags, type$.Flags).flag0; + }, + xDelete$2(path, syncDir) { + this._runInWorker$2$2(B.WorkerOperation_aCN, new A.NameAndInt32Flags(path, syncDir, 0, 0), type$.NameAndInt32Flags, type$.EmptyMessage); + }, + xFullPathName$1(path) { + var resolved = this.pathContext.absolute$1(path); + if ($.$get$context()._isWithinOrEquals$2("/", resolved) !== B._PathRelation_within) + throw A.wrapException(B.VfsException_14); + return resolved; + }, + xOpen$2(path, flags) { + var filePath = path.path, + result = this._runInWorker$2$2(B.WorkerOperation_readNameAndFlags_readFlags_2_xOpen, new A.NameAndInt32Flags(filePath == null ? A.GenerateFilename_randomFileName(this.random, "/") : filePath, flags, 0, 0), type$.NameAndInt32Flags, type$.Flags); + return new A._Record_2_file_outFlags(new A.WasmFile(this, result.flag1), result.flag0); + }, + xSleep$1(duration) { + this._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_5_xSleep, new A.Flags(B.JSInt_methods._tdivFast$1(duration._duration, 1000), 0, 0), type$.Flags, type$.EmptyMessage); + }, + close$0() { + var t1 = type$.EmptyMessage; + this._runInWorker$2$2(B.WorkerOperation_readEmpty_readEmpty_12_stopServer, B.C_EmptyMessage, t1, t1); + } + }; + A.WasmFile.prototype = { + get$xDeviceCharacteristics() { + return 2048; + }, + readInto$2(buffer, offset) { + var t1, t2, t3, t4, t5, t6, t7, t8, totalBytesRead, bytesToRead, bytesRead, t9, t10, + remainingBytes = buffer.length; + for (t1 = type$.JSObject, t2 = this.vfs, t3 = this.fd, t4 = type$.Flags, t5 = t2.serializer.buffer, t6 = init.G, t7 = type$.JavaScriptFunction, t8 = type$.NativeUint8List, totalBytesRead = 0; remainingBytes > 0;) { + bytesToRead = Math.min(65536, remainingBytes); + remainingBytes -= bytesToRead; + bytesRead = t2._runInWorker$2$2(B.WorkerOperation_readFlags_readFlags_3_xRead, new A.Flags(t3, offset + totalBytesRead, bytesToRead), t4, t4).flag0; + t9 = t7._as(t6.Uint8Array); + t10 = [t5]; + t10.push(0); + t10.push(bytesRead); + A.JSObjectUnsafeUtilExtension__callMethod(buffer, "set", t8._as(A.callConstructor(t9, t10, t1)), totalBytesRead, null, null); + totalBytesRead += bytesRead; + if (bytesRead < bytesToRead) + break; + } + return totalBytesRead; + }, + xCheckReservedLock$0() { + return this.lockStatus !== 0 ? 1 : 0; + }, + xClose$0() { + this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_6_xClose, new A.Flags(this.fd, 0, 0), type$.Flags, type$.EmptyMessage); + }, + xFileSize$0() { + var t1 = type$.Flags; + return this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readFlags_7_xFileSize, new A.Flags(this.fd, 0, 0), t1, t1).flag0; + }, + xLock$1(mode) { + var _this = this; + if (_this.lockStatus === 0) + _this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_10_xLock, new A.Flags(_this.fd, mode, 0), type$.Flags, type$.EmptyMessage); + _this.lockStatus = mode; + }, + xSync$1(flags) { + this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_8_xSync, new A.Flags(this.fd, 0, 0), type$.Flags, type$.EmptyMessage); + }, + xTruncate$1(size) { + this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_9_xTruncate, new A.Flags(this.fd, size, 0), type$.Flags, type$.EmptyMessage); + }, + xUnlock$1(mode) { + if (this.lockStatus !== 0 && mode === 0) + this.vfs._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_11_xUnlock, new A.Flags(this.fd, mode, 0), type$.Flags, type$.EmptyMessage); + }, + xWrite$2(buffer, fileOffset) { + var t1, t2, t3, t4, t5, totalBytesWritten, bytesToWrite, + remainingBytes = buffer.length; + for (t1 = this.vfs, t2 = t1.serializer.byteView, t3 = this.fd, t4 = type$.Flags, t5 = type$.EmptyMessage, totalBytesWritten = 0; remainingBytes > 0;) { + bytesToWrite = Math.min(65536, remainingBytes); + A.JSObjectUnsafeUtilExtension__callMethod(t2, "set", bytesToWrite === remainingBytes && totalBytesWritten === 0 ? buffer : J.asUint8List$2$x(B.NativeUint8List_methods.get$buffer(buffer), buffer.byteOffset + totalBytesWritten, bytesToWrite), 0, null, null); + t1._runInWorker$2$2(B.WorkerOperation_readFlags_readEmpty_4_xWrite, new A.Flags(t3, fileOffset + totalBytesWritten, bytesToWrite), t4, t5); + totalBytesWritten += bytesToWrite; + remainingBytes -= bytesToWrite; + } + } + }; + A.RequestResponseSynchronizer.prototype = {}; + A.MessageSerializer.prototype = { + write$1(message) { + var t1, encoded; + if (!(message instanceof A.EmptyMessage)) + if (message instanceof A.Flags) { + t1 = this.dataView; + t1.$flags & 2 && A.throwUnsupportedOperation(t1, 8); + t1.setInt32(0, message.flag0, false); + t1.setInt32(4, message.flag1, false); + t1.setInt32(8, message.flag2, false); + if (message instanceof A.NameAndInt32Flags) { + encoded = B.C_Utf8Encoder.convert$1(message.name); + t1.setInt32(12, encoded.length, false); + B.NativeUint8List_methods.setAll$2(this.byteView, 16, encoded); + } + } else + throw A.wrapException(A.UnsupportedError$("Message " + message.toString$0(0))); + } + }; + A.WorkerOperation.prototype = { + _enumToString$0() { + return "WorkerOperation." + this._name; + } + }; + A.Message0.prototype = {}; + A.EmptyMessage.prototype = {}; + A.Flags.prototype = {}; + A.NameAndInt32Flags.prototype = {}; + A._ResolvedPath.prototype = {}; + A.VfsWorker.prototype = { + _resolvePath$2$createDirectories(absolutePath, createDirectories) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$._ResolvedPath), + $async$returnValue, $async$self = this, file, t2, $directories, dirHandle, _i, t1, fullPath, _0_0, _0_1; + var $async$_resolvePath$2$createDirectories = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $.$get$url(); + fullPath = t1.relative$2$from(absolutePath, "/"); + _0_0 = t1.split$1(0, fullPath); + _0_1 = _0_0.length; + t1 = _0_1 >= 1; + file = null; + if (t1) { + t2 = _0_1 - 1; + $directories = B.JSArray_methods.sublist$2(_0_0, 0, t2); + if (!(t2 >= 0 && t2 < _0_0.length)) { + $async$returnValue = A.ioore(_0_0, t2); + // goto return + $async$goto = 1; + break; + } + file = _0_0[t2]; + } else + $directories = null; + if (!t1) + throw A.wrapException(A.StateError$("Pattern matching error")); + dirHandle = $async$self.root; + t1 = $directories.length, t2 = type$.JSObject, _i = 0; + case 3: + // for condition + if (!(_i < $directories.length)) { + // goto after for + $async$goto = 5; + break; + } + $async$goto = 6; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(dirHandle.getDirectoryHandle($directories[_i], {create: createDirectories})), t2), $async$_resolvePath$2$createDirectories); + case 6: + // returning from await. + dirHandle = $async$result; + case 4: + // for update + $directories.length === t1 || (0, A.throwConcurrentModificationError)($directories), ++_i; + // goto for condition + $async$goto = 3; + break; + case 5: + // after for + $async$returnValue = new A._ResolvedPath(fullPath, dirHandle, file); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_resolvePath$2$createDirectories, $async$completer); + }, + _resolvePath$1(absolutePath) { + return this._resolvePath$2$createDirectories(absolutePath, false); + }, + _xAccess$1(flags) { + return this._xAccess$body$VfsWorker(flags); + }, + _xAccess$body$VfsWorker(flags) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Flags), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, resolved, t1, exception, $async$exception; + var $async$_xAccess$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$handler = 4; + $async$goto = 7; + return A._asyncAwait($async$self._resolvePath$1(flags.name), $async$_xAccess$1); + case 7: + // returning from await. + resolved = $async$result; + t1 = resolved; + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(t1.directory.getFileHandle(t1.filename, {create: false})), type$.JSObject), $async$_xAccess$1); + case 8: + // returning from await. + $async$returnValue = new A.Flags(1, 0, 0); + // goto return + $async$goto = 1; + break; + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$errorStack.pop(); + $async$returnValue = new A.Flags(0, 0, 0); + // goto return + $async$goto = 1; + break; + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_xAccess$1, $async$completer); + }, + _xDelete$1(options) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$errorStack = [], $async$self = this, e, exception, resolved, $async$exception; + var $async$_xDelete$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$goto = 2; + return A._asyncAwait($async$self._resolvePath$1(options.name), $async$_xDelete$1); + case 2: + // returning from await. + resolved = $async$result; + $async$handler = 4; + $async$goto = 7; + return A._asyncAwait(A.FileSystemDirectoryHandleApi_remove(resolved.directory, resolved.filename), $async$_xDelete$1); + case 7: + // returning from await. + $async$handler = 1; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$errorStack.pop(); + e = A.unwrapException($async$exception); + A.S(e); + throw A.wrapException(B.VfsException_2570); + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 1; + break; + case 6: + // after finally + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_xDelete$1, $async$completer); + }, + _xOpen$1(req) { + return this._xOpen$body$VfsWorker(req); + }, + _xOpen$body$VfsWorker(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Flags), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, exception, t1, t2, fileHandle, readonly, flags, create, resolved, $async$exception; + var $async$_xOpen$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + flags = req.flag0; + create = (flags & 4) !== 0; + resolved = null; + $async$handler = 4; + $async$goto = 7; + return A._asyncAwait($async$self._resolvePath$2$createDirectories(req.name, create), $async$_xOpen$1); + case 7: + // returning from await. + resolved = $async$result; + $async$handler = 2; + // goto after finally + $async$goto = 6; + break; + case 4: + // catch + $async$handler = 3; + $async$exception = $async$errorStack.pop(); + t1 = A.VfsException$(12); + throw A.wrapException(t1); + // goto after finally + $async$goto = 6; + break; + case 3: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 6: + // after finally + t1 = resolved; + t2 = A._asBool(create); + $async$goto = 8; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(t1.directory.getFileHandle(t1.filename, {create: t2})), type$.JSObject), $async$_xOpen$1); + case 8: + // returning from await. + fileHandle = $async$result; + readonly = !create && (flags & 1) !== 0; + t1 = $async$self._fdCounter++; + t2 = resolved.directory; + $async$self._openFiles.$indexSet(0, t1, new A._OpenedFileHandle(t1, readonly, (flags & 8) !== 0, resolved.fullPath, t2, resolved.filename, fileHandle)); + $async$returnValue = new A.Flags(readonly ? 1 : 0, t1, 0); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_xOpen$1, $async$completer); + }, + _xRead$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Flags), + $async$returnValue, $async$self = this, bufferLength, t1, $async$temp1, $async$temp2; + var $async$_xRead$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + bufferLength = req.flag2; + A.assertHelper(bufferLength <= 65536); + $async$temp1 = A; + $async$temp2 = A; + $async$goto = 3; + return A._asyncAwait($async$self._openForSynchronousAccess$1(t1), $async$_xRead$1); + case 3: + // returning from await. + $async$returnValue = new $async$temp1.Flags($async$temp2.FileSystemSyncAccessHandleApi_readDart($async$result, A.SharedArrayBuffer_asUint8ListSlice($async$self.messages.buffer, 0, bufferLength), {at: req.flag1}), 0, 0); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_xRead$1, $async$completer); + }, + _xWrite$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$self = this, bufferLength, t1, $async$temp1; + var $async$_xWrite$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + bufferLength = req.flag2; + A.assertHelper(bufferLength <= 65536); + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait($async$self._openForSynchronousAccess$1(t1), $async$_xWrite$1); + case 3: + // returning from await. + if ($async$temp1.FileSystemSyncAccessHandleApi_writeDart($async$result, A.SharedArrayBuffer_asUint8ListSlice($async$self.messages.buffer, 0, bufferLength), {at: req.flag1}) !== bufferLength) + throw A.wrapException(B.VfsException_778); + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_xWrite$1, $async$completer); + }, + _xClose$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, file; + var $async$_xClose$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + file = $async$self._openFiles.remove$1(0, req.flag0); + $async$self._implicitlyHeldLocks.remove$1(0, file); + if (file == null) + throw A.wrapException(B.VfsException_12); + $async$self._closeSyncHandle$1(file); + $async$goto = file.deleteOnClose ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait(A.FileSystemDirectoryHandleApi_remove(file.directory, file.filename), $async$_xClose$1); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_xClose$1, $async$completer); + }, + _xFileSize$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Flags), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$next = [], $async$self = this, file, syncHandle, size, t1; + var $async$_xFileSize$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + file = t1; + $async$handler = 3; + $async$goto = 6; + return A._asyncAwait($async$self._openForSynchronousAccess$1(file), $async$_xFileSize$1); + case 6: + // returning from await. + syncHandle = $async$result; + size = A._asInt(syncHandle.getSize()); + $async$returnValue = new A.Flags(size, 0, 0); + $async$next = [1]; + // goto finally + $async$goto = 4; + break; + $async$next.push(5); + // goto finally + $async$goto = 4; + break; + case 3: + // uncaught + $async$next = [2]; + case 4: + // finally + $async$handler = 2; + t1 = type$._OpenedFileHandle._as(file); + if ($async$self._implicitlyHeldLocks.remove$1(0, t1)) + $async$self._closeSyncHandleNoThrow$1(t1); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 5: + // after finally + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_xFileSize$1, $async$completer); + }, + _xTruncate$1(req) { + return this._xTruncate$body$VfsWorker(req); + }, + _xTruncate$body$VfsWorker(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$next = [], $async$self = this, file, syncHandle, t1; + var $async$_xTruncate$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + file = t1; + if (file.readonly) + A.throwExpression(B.VfsException_8); + $async$handler = 3; + $async$goto = 6; + return A._asyncAwait($async$self._openForSynchronousAccess$1(file), $async$_xTruncate$1); + case 6: + // returning from await. + syncHandle = $async$result; + syncHandle.truncate(req.flag1); + $async$next.push(5); + // goto finally + $async$goto = 4; + break; + case 3: + // uncaught + $async$next = [2]; + case 4: + // finally + $async$handler = 2; + t1 = type$._OpenedFileHandle._as(file); + if ($async$self._implicitlyHeldLocks.remove$1(0, t1)) + $async$self._closeSyncHandleNoThrow$1(t1); + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 5: + // after finally + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_xTruncate$1, $async$completer); + }, + _xSync$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$self = this, file, syncHandle; + var $async$_xSync$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + file = $async$self._openFiles.$index(0, req.flag0); + syncHandle = file.syncHandle; + if (!file.readonly && syncHandle != null) + syncHandle.flush(); + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_xSync$1, $async$completer); + }, + _xLock$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, file, exception, t1, $async$exception; + var $async$_xLock$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._openFiles.$index(0, req.flag0); + t1.toString; + file = t1; + $async$goto = file.syncHandle == null ? 3 : 5; + break; + case 3: + // then + $async$handler = 7; + $async$goto = 10; + return A._asyncAwait($async$self._openForSynchronousAccess$1(file), $async$_xLock$1); + case 10: + // returning from await. + file.explicitlyLocked = true; + $async$handler = 2; + // goto after finally + $async$goto = 9; + break; + case 7: + // catch + $async$handler = 6; + $async$exception = $async$errorStack.pop(); + throw A.wrapException(B.VfsException_3850); + // goto after finally + $async$goto = 9; + break; + case 6: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 9: + // after finally + // goto join + $async$goto = 4; + break; + case 5: + // else + file.explicitlyLocked = true; + case 4: + // join + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_xLock$1, $async$completer); + }, + _xUnlock$1(req) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.EmptyMessage), + $async$returnValue, $async$self = this, file; + var $async$_xUnlock$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + file = $async$self._openFiles.$index(0, req.flag0); + if (file.syncHandle != null && req.flag1 === 0) + $async$self._closeSyncHandle$1(file); + $async$returnValue = B.C_EmptyMessage; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_xUnlock$1, $async$completer); + }, + start$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, rc, opcode, request, response, e, e0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, opcode0, exception, $async$exception; + var $async$start$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.synchronizer.int32View, t2 = init.G, t3 = $async$self.messages, t4 = $async$self.get$_releaseImplicitLock(), t5 = $async$self._implicitlyHeldLocks, t6 = t5.$ti._precomputed1, t7 = type$.Flags, t8 = type$.NameAndInt32Flags, t9 = type$.void; + case 3: + // for condition + if (!!$async$self._stopped) { + // goto after for + $async$goto = 4; + break; + } + if (A._asString(t2.Atomics.wait(t1, 0, -1, 150)) === "timed-out") { + t10 = A.List_List$_of(t5, t6); + B.JSArray_methods.forEach$1(t10, t4); + // goto for condition + $async$goto = 3; + break; + } + rc = null; + opcode = null; + request = null; + $async$handler = 6; + opcode0 = A._asInt(t2.Atomics.load(t1, 0)); + A._asInt(t2.Atomics.store(t1, 0, -1)); + if (!(opcode0 >= 0 && opcode0 < 13)) { + $async$returnValue = A.ioore(B.List_mvT, opcode0); + // goto return + $async$goto = 1; + break; + } + opcode = B.List_mvT[opcode0]; + request = opcode.readRequest.call$1(t3); + response = null; + case 9: + // switch + switch (opcode.index) { + case 5: + // goto case + $async$goto = 11; + break; + case 0: + // goto case + $async$goto = 12; + break; + case 1: + // goto case + $async$goto = 13; + break; + case 2: + // goto case + $async$goto = 14; + break; + case 3: + // goto case + $async$goto = 15; + break; + case 4: + // goto case + $async$goto = 16; + break; + case 6: + // goto case + $async$goto = 17; + break; + case 7: + // goto case + $async$goto = 18; + break; + case 9: + // goto case + $async$goto = 19; + break; + case 8: + // goto case + $async$goto = 20; + break; + case 10: + // goto case + $async$goto = 21; + break; + case 11: + // goto case + $async$goto = 22; + break; + case 12: + // goto case + $async$goto = 23; + break; + default: + // goto after switch + $async$goto = 10; + break; + } + break; + case 11: + // case + t10 = A.List_List$_of(t5, t6); + B.JSArray_methods.forEach$1(t10, t4); + $async$goto = 24; + return A._asyncAwait(A.Future_Future$delayed(A.Duration$(0, t7._as(request).flag0), t9), $async$start$0); + case 24: + // returning from await. + response = B.C_EmptyMessage; + // goto after switch + $async$goto = 10; + break; + case 12: + // case + $async$goto = 25; + return A._asyncAwait($async$self._xAccess$1(t8._as(request)), $async$start$0); + case 25: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 13: + // case + $async$goto = 26; + return A._asyncAwait($async$self._xDelete$1(t8._as(request)), $async$start$0); + case 26: + // returning from await. + response = B.C_EmptyMessage; + // goto after switch + $async$goto = 10; + break; + case 14: + // case + $async$goto = 27; + return A._asyncAwait($async$self._xOpen$1(t8._as(request)), $async$start$0); + case 27: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 15: + // case + $async$goto = 28; + return A._asyncAwait($async$self._xRead$1(t7._as(request)), $async$start$0); + case 28: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 16: + // case + $async$goto = 29; + return A._asyncAwait($async$self._xWrite$1(t7._as(request)), $async$start$0); + case 29: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 17: + // case + $async$goto = 30; + return A._asyncAwait($async$self._xClose$1(t7._as(request)), $async$start$0); + case 30: + // returning from await. + response = B.C_EmptyMessage; + // goto after switch + $async$goto = 10; + break; + case 18: + // case + $async$goto = 31; + return A._asyncAwait($async$self._xFileSize$1(t7._as(request)), $async$start$0); + case 31: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 19: + // case + $async$goto = 32; + return A._asyncAwait($async$self._xTruncate$1(t7._as(request)), $async$start$0); + case 32: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 20: + // case + $async$goto = 33; + return A._asyncAwait($async$self._xSync$1(t7._as(request)), $async$start$0); + case 33: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 21: + // case + $async$goto = 34; + return A._asyncAwait($async$self._xLock$1(t7._as(request)), $async$start$0); + case 34: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 22: + // case + $async$goto = 35; + return A._asyncAwait($async$self._xUnlock$1(t7._as(request)), $async$start$0); + case 35: + // returning from await. + response = $async$result; + // goto after switch + $async$goto = 10; + break; + case 23: + // case + response = B.C_EmptyMessage; + $async$self._stopped = true; + t10 = A.List_List$_of(t5, t6); + B.JSArray_methods.forEach$1(t10, t4); + // goto after switch + $async$goto = 10; + break; + case 10: + // after switch + t3.write$1(response); + rc = 0; + $async$handler = 2; + // goto after finally + $async$goto = 8; + break; + case 6: + // catch + $async$handler = 5; + $async$exception = $async$errorStack.pop(); + t10 = A.unwrapException($async$exception); + if (t10 instanceof A.VfsException) { + e = t10; + A.S(e); + A.S(opcode); + A.S(request); + rc = e.returnCode; + } else { + e0 = t10; + A.S(e0); + A.S(opcode); + A.S(request); + rc = 1; + } + // goto after finally + $async$goto = 8; + break; + case 5: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 8: + // after finally + t10 = A._asInt(rc); + A.assertHelper(t10 !== -1); + A._asInt(t2.Atomics.store(t1, 1, t10)); + t2.Atomics.notify(t1, 1, 1 / 0); + // goto for condition + $async$goto = 3; + break; + case 4: + // after for + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$start$0, $async$completer); + }, + _releaseImplicitLock$1(handle) { + type$._OpenedFileHandle._as(handle); + if (this._implicitlyHeldLocks.remove$1(0, handle)) + this._closeSyncHandleNoThrow$1(handle); + }, + _openForSynchronousAccess$1(file) { + return this._openForSynchronousAccess$body$VfsWorker(file); + }, + _openForSynchronousAccess$body$VfsWorker(file) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.JSObject), + $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$self = this, attempt, handle, t1, t2, t3, handle0, t4, exception, existing, $async$exception; + var $async$_openForSynchronousAccess$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$errorStack.push($async$result); + $async$goto = $async$handler; + } + for (;;) + switch ($async$goto) { + case 0: + // Function start + existing = file.syncHandle; + if (existing != null) { + $async$returnValue = existing; + // goto return + $async$goto = 1; + break; + } + attempt = 1; + t1 = file.file, t2 = type$.JSObject, t3 = $async$self._implicitlyHeldLocks; + case 3: + // for condition + // trivial condition + $async$handler = 6; + $async$goto = 9; + return A._asyncAwait(A.promiseToFuture(A._asJSObject(t1.createSyncAccessHandle()), t2), $async$_openForSynchronousAccess$1); + case 9: + // returning from await. + handle0 = $async$result; + file.set$syncHandle(handle0); + handle = handle0; + if (!file.explicitlyLocked) + t3.add$1(0, file); + t4 = handle; + $async$returnValue = t4; + // goto return + $async$goto = 1; + break; + $async$handler = 2; + // goto after finally + $async$goto = 8; + break; + case 6: + // catch + $async$handler = 5; + $async$exception = $async$errorStack.pop(); + if (J.$eq$(attempt, 6)) + throw A.wrapException(B.VfsException_10); + A.S(attempt); + t4 = attempt; + if (typeof t4 !== "number") { + $async$returnValue = t4.$add(); + // goto return + $async$goto = 1; + break; + } + attempt = t4 + 1; + // goto after finally + $async$goto = 8; + break; + case 5: + // uncaught + // goto rethrow + $async$goto = 2; + break; + case 8: + // after finally + // goto for condition + $async$goto = 3; + break; + case 4: + // after for + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + case 2: + // rethrow + return A._asyncRethrow($async$errorStack.at(-1), $async$completer); + } + }); + return A._asyncStartSync($async$_openForSynchronousAccess$1, $async$completer); + }, + _closeSyncHandleNoThrow$1(handle) { + var exception; + try { + this._closeSyncHandle$1(handle); + } catch (exception) { + } + }, + _closeSyncHandle$1(handle) { + var syncHandle = handle.syncHandle; + if (syncHandle != null) { + handle.syncHandle = null; + this._implicitlyHeldLocks.remove$1(0, handle); + handle.explicitlyLocked = false; + syncHandle.close(); + } + } + }; + A._OpenedFileHandle.prototype = { + set$syncHandle(syncHandle) { + this.syncHandle = A._asJSObjectQ(syncHandle); + } + }; + A.AsynchronousIndexedDbFileSystem.prototype = { + _rangeOverFile$3$endOffsetInclusive$startOffset(fileId, endOffsetInclusive, startOffset) { + var t1 = type$.JSArray_double; + return A._asJSObject(init.G.IDBKeyRange.bound(A._setArrayType([fileId, startOffset], t1), A._setArrayType([fileId, endOffsetInclusive], t1))); + }, + _rangeOverFile$1(fileId) { + return this._rangeOverFile$3$endOffsetInclusive$startOffset(fileId, 9007199254740992, 0); + }, + _rangeOverFile$2$startOffset(fileId, startOffset) { + return this._rangeOverFile$3$endOffsetInclusive$startOffset(fileId, 9007199254740992, startOffset); + }, + open$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, openRequest; + var $async$open$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = new A._Future($.Zone__current, type$._Future_JSObject); + openRequest = A._asJSObject(A._asJSObjectQ(init.G.indexedDB).open($async$self._dbName, 1)); + openRequest.onupgradeneeded = A._functionToJS1(new A.AsynchronousIndexedDbFileSystem_open_closure(openRequest)); + new A._SyncCompleter(t1, type$._SyncCompleter_JSObject).complete$1(A.CompleteOpenIdbRequest_completeOrBlocked(openRequest, type$.JSObject)); + $async$goto = 2; + return A._asyncAwait(t1, $async$open$0); + case 2: + // returning from await. + $async$self._indexed_db$_database = $async$result; + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$open$0, $async$completer); + }, + close$0() { + var t1 = this._indexed_db$_database; + if (t1 != null) + t1.close(); + }, + listFiles$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_int), + $async$returnValue, $async$self = this, row, t1, t2, result, iterator; + var $async$listFiles$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + result = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int); + iterator = new A._CursorReader(A._asJSObject(A._asJSObject(A._asJSObject(A._asJSObject($async$self._indexed_db$_database.transaction("files", "readonly")).objectStore("files")).index("fileName")).openKeyCursor()), type$._CursorReader_JSObject); + case 3: + // while condition + $async$goto = 5; + return A._asyncAwait(iterator.moveNext$0(), $async$listFiles$0); + case 5: + // returning from await. + if (!$async$result) { + // goto after while + $async$goto = 4; + break; + } + row = iterator._cursor; + if (row == null) + row = A.throwExpression(A.StateError$("Await moveNext() first")); + t1 = row.key; + t1.toString; + A._asString(t1); + t2 = row.primaryKey; + t2.toString; + result.$indexSet(0, t1, A._asInt(A._asDouble(t2))); + // goto while condition + $async$goto = 3; + break; + case 4: + // after while + $async$returnValue = result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$listFiles$0, $async$completer); + }, + fileIdForPath$1(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_int), + $async$returnValue, $async$self = this, $async$temp1; + var $async$fileIdForPath$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.CompleteIdbRequest_complete(A._asJSObject(A._asJSObject(A._asJSObject(A._asJSObject($async$self._indexed_db$_database.transaction("files", "readonly")).objectStore("files")).index("fileName")).getKey(path)), type$.double), $async$fileIdForPath$1); + case 3: + // returning from await. + $async$returnValue = $async$temp1._asInt($async$result); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$fileIdForPath$1, $async$completer); + }, + createFile$1(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, $async$temp1; + var $async$createFile$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.CompleteIdbRequest_complete(A._asJSObject(A._asJSObject(A._asJSObject($async$self._indexed_db$_database.transaction("files", "readwrite")).objectStore("files")).put({name: path, length: 0})), type$.double), $async$createFile$1); + case 3: + // returning from await. + $async$returnValue = $async$temp1._asInt($async$result); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$createFile$1, $async$completer); + }, + _readFile$2(transaction, fileId) { + return A.CompleteIdbRequest_complete(A._asJSObject(A._asJSObject(transaction.objectStore("files")).get(fileId)), type$.nullable_JSObject).then$1$1(new A.AsynchronousIndexedDbFileSystem__readFile_closure(fileId), type$.JSObject); + }, + readFully$1(fileId) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List), + $async$returnValue, $async$self = this, transaction, blocks, file, result, readOperations, reader, t2, row, t, rowOffset, t1; + var $async$readFully$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + transaction = A._asJSObject(t1.transaction($.$get$AsynchronousIndexedDbFileSystem__storesJs(), "readonly")); + blocks = A._asJSObject(transaction.objectStore("blocks")); + $async$goto = 3; + return A._asyncAwait($async$self._readFile$2(transaction, fileId), $async$readFully$1); + case 3: + // returning from await. + file = $async$result; + t1 = A._asInt(file.length); + result = new Uint8Array(t1); + readOperations = A._setArrayType([], type$.JSArray_Future_void); + reader = new A._CursorReader(A._asJSObject(blocks.openCursor($async$self._rangeOverFile$1(fileId))), type$._CursorReader_JSObject); + t1 = type$.void, t2 = type$.JSArray_nullable_Object; + case 4: + // for condition + $async$goto = 6; + return A._asyncAwait(reader.moveNext$0(), $async$readFully$1); + case 6: + // returning from await. + if (!$async$result) { + // goto after for + $async$goto = 5; + break; + } + row = reader._cursor; + if (row == null) + row = A.throwExpression(A.StateError$("Await moveNext() first")); + t = t2._as(row.key); + if (1 < 0 || 1 >= t.length) { + $async$returnValue = A.ioore(t, 1); + // goto return + $async$goto = 1; + break; + } + rowOffset = A._asInt(A._asDouble(t[1])); + B.JSArray_methods.add$1(readOperations, A.Future_Future$sync(new A.AsynchronousIndexedDbFileSystem_readFully_closure(row, result, rowOffset, Math.min(4096, A._asInt(file.length) - rowOffset)), t1)); + // goto for condition + $async$goto = 4; + break; + case 5: + // after for + $async$goto = 7; + return A._asyncAwait(A.Future_wait(readOperations, t1), $async$readFully$1); + case 7: + // returning from await. + $async$returnValue = result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$readFully$1, $async$completer); + }, + _write$2(fileId, writes) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, transaction, blocks, file, t2, changedOffsets, fileCursor, t1; + var $async$_write$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + transaction = A._asJSObject(t1.transaction($.$get$AsynchronousIndexedDbFileSystem__storesJs(), "readwrite")); + blocks = A._asJSObject(transaction.objectStore("blocks")); + $async$goto = 2; + return A._asyncAwait($async$self._readFile$2(transaction, fileId), $async$_write$2); + case 2: + // returning from await. + file = $async$result; + t1 = writes.replacedBlocks; + t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeysIterable<1>"); + changedOffsets = A.List_List$_of(new A.LinkedHashMapKeysIterable(t1, t2), t2._eval$1("Iterable.E")); + B.JSArray_methods.sort$0(changedOffsets); + t1 = A._arrayInstanceType(changedOffsets); + $async$goto = 3; + return A._asyncAwait(A.Future_wait(new A.MappedListIterable(changedOffsets, t1._eval$1("Future<~>(1)")._as(new A.AsynchronousIndexedDbFileSystem__write_closure(new A.AsynchronousIndexedDbFileSystem__write_writeBlock(blocks, fileId), writes)), t1._eval$1("MappedListIterable<1,Future<~>>")), type$.void), $async$_write$2); + case 3: + // returning from await. + $async$goto = writes.newFileLength !== A._asInt(file.length) ? 4 : 5; + break; + case 4: + // then + fileCursor = new A._CursorReader(A._asJSObject(A._asJSObject(transaction.objectStore("files")).openCursor(fileId)), type$._CursorReader_JSObject); + $async$goto = 6; + return A._asyncAwait(fileCursor.moveNext$0(), $async$_write$2); + case 6: + // returning from await. + $async$goto = 7; + return A._asyncAwait(A.CompleteIdbRequest_complete(A._asJSObject(fileCursor.get$current().update({name: A._asString(file.name), length: writes.newFileLength})), type$.nullable_Object), $async$_write$2); + case 7: + // returning from await. + case 5: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_write$2, $async$completer); + }, + truncate$2(_, fileId, $length) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, transaction, files, blocks, file, fileCursor, t1; + var $async$truncate$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + transaction = A._asJSObject(t1.transaction($.$get$AsynchronousIndexedDbFileSystem__storesJs(), "readwrite")); + files = A._asJSObject(transaction.objectStore("files")); + blocks = A._asJSObject(transaction.objectStore("blocks")); + $async$goto = 2; + return A._asyncAwait($async$self._readFile$2(transaction, fileId), $async$truncate$2); + case 2: + // returning from await. + file = $async$result; + $async$goto = A._asInt(file.length) > $length ? 3 : 4; + break; + case 3: + // then + $async$goto = 5; + return A._asyncAwait(A.CompleteIdbRequest_complete(A._asJSObject(blocks.delete($async$self._rangeOverFile$2$startOffset(fileId, B.JSInt_methods._tdivFast$1($length, 4096) * 4096 + 1))), type$.nullable_Object), $async$truncate$2); + case 5: + // returning from await. + case 4: + // join + fileCursor = new A._CursorReader(A._asJSObject(files.openCursor(fileId)), type$._CursorReader_JSObject); + $async$goto = 6; + return A._asyncAwait(fileCursor.moveNext$0(), $async$truncate$2); + case 6: + // returning from await. + $async$goto = 7; + return A._asyncAwait(A.CompleteIdbRequest_complete(A._asJSObject(fileCursor.get$current().update({name: A._asString(file.name), length: $length})), type$.nullable_Object), $async$truncate$2); + case 7: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$truncate$2, $async$completer); + }, + deleteFile$1(id) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, transaction, blocksRange, t1; + var $async$deleteFile$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._indexed_db$_database; + t1.toString; + transaction = A._asJSObject(t1.transaction(A._setArrayType(["files", "blocks"], type$.JSArray_String), "readwrite")); + blocksRange = $async$self._rangeOverFile$3$endOffsetInclusive$startOffset(id, 9007199254740992, 0); + t1 = type$.nullable_Object; + $async$goto = 2; + return A._asyncAwait(A.Future_wait(A._setArrayType([A.CompleteIdbRequest_complete(A._asJSObject(A._asJSObject(transaction.objectStore("blocks")).delete(blocksRange)), t1), A.CompleteIdbRequest_complete(A._asJSObject(A._asJSObject(transaction.objectStore("files")).delete(id)), t1)], type$.JSArray_Future_void), type$.void), $async$deleteFile$1); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$deleteFile$1, $async$completer); + } + }; + A.AsynchronousIndexedDbFileSystem_open_closure.prototype = { + call$1(change) { + var database; + A._asJSObject(change); + database = A._asJSObject(this.openRequest.result); + if (A._asInt(change.oldVersion) === 0) { + A._asJSObject(A._asJSObject(database.createObjectStore("files", {autoIncrement: true})).createIndex("fileName", "name", {unique: true})); + A._asJSObject(database.createObjectStore("blocks")); + } + }, + $signature: 12 + }; + A.AsynchronousIndexedDbFileSystem__readFile_closure.prototype = { + call$1(value) { + A._asJSObjectQ(value); + if (value == null) + throw A.wrapException(A.ArgumentError$value(this.fileId, "fileId", "File not found in database")); + else + return value; + }, + $signature: 67 + }; + A.AsynchronousIndexedDbFileSystem_readFully_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, data; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.row; + $async$goto = A.JSAnyUtilityExtension_instanceOfString(t1.value, "Blob") ? 2 : 4; + break; + case 2: + // then + $async$goto = 5; + return A._asyncAwait(A.ReadBlob_byteBuffer(A._asJSObject(t1.value)), $async$call$0); + case 5: + // returning from await. + // goto join + $async$goto = 3; + break; + case 4: + // else + $async$result = type$.NativeArrayBuffer._as(t1.value); + case 3: + // join + data = $async$result; + B.NativeUint8List_methods.setAll$2($async$self.result, $async$self.rowOffset, J.asUint8List$2$x(data, 0, $async$self.length)); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 2 + }; + A.AsynchronousIndexedDbFileSystem__write_writeBlock.prototype = { + call$2(blockStart, block) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, _this, t2, cursor, value, t3; + var $async$call$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + if (A.assertTest(block.length === 4096)) + A.assertThrow("Invalid block size"); + t1 = $async$self.blocks; + _this = $async$self.fileId; + t2 = type$.JSArray_double; + $async$goto = 2; + return A._asyncAwait(A.CompleteIdbRequest_complete(A._asJSObject(t1.openCursor(A._asJSObject(init.G.IDBKeyRange.only(A._setArrayType([_this, blockStart], t2))))), type$.nullable_JSObject), $async$call$2); + case 2: + // returning from await. + cursor = $async$result; + value = type$.NativeArrayBuffer._as(B.NativeUint8List_methods.get$buffer(block)); + t3 = type$.nullable_Object; + $async$goto = cursor == null ? 3 : 5; + break; + case 3: + // then + $async$goto = 6; + return A._asyncAwait(A.CompleteIdbRequest_complete(A._asJSObject(t1.put(value, A._setArrayType([_this, blockStart], t2))), t3), $async$call$2); + case 6: + // returning from await. + // goto join + $async$goto = 4; + break; + case 5: + // else + $async$goto = 7; + return A._asyncAwait(A.CompleteIdbRequest_complete(A._asJSObject(cursor.update(value)), t3), $async$call$2); + case 7: + // returning from await. + case 4: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$2, $async$completer); + }, + $signature: 68 + }; + A.AsynchronousIndexedDbFileSystem__write_closure.prototype = { + call$1(offset) { + var t1; + A._asInt(offset); + t1 = this.writes.replacedBlocks.$index(0, offset); + t1.toString; + return this.writeBlock.call$2(offset, t1); + }, + $signature: 69 + }; + A._FileWriteRequest.prototype = { + _updateBlock$3(blockOffset, offsetInBlock, data) { + B.NativeUint8List_methods.setAll$2(this.replacedBlocks.putIfAbsent$2(blockOffset, new A._FileWriteRequest__updateBlock_closure(this, blockOffset)), offsetInBlock, data); + }, + addWrite$2(offset, data) { + var t1, offsetInData, offsetInFile, t2, offsetInBlock, t3, bytesToWrite, offsetInData0; + for (t1 = data.length, offsetInData = 0; offsetInData < t1; offsetInData = offsetInData0) { + offsetInFile = offset + offsetInData; + t2 = B.JSInt_methods._tdivFast$1(offsetInFile, 4096); + offsetInBlock = B.JSInt_methods.$mod(offsetInFile, 4096); + t3 = t1 - offsetInData; + if (offsetInBlock !== 0) + bytesToWrite = Math.min(4096 - offsetInBlock, t3); + else { + bytesToWrite = Math.min(4096, t3); + offsetInBlock = 0; + } + offsetInData0 = offsetInData + bytesToWrite; + this._updateBlock$3(t2 * 4096, offsetInBlock, J.asUint8List$2$x(B.NativeUint8List_methods.get$buffer(data), data.byteOffset + offsetInData, bytesToWrite)); + } + this.newFileLength = Math.max(this.newFileLength, offset + t1); + } + }; + A._FileWriteRequest__updateBlock_closure.prototype = { + call$0() { + var block = new Uint8Array(4096), + t1 = this.$this.originalContent, + t2 = t1.length, + t3 = this.blockOffset; + if (t2 > t3) + B.NativeUint8List_methods.setAll$2(block, 0, J.asUint8List$2$x(B.NativeUint8List_methods.get$buffer(t1), t1.byteOffset + t3, Math.min(4096, t2 - t3))); + return block; + }, + $signature: 70 + }; + A._OffsetAndBuffer.prototype = {}; + A.IndexedDbFileSystem.prototype = { + _submitWork$1(work) { + var _this = this; + if (_this._isClosing || _this._asynchronous._indexed_db$_database == null) + A.throwExpression(A.VfsException$(10)); + if (work.insertInto$1(_this._pendingWork)) { + _this._startWorkingIfNeeded$0(); + return work.completer.future; + } else + return A.Future_Future$value(null, type$.void); + }, + _startWorkingIfNeeded$0() { + var t1, item, _this = this; + if (_this._currentWorkItem == null && !_this._pendingWork.get$isEmpty(0)) { + t1 = _this._pendingWork; + item = _this._currentWorkItem = t1.get$first(0); + t1.remove$1(0, item); + item.completer.complete$1(A.Future_Future(item.get$run(), type$.void).whenComplete$1(new A.IndexedDbFileSystem__startWorkingIfNeeded_closure(_this))); + } + }, + close$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, result, t1; + var $async$close$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + if (!$async$self._isClosing) { + result = $async$self._submitWork$1(new A._FunctionWorkItem(type$.void_Function._as($async$self._asynchronous.get$close()), new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + $async$self._isClosing = true; + $async$returnValue = result; + // goto return + $async$goto = 1; + break; + } else { + t1 = $async$self._pendingWork; + if (!t1.get$isEmpty(0)) { + $async$returnValue = t1.get$last(0).completer.future; + // goto return + $async$goto = 1; + break; + } + } + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$close$0, $async$completer); + }, + _fileId$1(path) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.int), + $async$returnValue, $async$self = this, t2, t1; + var $async$_fileId$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._knownFileIds; + $async$goto = t1.containsKey$1(path) ? 3 : 5; + break; + case 3: + // then + t1 = t1.$index(0, path); + t1.toString; + $async$returnValue = t1; + // goto return + $async$goto = 1; + break; + // goto join + $async$goto = 4; + break; + case 5: + // else + $async$goto = 6; + return A._asyncAwait($async$self._asynchronous.fileIdForPath$1(path), $async$_fileId$1); + case 6: + // returning from await. + t2 = $async$result; + t2.toString; + t1.$indexSet(0, path, t2); + $async$returnValue = t2; + // goto return + $async$goto = 1; + break; + case 4: + // join + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$_fileId$1, $async$completer); + }, + _readFiles$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t2, t3, t4, t5, $name, fileId, buffer, data, t6, t1, rawFiles; + var $async$_readFiles$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self._asynchronous; + $async$goto = 2; + return A._asyncAwait(t1.listFiles$0(), $async$_readFiles$0); + case 2: + // returning from await. + rawFiles = $async$result; + $async$self._knownFileIds.addAll$1(0, rawFiles); + t2 = rawFiles.get$entries(), t2 = t2.get$iterator(t2), t3 = $async$self._memory.fileData, t4 = type$.Uint8Buffer._eval$1("Iterable"); + case 3: + // for condition + if (!t2.moveNext$0()) { + // goto after for + $async$goto = 4; + break; + } + t5 = t2.get$current(); + $name = t5.key; + fileId = t5.value; + buffer = new A.Uint8Buffer(new Uint8Array(0), 0); + $async$goto = 5; + return A._asyncAwait(t1.readFully$1(fileId), $async$_readFiles$0); + case 5: + // returning from await. + data = $async$result; + t5 = data.length; + buffer.set$length(0, t5); + t4._as(data); + t6 = buffer._typed_buffer$_length; + if (t5 > t6) + A.throwExpression(A.RangeError$range(t5, 0, t6, null, null)); + B.NativeUint8List_methods.setRange$4(buffer._typed_buffer$_buffer, 0, t5, data, 0); + t3.$indexSet(0, $name, buffer); + // goto for condition + $async$goto = 3; + break; + case 4: + // after for + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$_readFiles$0, $async$completer); + }, + xAccess$2(path, flags) { + return this._memory.fileData.containsKey$1(path) ? 1 : 0; + }, + xDelete$2(path, syncDir) { + var _this = this; + _this._memory.fileData.remove$1(0, path); + if (!_this._inMemoryOnlyFiles.remove$1(0, path)) + _this._submitWork$1(new A._DeleteFileWorkItem(_this, path, new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + }, + xFullPathName$1(path) { + return $.$get$url().normalize$1("/" + path); + }, + xOpen$2(path, flags) { + var t1, t2, inMemoryFile, _this = this, + pathStr = path.path; + if (pathStr == null) + pathStr = A.GenerateFilename_randomFileName(_this.random, "/"); + t1 = _this._memory; + t2 = t1.fileData.containsKey$1(pathStr) ? 1 : 0; + inMemoryFile = t1.xOpen$2(new A.Sqlite3Filename(pathStr), flags); + if (t2 === 0) + if ((flags & 8) !== 0) + _this._inMemoryOnlyFiles.add$1(0, pathStr); + else + _this._submitWork$1(new A._CreateFileWorkItem(_this, pathStr, new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + return new A._Record_2_file_outFlags(new A._IndexedDbFile(_this, inMemoryFile._0, pathStr), 0); + }, + xSleep$1(duration) { + } + }; + A.IndexedDbFileSystem__startWorkingIfNeeded_closure.prototype = { + call$0() { + var t1 = this.$this; + t1._currentWorkItem = null; + t1._startWorkingIfNeeded$0(); + }, + $signature: 6 + }; + A._IndexedDbFile.prototype = { + xRead$2(target, fileOffset) { + this.memoryFile.xRead$2(target, fileOffset); + }, + get$xDeviceCharacteristics() { + return 0; + }, + xCheckReservedLock$0() { + return this.memoryFile._lockMode >= 2 ? 1 : 0; + }, + xClose$0() { + }, + xFileSize$0() { + return this.memoryFile.xFileSize$0(); + }, + xLock$1(mode) { + this.memoryFile._lockMode = mode; + return null; + }, + xSync$1(flags) { + }, + xTruncate$1(size) { + var _this = this, + t1 = _this.vfs; + if (t1._isClosing || t1._asynchronous._indexed_db$_database == null) + A.throwExpression(A.VfsException$(10)); + _this.memoryFile.xTruncate$1(size); + if (!t1._inMemoryOnlyFiles.contains$1(0, _this.path)) + t1._submitWork$1(new A._FunctionWorkItem(type$.void_Function._as(new A._IndexedDbFile_xTruncate_closure(_this, size)), new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._SyncCompleter_void))); + }, + xUnlock$1(mode) { + this.memoryFile._lockMode = mode; + return null; + }, + xWrite$2(buffer, fileOffset) { + var t2, previousContent, previousList, copy, t3, t4, _this = this, + t1 = _this.vfs; + if (t1._isClosing || t1._asynchronous._indexed_db$_database == null) + A.throwExpression(A.VfsException$(10)); + t2 = _this.path; + if (t1._inMemoryOnlyFiles.contains$1(0, t2)) { + _this.memoryFile.xWrite$2(buffer, fileOffset); + return; + } + previousContent = t1._memory.fileData.$index(0, t2); + if (previousContent == null) + previousContent = new A.Uint8Buffer(new Uint8Array(0), 0); + previousList = J.asUint8List$2$x(B.NativeUint8List_methods.get$buffer(previousContent._typed_buffer$_buffer), 0, previousContent._typed_buffer$_length); + _this.memoryFile.xWrite$2(buffer, fileOffset); + copy = new Uint8Array(buffer.length); + B.NativeUint8List_methods.setAll$2(copy, 0, buffer); + t3 = A._setArrayType([], type$.JSArray__OffsetAndBuffer); + t4 = $.Zone__current; + B.JSArray_methods.add$1(t3, new A._OffsetAndBuffer(fileOffset, copy)); + t1._submitWork$1(new A._WriteFileWorkItem(t1, t2, previousList, t3, new A._SyncCompleter(new A._Future(t4, type$._Future_void), type$._SyncCompleter_void))); + }, + $isVirtualFileSystemFile: 1 + }; + A._IndexedDbFile_xTruncate_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$returnValue, $async$self = this, t1, t2, $async$temp1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.$this; + t2 = t1.vfs; + $async$temp1 = t2._asynchronous; + $async$goto = 3; + return A._asyncAwait(t2._fileId$1(t1.path), $async$call$0); + case 3: + // returning from await. + $async$returnValue = $async$temp1.truncate$2(0, $async$result, $async$self.size); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 2 + }; + A._IndexedDbWorkItem.prototype = { + insertInto$1(pending) { + type$.LinkedList__IndexedDbWorkItem._as(pending); + pending.$ti._precomputed1._as(this); + pending._insertBefore$3$updateFirst(pending._first, this, false); + return true; + } + }; + A._FunctionWorkItem.prototype = { + run$0() { + return this.work.call$0(); + } + }; + A._DeleteFileWorkItem.prototype = { + insertInto$1(pending) { + var current, t1, previous, t2; + type$.LinkedList__IndexedDbWorkItem._as(pending); + if (!pending.get$isEmpty(0)) { + current = pending.get$last(0); + for (t1 = this.path; current != null;) + if (current instanceof A._DeleteFileWorkItem) + if (current.path === t1) + return false; + else + current = current.get$previous(); + else if (current instanceof A._WriteFileWorkItem) { + previous = current.get$previous(); + if (current.path === t1) { + t2 = current._list; + t2.toString; + t2._unlink$1(A._instanceType(current)._eval$1("LinkedListEntry.E")._as(current)); + } + current = previous; + } else if (current instanceof A._CreateFileWorkItem) { + if (current.path === t1) { + t1 = current._list; + t1.toString; + t1._unlink$1(A._instanceType(current)._eval$1("LinkedListEntry.E")._as(current)); + return false; + } + current = current.get$previous(); + } else + break; + } + pending.$ti._precomputed1._as(this); + pending._insertBefore$3$updateFirst(pending._first, this, false); + return true; + }, + run$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, t2, id; + var $async$run$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.fileSystem; + t2 = $async$self.path; + $async$goto = 2; + return A._asyncAwait(t1._fileId$1(t2), $async$run$0); + case 2: + // returning from await. + id = $async$result; + t1._knownFileIds.remove$1(0, t2); + $async$goto = 3; + return A._asyncAwait(t1._asynchronous.deleteFile$1(id), $async$run$0); + case 3: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$run$0, $async$completer); + } + }; + A._CreateFileWorkItem.prototype = { + run$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t1, t2, $async$temp1, $async$temp2; + var $async$run$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.fileSystem; + t2 = $async$self.path; + $async$temp1 = t1._knownFileIds; + $async$temp2 = t2; + $async$goto = 2; + return A._asyncAwait(t1._asynchronous.createFile$1(t2), $async$run$0); + case 2: + // returning from await. + $async$temp1.$indexSet(0, $async$temp2, $async$result); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$run$0, $async$completer); + } + }; + A._WriteFileWorkItem.prototype = { + insertInto$1(pending) { + var current, t1; + type$.LinkedList__IndexedDbWorkItem._as(pending); + current = pending._collection$_length === 0 ? null : pending.get$last(0); + for (t1 = this.path; current != null;) + if (current instanceof A._WriteFileWorkItem) + if (current.path === t1) { + B.JSArray_methods.addAll$1(current.writes, this.writes); + return false; + } else + current = current.get$previous(); + else if (current instanceof A._CreateFileWorkItem) { + if (current.path === t1) + break; + current = current.get$previous(); + } else + break; + pending.$ti._precomputed1._as(this); + pending._insertBefore$3$updateFirst(pending._first, this, false); + return true; + }, + run$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$self = this, t2, _i, write, t1, request, $async$temp1; + var $async$run$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.originalContent; + request = new A._FileWriteRequest(t1, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.Uint8List), t1.length); + for (t1 = $async$self.writes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + write = t1[_i]; + request.addWrite$2(write.offset, write.buffer); + } + t1 = $async$self.fileSystem; + $async$temp1 = t1._asynchronous; + $async$goto = 3; + return A._asyncAwait(t1._fileId$1($async$self.path), $async$run$0); + case 3: + // returning from await. + $async$goto = 2; + return A._asyncAwait($async$temp1._write$2($async$result, request), $async$run$0); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$run$0, $async$completer); + } + }; + A.FileType.prototype = { + _enumToString$0() { + return "FileType." + this._name; + } + }; + A.SimpleOpfsFileSystem.prototype = { + _markExists$2(type, exists) { + var t1 = this._existsList, + t2 = type.index, + t3 = exists ? 1 : 0; + t1.$flags & 2 && A.throwUnsupportedOperation(t1); + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + t1[t2] = t3; + A.FileSystemSyncAccessHandleApi_writeDart(this._metaHandle, t1, {at: 0}); + }, + xAccess$2(path, flags) { + var t1, t2, + type = $.$get$FileType_byName().$index(0, path); + if (type == null) + return this._simple_opfs$_memory.fileData.containsKey$1(path) ? 1 : 0; + else { + t1 = this._existsList; + A.FileSystemSyncAccessHandleApi_readDart(this._metaHandle, t1, {at: 0}); + t2 = type.index; + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + return t1[t2]; + } + }, + xDelete$2(path, syncDir) { + var type = $.$get$FileType_byName().$index(0, path); + if (type == null) { + this._simple_opfs$_memory.fileData.remove$1(0, path); + return null; + } else + this._markExists$2(type, false); + }, + xFullPathName$1(path) { + return $.$get$url().normalize$1("/" + path); + }, + xOpen$2(path, flags) { + var recognized, t1, t2, _this = this, + pathStr = path.path; + if (pathStr == null) + return _this._simple_opfs$_memory.xOpen$2(path, flags); + recognized = $.$get$FileType_byName().$index(0, pathStr); + if (recognized == null) + return _this._simple_opfs$_memory.xOpen$2(path, flags); + t1 = _this._existsList; + A.FileSystemSyncAccessHandleApi_readDart(_this._metaHandle, t1, {at: 0}); + t2 = recognized.index; + if (!(t2 < t1.length)) + return A.ioore(t1, t2); + t2 = t1[t2]; + t1 = _this._files.$index(0, recognized); + t1.toString; + if (t2 === 0) + if ((flags & 4) !== 0) { + t1.truncate(0); + _this._markExists$2(recognized, true); + } else + throw A.wrapException(B.VfsException_14); + return new A._Record_2_file_outFlags(new A._SimpleOpfsFile(_this, recognized, t1, (flags & 8) !== 0), 0); + }, + xSleep$1(duration) { + }, + close$0() { + this._metaHandle.close(); + for (var t1 = this._files, t1 = new A.LinkedHashMapValueIterator(t1, t1.__js_helper$_modifications, t1.__js_helper$_first, A._instanceType(t1)._eval$1("LinkedHashMapValueIterator<2>")); t1.moveNext$0();) + t1.__js_helper$_current.close(); + } + }; + A.SimpleOpfsFileSystem_inDirectory_open.prototype = { + call$1($name) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.JSObject), + $async$returnValue, $async$self = this, t1, syncHandlePromise, $async$temp1; + var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + for (;;) + switch ($async$goto) { + case 0: + // Function start + t1 = type$.JSObject; + $async$temp1 = A; + $async$goto = 3; + return A._asyncAwait(A.promiseToFuture(A._asJSObject($async$self.root.getFileHandle($name, {create: true})), t1), $async$call$1); + case 3: + // returning from await. + syncHandlePromise = $async$temp1._asJSObject($async$result.createSyncAccessHandle()); + $async$goto = 4; + return A._asyncAwait(A.promiseToFuture(syncHandlePromise, t1), $async$call$1); + case 4: + // returning from await. + $async$returnValue = $async$result; + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$1, $async$completer); + }, + $signature: 71 + }; + A._SimpleOpfsFile.prototype = { + readInto$2(buffer, offset) { + return A.FileSystemSyncAccessHandleApi_readDart(this.syncHandle, buffer, {at: offset}); + }, + xCheckReservedLock$0() { + return this._simple_opfs$_lockMode >= 2 ? 1 : 0; + }, + xClose$0() { + var _this = this; + _this.syncHandle.flush(); + if (_this.deleteOnClose) + _this.vfs._markExists$2(_this.type, false); + }, + xFileSize$0() { + return A._asInt(this.syncHandle.getSize()); + }, + xLock$1(mode) { + this._simple_opfs$_lockMode = mode; + }, + xSync$1(flags) { + this.syncHandle.flush(); + }, + xTruncate$1(size) { + this.syncHandle.truncate(size); + }, + xUnlock$1(mode) { + this._simple_opfs$_lockMode = mode; + }, + xWrite$2(buffer, fileOffset) { + if (A.FileSystemSyncAccessHandleApi_writeDart(this.syncHandle, buffer, {at: fileOffset}) < buffer.length) + throw A.wrapException(B.VfsException_778); + } + }; + A.WasmBindings.prototype = { + allocateBytes$2$additionalLength(bytes, additionalLength) { + var t1, ptr, t2; + type$.List_int._as(bytes); + t1 = J.getInterceptor$asx(bytes); + ptr = A._asInt(this.sqlite3.dart_sqlite3_malloc(t1.get$length(bytes) + additionalLength)); + t2 = A.NativeUint8List_NativeUint8List$view(type$.NativeArrayBuffer._as(this.memory.buffer), 0, null); + B.NativeUint8List_methods.setRange$3(t2, ptr, ptr + t1.get$length(bytes), bytes); + B.NativeUint8List_methods.fillRange$3(t2, ptr + t1.get$length(bytes), ptr + t1.get$length(bytes) + additionalLength, 0); + return ptr; + }, + allocateBytes$1(bytes) { + return this.allocateBytes$2$additionalLength(bytes, 0); + }, + sqlite3_initialize$0() { + var t1, + _0_0 = type$.nullable_JavaScriptFunction._as(this.sqlite3.sqlite3_initialize); + $label0$0: { + if (_0_0 != null) { + t1 = A._asInt(A._asDouble(_0_0.call(null))); + break $label0$0; + } + t1 = 0; + break $label0$0; + } + return t1; + } + }; + A._InjectedValues.prototype = { + _InjectedValues$0() { + var t1, t2, _this = this, + memory = A._asJSObject(new init.G.WebAssembly.Memory({initial: 16})); + _this.___InjectedValues_memory_A = memory; + t1 = type$.String; + t2 = type$.JSObject; + _this.___InjectedValues_injectedValues_A = type$.Map_of_String_and_Map_String_JSObject._as(A.LinkedHashMap_LinkedHashMap$_literal(["env", A.LinkedHashMap_LinkedHashMap$_literal(["memory", memory], t1, t2), "dart", A.LinkedHashMap_LinkedHashMap$_literal(["error_log", A._functionToJS1(new A._InjectedValues_closure(memory)), "xOpen", A._functionToJS5(new A._InjectedValues_closure0(_this, memory)), "xDelete", A._functionToJS3(new A._InjectedValues_closure1(_this, memory)), "xAccess", A._functionToJS4(new A._InjectedValues_closure2(_this, memory)), "xFullPathname", A._functionToJS4(new A._InjectedValues_closure3(_this, memory)), "xRandomness", A._functionToJS3(new A._InjectedValues_closure4(_this, memory)), "xSleep", A._functionToJS2(new A._InjectedValues_closure5(_this)), "xCurrentTimeInt64", A._functionToJS2(new A._InjectedValues_closure6(_this, memory)), "xDeviceCharacteristics", A._functionToJS1(new A._InjectedValues_closure7(_this)), "xClose", A._functionToJS1(new A._InjectedValues_closure8(_this)), "xRead", A._functionToJS4(new A._InjectedValues_closure9(_this, memory)), "xWrite", A._functionToJS4(new A._InjectedValues_closure10(_this, memory)), "xTruncate", A._functionToJS2(new A._InjectedValues_closure11(_this)), "xSync", A._functionToJS2(new A._InjectedValues_closure12(_this)), "xFileSize", A._functionToJS2(new A._InjectedValues_closure13(_this, memory)), "xLock", A._functionToJS2(new A._InjectedValues_closure14(_this)), "xUnlock", A._functionToJS2(new A._InjectedValues_closure15(_this)), "xCheckReservedLock", A._functionToJS2(new A._InjectedValues_closure16(_this, memory)), "function_xFunc", A._functionToJS3(new A._InjectedValues_closure17(_this)), "function_xStep", A._functionToJS3(new A._InjectedValues_closure18(_this)), "function_xInverse", A._functionToJS3(new A._InjectedValues_closure19(_this)), "function_xFinal", A._functionToJS1(new A._InjectedValues_closure20(_this)), "function_xValue", A._functionToJS1(new A._InjectedValues_closure21(_this)), "function_forget", A._functionToJS1(new A._InjectedValues_closure22(_this)), "function_compare", A._functionToJS5(new A._InjectedValues_closure23(_this, memory)), "function_hook", A._functionToJS5(new A._InjectedValues_closure24(_this, memory)), "function_commit_hook", A._functionToJS1(new A._InjectedValues_closure25(_this)), "function_rollback_hook", A._functionToJS1(new A._InjectedValues_closure26(_this)), "localtime", A._functionToJS2(new A._InjectedValues_closure27(memory)), "changeset_apply_filter", A._functionToJS2(new A._InjectedValues_closure28(_this)), "changeset_apply_conflict", A._functionToJS3(new A._InjectedValues_closure29(_this))], t1, t2)], t1, type$.Map_String_JSObject)); + } + }; + A._InjectedValues_closure.prototype = { + call$1(ptr) { + A.print("[sqlite3] " + A.WrappedMemory_readString(this.memory, A._asInt(ptr), null)); + }, + $signature: 10 + }; + A._InjectedValues_closure0.prototype = { + call$5(vfsId, zName, dartFdPtr, flags, pOutFlags) { + var t1, t2, t3; + A._asInt(vfsId); + A._asInt(zName); + A._asInt(dartFdPtr); + A._asInt(flags); + A._asInt(pOutFlags); + t1 = this.$this; + t2 = t1.callbacks.registeredVfs.$index(0, vfsId); + t2.toString; + t3 = this.memory; + return A._runVfs(new A._InjectedValues__closure13(t1, t2, new A.Sqlite3Filename(A.WrappedMemory_readNullableString(t3, zName, null)), flags, t3, dartFdPtr, pOutFlags)); + }, + $signature: 25 + }; + A._InjectedValues__closure13.prototype = { + call$0() { + var _this = this, + result = _this.vfs.xOpen$2(_this.path, _this.flags), + t1 = _this.$this.callbacks, + t2 = t1._id++; + t1.openedFiles.$indexSet(0, t2, result._0); + t1 = _this.memory; + A.WrappedMemory_setInt32Value(t1, _this.dartFdPtr, t2); + t2 = _this.pOutFlags; + if (t2 !== 0) + A.WrappedMemory_setInt32Value(t1, t2, result._1); + }, + $signature: 0 + }; + A._InjectedValues_closure1.prototype = { + call$3(vfsId, zName, syncDir) { + var t1; + A._asInt(vfsId); + A._asInt(zName); + A._asInt(syncDir); + t1 = this.$this.callbacks.registeredVfs.$index(0, vfsId); + t1.toString; + return A._runVfs(new A._InjectedValues__closure12(t1, A.WrappedMemory_readString(this.memory, zName, null), syncDir)); + }, + $signature: 17 + }; + A._InjectedValues__closure12.prototype = { + call$0() { + return this.vfs.xDelete$2(this.path, this.syncDir); + }, + $signature: 0 + }; + A._InjectedValues_closure2.prototype = { + call$4(vfsId, zName, flags, pResOut) { + var t1, t2; + A._asInt(vfsId); + A._asInt(zName); + A._asInt(flags); + A._asInt(pResOut); + t1 = this.$this.callbacks.registeredVfs.$index(0, vfsId); + t1.toString; + t2 = this.memory; + return A._runVfs(new A._InjectedValues__closure11(t1, A.WrappedMemory_readString(t2, zName, null), flags, t2, pResOut)); + }, + $signature: 27 + }; + A._InjectedValues__closure11.prototype = { + call$0() { + var _this = this; + A.WrappedMemory_setInt32Value(_this.memory, _this.pResOut, _this.vfs.xAccess$2(_this.path, _this.flags)); + }, + $signature: 0 + }; + A._InjectedValues_closure3.prototype = { + call$4(vfsId, zName, nOut, zOut) { + var t1, t2; + A._asInt(vfsId); + A._asInt(zName); + A._asInt(nOut); + A._asInt(zOut); + t1 = this.$this.callbacks.registeredVfs.$index(0, vfsId); + t1.toString; + t2 = this.memory; + return A._runVfs(new A._InjectedValues__closure10(t1, A.WrappedMemory_readString(t2, zName, null), nOut, t2, zOut)); + }, + $signature: 27 + }; + A._InjectedValues__closure10.prototype = { + call$0() { + var t2, t3, _this = this, + encoded = B.C_Utf8Encoder.convert$1(_this.vfs.xFullPathName$1(_this.path)), + t1 = encoded.length; + if (t1 > _this.nOut) + throw A.wrapException(A.VfsException$(14)); + t2 = A.NativeUint8List_NativeUint8List$view(type$.NativeArrayBuffer._as(_this.memory.buffer), 0, null); + t3 = _this.zOut; + B.NativeUint8List_methods.setAll$2(t2, t3, encoded); + t1 = t3 + t1; + t2.$flags & 2 && A.throwUnsupportedOperation(t2); + if (!(t1 >= 0 && t1 < t2.length)) + return A.ioore(t2, t1); + t2[t1] = 0; + }, + $signature: 0 + }; + A._InjectedValues_closure4.prototype = { + call$3(vfsId, nByte, zOut) { + A._asInt(vfsId); + A._asInt(nByte); + return A._runVfs(new A._InjectedValues__closure9(this.memory, A._asInt(zOut), nByte, this.$this.callbacks.registeredVfs.$index(0, vfsId))); + }, + $signature: 17 + }; + A._InjectedValues__closure9.prototype = { + call$0() { + var _this = this, + target = A.NativeUint8List_NativeUint8List$view(type$.NativeArrayBuffer._as(_this.memory.buffer), _this.zOut, _this.nByte), + t1 = _this.vfs; + if (t1 != null) + A.BaseVirtualFileSystem_generateRandomness(target, t1.random); + else + return A.BaseVirtualFileSystem_generateRandomness(target, null); + }, + $signature: 0 + }; + A._InjectedValues_closure5.prototype = { + call$2(vfsId, micros) { + var t1; + A._asInt(vfsId); + A._asInt(micros); + t1 = this.$this.callbacks.registeredVfs.$index(0, vfsId); + t1.toString; + return A._runVfs(new A._InjectedValues__closure8(t1, micros)); + }, + $signature: 4 + }; + A._InjectedValues__closure8.prototype = { + call$0() { + this.vfs.xSleep$1(A.Duration$(this.micros, 0)); + }, + $signature: 0 + }; + A._InjectedValues_closure6.prototype = { + call$2(vfsId, target) { + var t1; + A._asInt(vfsId); + A._asInt(target); + this.$this.callbacks.registeredVfs.$index(0, vfsId).toString; + t1 = type$.JavaScriptBigInt._as(init.G.BigInt(Date.now())); + if (A.assertTest(target !== 0)) + A.assertThrow("Null pointer dereference"); + A.JSObjectUnsafeUtilExtension__callMethod(A.NativeByteData_NativeByteData$view(type$.NativeArrayBuffer._as(this.memory.buffer), 0, null), "setBigInt64", target, t1, true, null); + }, + $signature: 115 + }; + A._InjectedValues_closure7.prototype = { + call$1(fd) { + return this.$this.callbacks.openedFiles.$index(0, A._asInt(fd)).get$xDeviceCharacteristics(); + }, + $signature: 13 + }; + A._InjectedValues_closure8.prototype = { + call$1(fd) { + var t1, t2; + A._asInt(fd); + t1 = this.$this; + t2 = t1.callbacks.openedFiles.$index(0, fd); + t2.toString; + return A._runVfs(new A._InjectedValues__closure7(t1, t2, fd)); + }, + $signature: 13 + }; + A._InjectedValues__closure7.prototype = { + call$0() { + this.file.xClose$0(); + this.$this.callbacks.openedFiles.remove$1(0, this.fd); + }, + $signature: 0 + }; + A._InjectedValues_closure9.prototype = { + call$4(fd, target, amount, offset) { + var t1; + A._asInt(fd); + A._asInt(target); + A._asInt(amount); + type$.JavaScriptBigInt._as(offset); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure6(t1, this.memory, target, amount, offset)); + }, + $signature: 29 + }; + A._InjectedValues__closure6.prototype = { + call$0() { + var _this = this; + _this.file.xRead$2(A.NativeUint8List_NativeUint8List$view(type$.NativeArrayBuffer._as(_this.memory.buffer), _this.target, _this.amount), A._asInt(A._asDouble(init.G.Number(_this.offset)))); + }, + $signature: 0 + }; + A._InjectedValues_closure10.prototype = { + call$4(fd, source, amount, offset) { + var t1; + A._asInt(fd); + A._asInt(source); + A._asInt(amount); + type$.JavaScriptBigInt._as(offset); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure5(t1, this.memory, source, amount, offset)); + }, + $signature: 29 + }; + A._InjectedValues__closure5.prototype = { + call$0() { + var _this = this; + _this.file.xWrite$2(A.NativeUint8List_NativeUint8List$view(type$.NativeArrayBuffer._as(_this.memory.buffer), _this.source, _this.amount), A._asInt(A._asDouble(init.G.Number(_this.offset)))); + }, + $signature: 0 + }; + A._InjectedValues_closure11.prototype = { + call$2(fd, size) { + var t1; + A._asInt(fd); + type$.JavaScriptBigInt._as(size); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure4(t1, size)); + }, + $signature: 78 + }; + A._InjectedValues__closure4.prototype = { + call$0() { + return this.file.xTruncate$1(A._asInt(A._asDouble(init.G.Number(this.size)))); + }, + $signature: 0 + }; + A._InjectedValues_closure12.prototype = { + call$2(fd, flags) { + var t1; + A._asInt(fd); + A._asInt(flags); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure3(t1, flags)); + }, + $signature: 4 + }; + A._InjectedValues__closure3.prototype = { + call$0() { + return this.file.xSync$1(this.flags); + }, + $signature: 0 + }; + A._InjectedValues_closure13.prototype = { + call$2(fd, sizePtr) { + var t1; + A._asInt(fd); + A._asInt(sizePtr); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure2(t1, this.memory, sizePtr)); + }, + $signature: 4 + }; + A._InjectedValues__closure2.prototype = { + call$0() { + A.WrappedMemory_setInt32Value(this.memory, this.sizePtr, this.file.xFileSize$0()); + }, + $signature: 0 + }; + A._InjectedValues_closure14.prototype = { + call$2(fd, flags) { + var t1; + A._asInt(fd); + A._asInt(flags); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure1(t1, flags)); + }, + $signature: 4 + }; + A._InjectedValues__closure1.prototype = { + call$0() { + return this.file.xLock$1(this.flags); + }, + $signature: 0 + }; + A._InjectedValues_closure15.prototype = { + call$2(fd, flags) { + var t1; + A._asInt(fd); + A._asInt(flags); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure0(t1, flags)); + }, + $signature: 4 + }; + A._InjectedValues__closure0.prototype = { + call$0() { + return this.file.xUnlock$1(this.flags); + }, + $signature: 0 + }; + A._InjectedValues_closure16.prototype = { + call$2(fd, pResOut) { + var t1; + A._asInt(fd); + A._asInt(pResOut); + t1 = this.$this.callbacks.openedFiles.$index(0, fd); + t1.toString; + return A._runVfs(new A._InjectedValues__closure(t1, this.memory, pResOut)); + }, + $signature: 4 + }; + A._InjectedValues__closure.prototype = { + call$0() { + A.WrappedMemory_setInt32Value(this.memory, this.pResOut, this.file.xCheckReservedLock$0()); + }, + $signature: 0 + }; + A._InjectedValues_closure17.prototype = { + call$3(ctx, args, value) { + var t1, t2; + A._asInt(ctx); + A._asInt(args); + A._asInt(value); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t2 = t1.callbacks.functions.$index(0, A._asInt(t2.sqlite3.sqlite3_user_data(ctx))).xFunc; + t1 = t1.___InjectedValues_bindings_A; + t2.call$2(new A.WasmContext(t1, ctx), new A.WasmValueList(t1, args, value)); + }, + $signature: 22 + }; + A._InjectedValues_closure18.prototype = { + call$3(ctx, args, value) { + var t1, t2; + A._asInt(ctx); + A._asInt(args); + A._asInt(value); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t2 = t1.callbacks.functions.$index(0, A._asInt(t2.sqlite3.sqlite3_user_data(ctx))).xStep; + t1 = t1.___InjectedValues_bindings_A; + t2.call$2(new A.WasmContext(t1, ctx), new A.WasmValueList(t1, args, value)); + }, + $signature: 22 + }; + A._InjectedValues_closure19.prototype = { + call$3(ctx, args, value) { + var t1, t2; + A._asInt(ctx); + A._asInt(args); + A._asInt(value); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t1.callbacks.functions.$index(0, A._asInt(t2.sqlite3.sqlite3_user_data(ctx))).toString; + t1 = t1.___InjectedValues_bindings_A; + null.call$2(new A.WasmContext(t1, ctx), new A.WasmValueList(t1, args, value)); + }, + $signature: 22 + }; + A._InjectedValues_closure20.prototype = { + call$1(ctx) { + var t1, t2; + A._asInt(ctx); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t1.callbacks.functions.$index(0, A._asInt(t2.sqlite3.sqlite3_user_data(ctx))).xFinal.call$1(new A.WasmContext(t1.___InjectedValues_bindings_A, ctx)); + }, + $signature: 10 + }; + A._InjectedValues_closure21.prototype = { + call$1(ctx) { + var t1, t2; + A._asInt(ctx); + t1 = this.$this; + t2 = t1.___InjectedValues_bindings_A; + t2 === $ && A.throwLateFieldNI("bindings"); + t1.callbacks.functions.$index(0, A._asInt(t2.sqlite3.sqlite3_user_data(ctx))).toString; + null.call$1(new A.WasmContext(t1.___InjectedValues_bindings_A, ctx)); + }, + $signature: 10 + }; + A._InjectedValues_closure22.prototype = { + call$1(ctx) { + this.$this.callbacks.functions.remove$1(0, A._asInt(ctx)); + }, + $signature: 10 + }; + A._InjectedValues_closure23.prototype = { + call$5(ctx, lengthA, a, lengthB, b) { + var t1, aStr, bStr; + A._asInt(ctx); + A._asInt(lengthA); + A._asInt(a); + A._asInt(lengthB); + A._asInt(b); + t1 = this.memory; + aStr = A.WrappedMemory_readNullableString(t1, a, lengthA); + bStr = A.WrappedMemory_readNullableString(t1, b, lengthB); + this.$this.callbacks.functions.$index(0, ctx).toString; + return null.call$2(aStr, bStr); + }, + $signature: 25 + }; + A._InjectedValues_closure24.prototype = { + call$5(id, kind, _, table, rowId) { + A._asInt(id); + A._asInt(kind); + A._asInt(_); + A._asInt(table); + type$.JavaScriptBigInt._as(rowId); + A.WrappedMemory_readString(this.memory, table, null); + }, + $signature: 80 + }; + A._InjectedValues_closure25.prototype = { + call$1(id) { + A._asInt(id); + return null; + }, + $signature: 26 + }; + A._InjectedValues_closure26.prototype = { + call$1(id) { + A._asInt(id); + }, + $signature: 10 + }; + A._InjectedValues_closure27.prototype = { + call$2(timestamp, resultPtr) { + var dateTime, tmValues, t1, t2; + type$.JavaScriptBigInt._as(timestamp); + A._asInt(resultPtr); + dateTime = new A.DateTime(A.DateTime__validate(A._asInt(A._asDouble(init.G.Number(timestamp))) * 1000, 0, false), 0, false); + tmValues = A.NativeUint32List_NativeUint32List$view(type$.NativeArrayBuffer._as(this.memory.buffer), resultPtr, 8); + tmValues.$flags & 2 && A.throwUnsupportedOperation(tmValues); + t1 = tmValues.length; + if (0 >= t1) + return A.ioore(tmValues, 0); + tmValues[0] = A.Primitives_getSeconds(dateTime); + if (1 >= t1) + return A.ioore(tmValues, 1); + tmValues[1] = A.Primitives_getMinutes(dateTime); + if (2 >= t1) + return A.ioore(tmValues, 2); + tmValues[2] = A.Primitives_getHours(dateTime); + if (3 >= t1) + return A.ioore(tmValues, 3); + tmValues[3] = A.Primitives_getDay(dateTime); + if (4 >= t1) + return A.ioore(tmValues, 4); + tmValues[4] = A.Primitives_getMonth(dateTime) - 1; + if (5 >= t1) + return A.ioore(tmValues, 5); + tmValues[5] = A.Primitives_getYear(dateTime) - 1900; + t2 = B.JSInt_methods.$mod(A.Primitives_getWeekday(dateTime), 7); + if (6 >= t1) + return A.ioore(tmValues, 6); + tmValues[6] = t2; + }, + $signature: 81 + }; + A._InjectedValues_closure28.prototype = { + call$2(context, zTab) { + A._asInt(context); + A._asInt(zTab); + return this.$this.callbacks.sessionApply.$index(0, context).get$filter().call$1(zTab); + }, + $signature: 4 + }; + A._InjectedValues_closure29.prototype = { + call$3(context, eConflict, iter) { + A._asInt(context); + A._asInt(eConflict); + A._asInt(iter); + return this.$this.callbacks.sessionApply.$index(0, context).get$conflict().call$2(eConflict, iter); + }, + $signature: 17 + }; + A.DartCallbacks.prototype = { + register$1(set) { + var t1 = this._id++; + this.functions.$indexSet(0, t1, set); + return t1; + }, + set$installedUpdateHook(installedUpdateHook) { + this.installedUpdateHook = type$.nullable_void_Function_int_String_int._as(installedUpdateHook); + }, + set$installedCommitHook(installedCommitHook) { + this.installedCommitHook = type$.nullable_int_Function._as(installedCommitHook); + }, + set$installedRollbackHook(installedRollbackHook) { + this.installedRollbackHook = type$.nullable_void_Function._as(installedRollbackHook); + } + }; + A.RegisteredFunctionSet.prototype = {}; + A.Chain.prototype = { + toTrace$0() { + var t1 = this.traces, + t2 = A._arrayInstanceType(t1); + return A.Trace$(new A.ExpandIterable(t1, t2._eval$1("Iterable(1)")._as(new A.Chain_toTrace_closure()), t2._eval$1("ExpandIterable<1,Frame>")), null); + }, + toString$0(_) { + var t1 = this.traces, + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("String(1)")._as(new A.Chain_toString_closure(new A.MappedListIterable(t1, t2._eval$1("int(1)")._as(new A.Chain_toString_closure0()), t2._eval$1("MappedListIterable<1,int>")).fold$1$2(0, 0, B.CONSTANT, type$.int))), t2._eval$1("MappedListIterable<1,String>")).join$1(0, string$.x3d_____); + }, + $isStackTrace: 1 + }; + A.Chain_Chain$parse_closure.prototype = { + call$1(line) { + return A._asString(line).length !== 0; + }, + $signature: 3 + }; + A.Chain_toTrace_closure.prototype = { + call$1(trace) { + return type$.Trace._as(trace).get$frames(); + }, + $signature: 82 + }; + A.Chain_toString_closure0.prototype = { + call$1(trace) { + var t1 = type$.Trace._as(trace).get$frames(), + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("int(1)")._as(new A.Chain_toString__closure0()), t2._eval$1("MappedListIterable<1,int>")).fold$1$2(0, 0, B.CONSTANT, type$.int); + }, + $signature: 83 + }; + A.Chain_toString__closure0.prototype = { + call$1(frame) { + return type$.Frame._as(frame).get$location().length; + }, + $signature: 31 + }; + A.Chain_toString_closure.prototype = { + call$1(trace) { + var t1 = type$.Trace._as(trace).get$frames(), + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("String(1)")._as(new A.Chain_toString__closure(this.longest)), t2._eval$1("MappedListIterable<1,String>")).join$0(0); + }, + $signature: 85 + }; + A.Chain_toString__closure.prototype = { + call$1(frame) { + type$.Frame._as(frame); + return B.JSString_methods.padRight$1(frame.get$location(), this.longest) + " " + A.S(frame.get$member()) + "\n"; + }, + $signature: 32 + }; + A.Frame.prototype = { + get$library() { + var t1 = this.uri; + if (t1.get$scheme() === "data") + return "data:..."; + return $.$get$context().prettyUri$1(t1); + }, + get$location() { + var t2, _this = this, + t1 = _this.line; + if (t1 == null) + return _this.get$library(); + t2 = _this.column; + if (t2 == null) + return _this.get$library() + " " + A.S(t1); + return _this.get$library() + " " + A.S(t1) + ":" + A.S(t2); + }, + toString$0(_) { + return this.get$location() + " in " + A.S(this.member); + }, + get$member() { + return this.member; + } + }; + A.Frame_Frame$parseVM_closure.prototype = { + call$0() { + var match, t2, t3, member, uri, lineAndColumn, line, _null = null, + t1 = this.frame; + if (t1 === "...") + return new A.Frame(A._Uri__Uri(_null, _null, _null, _null), _null, _null, "..."); + match = $.$get$_vmFrame().firstMatch$1(t1); + if (match == null) + return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), t1); + t1 = match._match; + if (1 >= t1.length) + return A.ioore(t1, 1); + t2 = t1[1]; + t2.toString; + t3 = $.$get$_asyncBody(); + t2 = A.stringReplaceAllUnchecked(t2, t3, ""); + member = A.stringReplaceAllUnchecked(t2, "", ""); + if (2 >= t1.length) + return A.ioore(t1, 2); + t2 = t1[2]; + t3 = t2; + t3.toString; + if (B.JSString_methods.startsWith$1(t3, "= t1.length) + return A.ioore(t1, 3); + lineAndColumn = t1[3].split(":"); + t1 = lineAndColumn.length; + line = t1 > 1 ? A.int_parse(lineAndColumn[1], _null) : _null; + return new A.Frame(uri, line, t1 > 2 ? A.int_parse(lineAndColumn[2], _null) : _null, member); + }, + $signature: 11 + }; + A.Frame_Frame$parseV8_closure.prototype = { + call$0() { + var member, uri, t2, functionOffset, t3, t4, _s4_ = "", + t1 = this.frame, + match = $.$get$_v8WasmFrame().firstMatch$1(t1); + if (match != null) { + member = match.namedGroup$1("member"); + t1 = match.namedGroup$1("uri"); + t1.toString; + uri = A.Frame__uriOrPathToUri(t1); + t1 = match.namedGroup$1("index"); + t1.toString; + t2 = match.namedGroup$1("offset"); + t2.toString; + functionOffset = A.int_parse(t2, 16); + if (!(member == null)) + t1 = member; + return new A.Frame(uri, 1, functionOffset + 1, t1); + } + match = $.$get$_v8JsFrame().firstMatch$1(t1); + if (match != null) { + t1 = new A.Frame_Frame$parseV8_closure_parseJsLocation(t1); + t2 = match._match; + t3 = t2.length; + if (2 >= t3) + return A.ioore(t2, 2); + t4 = t2[2]; + if (t4 != null) { + t3 = t4; + t3.toString; + t2 = t2[1]; + t2.toString; + t2 = A.stringReplaceAllUnchecked(t2, "", _s4_); + t2 = A.stringReplaceAllUnchecked(t2, "Anonymous function", _s4_); + return t1.call$2(t3, A.stringReplaceAllUnchecked(t2, "(anonymous function)", _s4_)); + } else { + if (3 >= t3) + return A.ioore(t2, 3); + t2 = t2[3]; + t2.toString; + return t1.call$2(t2, _s4_); + } + } + return new A.UnparsedFrame(A._Uri__Uri(null, "unparsed", null, null), t1); + }, + $signature: 11 + }; + A.Frame_Frame$parseV8_closure_parseJsLocation.prototype = { + call$2($location, member) { + var t2, urlMatch, uri, line, columnMatch, _null = null, + t1 = $.$get$_v8EvalLocation(), + evalMatch = t1.firstMatch$1($location); + for (; evalMatch != null; $location = t2) { + t2 = evalMatch._match; + if (1 >= t2.length) + return A.ioore(t2, 1); + t2 = t2[1]; + t2.toString; + evalMatch = t1.firstMatch$1(t2); + } + if ($location === "native") + return new A.Frame(A.Uri_parse("native"), _null, _null, member); + urlMatch = $.$get$_v8JsUrlLocation().firstMatch$1($location); + if (urlMatch == null) + return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), this.frame); + t1 = urlMatch._match; + if (1 >= t1.length) + return A.ioore(t1, 1); + t2 = t1[1]; + t2.toString; + uri = A.Frame__uriOrPathToUri(t2); + if (2 >= t1.length) + return A.ioore(t1, 2); + t2 = t1[2]; + t2.toString; + line = A.int_parse(t2, _null); + if (3 >= t1.length) + return A.ioore(t1, 3); + columnMatch = t1[3]; + return new A.Frame(uri, line, columnMatch != null ? A.int_parse(columnMatch, _null) : _null, member); + }, + $signature: 88 + }; + A.Frame_Frame$_parseFirefoxEval_closure.prototype = { + call$0() { + var t2, member, uri, line, _null = null, + t1 = this.frame, + match = $.$get$_firefoxEvalLocation().firstMatch$1(t1); + if (match == null) + return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), t1); + t1 = match._match; + if (1 >= t1.length) + return A.ioore(t1, 1); + t2 = t1[1]; + t2.toString; + member = A.stringReplaceAllUnchecked(t2, "/<", ""); + if (2 >= t1.length) + return A.ioore(t1, 2); + t2 = t1[2]; + t2.toString; + uri = A.Frame__uriOrPathToUri(t2); + if (3 >= t1.length) + return A.ioore(t1, 3); + t1 = t1[3]; + t1.toString; + line = A.int_parse(t1, _null); + return new A.Frame(uri, line, _null, member.length === 0 || member === "anonymous" ? "" : member); + }, + $signature: 11 + }; + A.Frame_Frame$parseFirefox_closure.prototype = { + call$0() { + var t2, t3, t4, uri, member, line, column, functionOffset, _null = null, + t1 = this.frame, + match = $.$get$_firefoxSafariJSFrame().firstMatch$1(t1); + if (match != null) { + t2 = match._match; + if (3 >= t2.length) + return A.ioore(t2, 3); + t3 = t2[3]; + t4 = t3; + t4.toString; + if (B.JSString_methods.contains$1(t4, " line ")) + return A.Frame_Frame$_parseFirefoxEval(t1); + t1 = t3; + t1.toString; + uri = A.Frame__uriOrPathToUri(t1); + t1 = t2.length; + if (1 >= t1) + return A.ioore(t2, 1); + member = t2[1]; + if (member != null) { + if (2 >= t1) + return A.ioore(t2, 2); + t1 = t2[2]; + t1.toString; + member += B.JSArray_methods.join$0(A.List_List$filled(B.JSString_methods.allMatches$1("/", t1).get$length(0), ".", false, type$.String)); + if (member === "") + member = ""; + member = B.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), ""); + } else + member = ""; + if (4 >= t2.length) + return A.ioore(t2, 4); + t1 = t2[4]; + if (t1 === "") + line = _null; + else { + t1 = t1; + t1.toString; + line = A.int_parse(t1, _null); + } + if (5 >= t2.length) + return A.ioore(t2, 5); + t1 = t2[5]; + if (t1 == null || t1 === "") + column = _null; + else { + t1 = t1; + t1.toString; + column = A.int_parse(t1, _null); + } + return new A.Frame(uri, line, column, member); + } + match = $.$get$_firefoxWasmFrame().firstMatch$1(t1); + if (match != null) { + t1 = match.namedGroup$1("member"); + t1.toString; + t2 = match.namedGroup$1("uri"); + t2.toString; + uri = A.Frame__uriOrPathToUri(t2); + t2 = match.namedGroup$1("index"); + t2.toString; + t3 = match.namedGroup$1("offset"); + t3.toString; + functionOffset = A.int_parse(t3, 16); + if (!(t1.length !== 0)) + t1 = t2; + return new A.Frame(uri, 1, functionOffset + 1, t1); + } + match = $.$get$_safariWasmFrame().firstMatch$1(t1); + if (match != null) { + t1 = match.namedGroup$1("member"); + t1.toString; + return new A.Frame(A._Uri__Uri(_null, "wasm code", _null, _null), _null, _null, t1); + } + return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), t1); + }, + $signature: 11 + }; + A.Frame_Frame$parseFriendly_closure.prototype = { + call$0() { + var t2, uri, line, column, _null = null, + t1 = this.frame, + match = $.$get$_friendlyFrame().firstMatch$1(t1); + if (match == null) + throw A.wrapException(A.FormatException$("Couldn't parse package:stack_trace stack trace line '" + t1 + "'.", _null, _null)); + t1 = match._match; + if (1 >= t1.length) + return A.ioore(t1, 1); + t2 = t1[1]; + if (t2 === "data:...") + uri = A.Uri_Uri$dataFromString(""); + else { + t2 = t2; + t2.toString; + uri = A.Uri_parse(t2); + } + if (uri.get$scheme() === "") { + t2 = $.$get$context(); + uri = t2.toUri$1(t2.absolute$15(t2.style.pathFromUri$1(A._parseUri(uri)), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)); + } + if (2 >= t1.length) + return A.ioore(t1, 2); + t2 = t1[2]; + if (t2 == null) + line = _null; + else { + t2 = t2; + t2.toString; + line = A.int_parse(t2, _null); + } + if (3 >= t1.length) + return A.ioore(t1, 3); + t2 = t1[3]; + if (t2 == null) + column = _null; + else { + t2 = t2; + t2.toString; + column = A.int_parse(t2, _null); + } + if (4 >= t1.length) + return A.ioore(t1, 4); + return new A.Frame(uri, line, column, t1[4]); + }, + $signature: 11 + }; + A.LazyTrace.prototype = { + get$_lazy_trace$_trace() { + var result, _this = this, + value = _this.__LazyTrace__trace_FI; + if (value === $) { + result = _this._thunk.call$0(); + _this.__LazyTrace__trace_FI !== $ && A.throwLateFieldADI("_trace"); + _this.__LazyTrace__trace_FI = result; + value = result; + } + return value; + }, + get$frames() { + return this.get$_lazy_trace$_trace().get$frames(); + }, + toString$0(_) { + return this.get$_lazy_trace$_trace().toString$0(0); + }, + $isStackTrace: 1, + $isTrace: 1 + }; + A.Trace.prototype = { + toString$0(_) { + var t1 = this.frames, + t2 = A._arrayInstanceType(t1); + return new A.MappedListIterable(t1, t2._eval$1("String(1)")._as(new A.Trace_toString_closure(new A.MappedListIterable(t1, t2._eval$1("int(1)")._as(new A.Trace_toString_closure0()), t2._eval$1("MappedListIterable<1,int>")).fold$1$2(0, 0, B.CONSTANT, type$.int))), t2._eval$1("MappedListIterable<1,String>")).join$0(0); + }, + $isStackTrace: 1, + get$frames() { + return this.frames; + } + }; + A.Trace_Trace$from_closure.prototype = { + call$0() { + return A.Trace_Trace$parse(this.trace.toString$0(0)); + }, + $signature: 89 + }; + A.Trace__parseVM_closure.prototype = { + call$1(line) { + return A._asString(line).length !== 0; + }, + $signature: 3 + }; + A.Trace$parseV8_closure.prototype = { + call$1(line) { + return !B.JSString_methods.startsWith$1(A._asString(line), $.$get$_v8TraceLine()); + }, + $signature: 3 + }; + A.Trace$parseJSCore_closure.prototype = { + call$1(line) { + return A._asString(line) !== "\tat "; + }, + $signature: 3 + }; + A.Trace$parseFirefox_closure.prototype = { + call$1(line) { + A._asString(line); + return line.length !== 0 && line !== "[native code]"; + }, + $signature: 3 + }; + A.Trace$parseFriendly_closure.prototype = { + call$1(line) { + return !B.JSString_methods.startsWith$1(A._asString(line), "====="); + }, + $signature: 3 + }; + A.Trace_toString_closure0.prototype = { + call$1(frame) { + return type$.Frame._as(frame).get$location().length; + }, + $signature: 31 + }; + A.Trace_toString_closure.prototype = { + call$1(frame) { + type$.Frame._as(frame); + if (frame instanceof A.UnparsedFrame) + return frame.toString$0(0) + "\n"; + return B.JSString_methods.padRight$1(frame.get$location(), this.longest) + " " + A.S(frame.get$member()) + "\n"; + }, + $signature: 32 + }; + A.UnparsedFrame.prototype = { + toString$0(_) { + return this.member; + }, + $isFrame: 1, + get$location() { + return "unparsed"; + }, + get$member() { + return this.member; + } + }; + A.CloseGuaranteeChannel.prototype = { + set$_close_guarantee_channel$_subscription(_subscription) { + this._close_guarantee_channel$_subscription = this.$ti._eval$1("StreamSubscription<1>?")._as(_subscription); + } + }; + A._CloseGuaranteeStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1, subscription; + this.$ti._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + t1 = this._channel; + if (t1._disconnected) { + onData = null; + onError = null; + } + subscription = this._inner.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError); + if (!t1._disconnected) + t1.set$_close_guarantee_channel$_subscription(subscription); + return subscription; + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + }, + listen$2$onDone(onData, onDone) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, null); + } + }; + A._CloseGuaranteeSink.prototype = { + close$0() { + var subscription, + done = this.super$DelegatingStreamSink$close(), + t1 = this._channel; + t1._disconnected = true; + subscription = t1._close_guarantee_channel$_subscription; + if (subscription != null) { + subscription.onData$1(null); + subscription.onError$1(null); + } + return done; + } + }; + A.GuaranteeChannel.prototype = { + get$stream() { + var t1 = this.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")); + }, + get$sink() { + var t1 = this.__GuaranteeChannel__sink_F; + t1 === $ && A.throwLateFieldNI("_sink"); + return t1; + }, + GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) { + var _this = this, + t1 = _this.$ti, + t2 = t1._eval$1("_GuaranteeSink<1>")._as(new A._GuaranteeSink(innerSink, _this, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), true, $T._eval$1("_GuaranteeSink<0>"))); + _this.__GuaranteeChannel__sink_F !== $ && A.throwLateFieldAI("_sink"); + _this.__GuaranteeChannel__sink_F = t2; + t1 = t1._eval$1("StreamController<1>")._as(A.StreamController_StreamController(null, new A.GuaranteeChannel_closure(_box_0, _this, $T), true, $T)); + _this.__GuaranteeChannel__streamController_F !== $ && A.throwLateFieldAI("_streamController"); + _this.__GuaranteeChannel__streamController_F = t1; + }, + _onSinkDisconnected$0() { + var subscription, t1; + this._guarantee_channel$_disconnected = true; + subscription = this._guarantee_channel$_subscription; + if (subscription != null) + subscription.cancel$0(); + t1 = this.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + t1.close$0(); + } + }; + A.GuaranteeChannel_closure.prototype = { + call$0() { + var t2, t3, + t1 = this.$this; + if (t1._guarantee_channel$_disconnected) + return; + t2 = this._box_0.innerStream; + t3 = t1.__GuaranteeChannel__streamController_F; + t3 === $ && A.throwLateFieldNI("_streamController"); + t1._guarantee_channel$_subscription = t2.listen$3$onDone$onError(this.T._eval$1("~(0)")._as(t3.get$add(t3)), new A.GuaranteeChannel__closure(t1), t3.get$addError()); + }, + $signature: 0 + }; + A.GuaranteeChannel__closure.prototype = { + call$0() { + var t1 = this.$this, + t2 = t1.__GuaranteeChannel__sink_F; + t2 === $ && A.throwLateFieldNI("_sink"); + t2._onStreamDisconnected$0(); + t1 = t1.__GuaranteeChannel__streamController_F; + t1 === $ && A.throwLateFieldNI("_streamController"); + t1.close$0(); + }, + $signature: 0 + }; + A._GuaranteeSink.prototype = { + add$1(_, data) { + var t1, _this = this; + _this.$ti._precomputed1._as(data); + if (_this._closed) + throw A.wrapException(A.StateError$("Cannot add event after closing.")); + if (_this._guarantee_channel$_disconnected) + return; + t1 = _this._guarantee_channel$_inner; + t1._async$_target.add$1(0, t1.$ti._precomputed1._as(data)); + }, + addError$2(error, stackTrace) { + if (this._closed) + throw A.wrapException(A.StateError$("Cannot add event after closing.")); + if (this._guarantee_channel$_disconnected) + return; + this._guarantee_channel$_addError$2(error, stackTrace); + }, + _guarantee_channel$_addError$2(error, stackTrace) { + this._guarantee_channel$_inner._async$_target.addError$2(error, stackTrace); + return; + }, + close$0() { + var _this = this; + if (_this._closed) + return _this._doneCompleter.future; + _this._closed = true; + if (!_this._guarantee_channel$_disconnected) { + _this._guarantee_channel$_channel._onSinkDisconnected$0(); + _this._doneCompleter.complete$1(_this._guarantee_channel$_inner._async$_target.close$0()); + } + return _this._doneCompleter.future; + }, + _onStreamDisconnected$0() { + this._guarantee_channel$_disconnected = true; + var t1 = this._doneCompleter; + if ((t1.future._state & 30) === 0) + t1.complete$0(); + return; + }, + $isEventSink: 1, + $isStreamSink: 1 + }; + A.StreamChannelController.prototype = {}; + A.StreamChannelMixin.prototype = {$isStreamChannel: 1}; + A.TypedDataBuffer.prototype = { + get$length(_) { + return this._typed_buffer$_length; + }, + $index(_, index) { + var t1; + if (index >= this._typed_buffer$_length) + throw A.wrapException(A.IndexError$(index, this)); + t1 = this._typed_buffer$_buffer; + if (!(index >= 0 && index < t1.length)) + return A.ioore(t1, index); + return t1[index]; + }, + $indexSet(_, index, value) { + var _this = this; + A._instanceType(_this)._eval$1("TypedDataBuffer.E")._as(value); + if (index >= _this._typed_buffer$_length) + throw A.wrapException(A.IndexError$(index, _this)); + B.NativeUint8List_methods.$indexSet(_this._typed_buffer$_buffer, index, value); + }, + set$length(_, newLength) { + var t2, t3, i, newBuffer, _this = this, + t1 = _this._typed_buffer$_length; + if (newLength < t1) + for (t2 = _this._typed_buffer$_buffer, t3 = t2.$flags | 0, i = newLength; i < t1; ++i) { + t3 & 2 && A.throwUnsupportedOperation(t2); + if (!(i >= 0 && i < t2.length)) + return A.ioore(t2, i); + t2[i] = 0; + } + else { + t1 = _this._typed_buffer$_buffer.length; + if (newLength > t1) { + if (t1 === 0) + newBuffer = new Uint8Array(newLength); + else + newBuffer = _this._createBiggerBuffer$1(newLength); + B.NativeUint8List_methods.setRange$3(newBuffer, 0, _this._typed_buffer$_length, _this._typed_buffer$_buffer); + _this._typed_buffer$_buffer = newBuffer; + } + } + _this._typed_buffer$_length = newLength; + }, + _createBiggerBuffer$1(requiredCapacity) { + var newLength = this._typed_buffer$_buffer.length * 2; + if (requiredCapacity != null && newLength < requiredCapacity) + newLength = requiredCapacity; + else if (newLength < 8) + newLength = 8; + return new Uint8Array(newLength); + }, + setRange$4(_, start, end, iterable, skipCount) { + var t1; + A._instanceType(this)._eval$1("Iterable")._as(iterable); + t1 = this._typed_buffer$_length; + if (end > t1) + throw A.wrapException(A.RangeError$range(end, 0, t1, null, null)); + t1 = this._typed_buffer$_buffer; + if (iterable instanceof A.Uint8Buffer) + B.NativeUint8List_methods.setRange$4(t1, start, end, iterable._typed_buffer$_buffer, skipCount); + else + B.NativeUint8List_methods.setRange$4(t1, start, end, iterable, skipCount); + }, + setRange$3(_, start, end, iterable) { + return this.setRange$4(0, start, end, iterable, 0); + } + }; + A._IntBuffer.prototype = {}; + A.Uint8Buffer.prototype = {}; + A.EventStreamProvider.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(); + if (handleData == null) + t1 = null; + else { + t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.JSObject); + t1 = t1 == null ? null : A._functionToJS1(t1); + } + _this._onData = t1; + _this._tryResume$0(); + }, + onError$1(handleError) { + }, + 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(A._asJSObject(e)); + }, + $signature: 1 + }; + A._EventStreamSubscription_onData_closure.prototype = { + call$1(e) { + return this.handleData.call$1(A._asJSObject(e)); + }, + $signature: 1 + }; + (function aliases() { + var _ = J.LegacyJavaScriptObject.prototype; + _.super$LegacyJavaScriptObject$toString = _.toString$0; + _ = A._BroadcastStreamController.prototype; + _.super$_BroadcastStreamController$_addEventError = _._addEventError$0; + _ = A._BufferingStreamSubscription.prototype; + _.super$_BufferingStreamSubscription$_add = _._async$_add$1; + _.super$_BufferingStreamSubscription$_addError = _._addError$2; + _.super$_BufferingStreamSubscription$_close = _._close$0; + _ = A._StreamSinkTransformer.prototype; + _.super$_StreamSinkTransformer$bind = _.bind$1; + _ = A.ListBase.prototype; + _.super$ListBase$setRange = _.setRange$4; + _ = A.Iterable.prototype; + _.super$Iterable$skipWhile = _.skipWhile$1; + _ = A.DelegatingStreamSink.prototype; + _.super$DelegatingStreamSink$close = _.close$0; + _ = A.Sqlite3Delegate.prototype; + _.super$Sqlite3Delegate$close = _.close$0; + })(); + (function installTearOffs() { + var _static_2 = hunkHelpers._static_2, + _static_1 = hunkHelpers._static_1, + _static_0 = hunkHelpers._static_0, + _static = hunkHelpers.installStaticTearOff, + _instance_0_u = hunkHelpers._instance_0u, + _instance = hunkHelpers.installInstanceTearOff, + _instance_2_u = hunkHelpers._instance_2u, + _instance_1_i = hunkHelpers._instance_1i, + _instance_1_u = hunkHelpers._instance_1u; + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 90); + _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 21); + _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 21); + _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 21); + _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); + _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 16); + _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 7); + _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); + _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 92, 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); + }], 93, 0); + _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { + var t1 = type$.dynamic; + return A._rootRunUnary($self, $parent, zone, f, arg, t1, t1); + }], 94, 0); + _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6"], ["_rootRunBinary"], 95, 0); + _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); + }], 96, 0); + _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { + var t1 = type$.dynamic; + return A._rootRegisterUnaryCallback($self, $parent, zone, f, t1, t1); + }], 97, 0); + _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { + var t1 = type$.dynamic; + return A._rootRegisterBinaryCallback($self, $parent, zone, f, t1, t1, t1); + }], 98, 0); + _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 99, 0); + _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 100, 0); + _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 101, 0); + _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 102, 0); + _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 103, 0); + _static_1(A, "async___printToZone$closure", "_printToZone", 104); + _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 105, 0); + var _; + _instance_0_u(_ = A._BroadcastSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 30, 0, 0); + _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 7); + _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 9); + _instance(_, "get$addError", 0, 1, null, ["call$2", "call$1"], ["addError$2", "addError$1"], 30, 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._DoneStreamSubscription.prototype, "get$_onMicrotask", "_onMicrotask$0", 0); + _instance_1_u(_ = A._StreamIterator.prototype, "get$_async$_onData", "_async$_onData$1", 9); + _instance_2_u(_, "get$_onError", "_onError$2", 7); + _instance_0_u(_, "get$_onDone", "_onDone$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", 9); + _instance_2_u(_, "get$_handleError", "_handleError$2", 41); + _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); + _instance_0_u(_ = A._SinkTransformerStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); + _instance_0_u(_, "get$_onResume", "_onResume$0", 0); + _instance_1_u(_, "get$_handleData", "_handleData$1", 9); + _instance_2_u(_, "get$_handleError", "_handleError$2", 7); + _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); + _instance_1_u(A._StreamHandlerTransformer.prototype, "get$bind", "bind$1", "Stream<2>(Object?)"); + _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 8); + _static(A, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) { + return A.max(a, b, type$.num); + }], 106, 0); + _static_1(A, "math__sqrt$closure", "sqrt", 5); + _static_1(A, "math__sin$closure", "sin", 5); + _static_1(A, "math__cos$closure", "cos", 5); + _static_1(A, "math__tan$closure", "tan", 5); + _static_1(A, "math__acos$closure", "acos", 5); + _static_1(A, "math__asin$closure", "asin", 5); + _static_1(A, "math__atan$closure", "atan", 5); + _instance_1_u(A.DriftCommunication.prototype, "get$_handleMessage", "_handleMessage$1", 9); + _instance_1_u(A.DriftProtocol.prototype, "get$_decodeDbValue", "_decodeDbValue$1", 15); + _instance_1_u(A.WebProtocol.prototype, "get$_web_protocol$_decodeDbValue", "_web_protocol$_decodeDbValue$1", 15); + _static_1(A, "delegates___defaultSavepoint$closure", "_defaultSavepoint", 18); + _static_1(A, "delegates___defaultRelease$closure", "_defaultRelease", 18); + _static_1(A, "delegates___defaultRollbackToSavepoint$closure", "_defaultRollbackToSavepoint", 18); + _static_1(A, "native_functions___pow$closure", "_pow", 36); + _static_1(A, "native_functions___regexpImpl$closure", "_regexpImpl", 109); + _static_1(A, "native_functions___containsImpl$closure", "_containsImpl", 110); + _instance_0_u(A.WasmVfs.prototype, "get$close", "close$0", 0); + _static_1(A, "sync_channel_MessageSerializer_readEmpty$closure", "MessageSerializer_readEmpty", 111); + _static_1(A, "sync_channel_MessageSerializer_readFlags$closure", "MessageSerializer_readFlags", 112); + _static_1(A, "sync_channel_MessageSerializer_readNameAndFlags$closure", "MessageSerializer_readNameAndFlags", 113); + _instance_1_u(A.VfsWorker.prototype, "get$_releaseImplicitLock", "_releaseImplicitLock$1", 66); + _instance_0_u(A.AsynchronousIndexedDbFileSystem.prototype, "get$close", "close$0", 0); + _instance_0_u(A.IndexedDbFileSystem.prototype, "get$close", "close$0", 2); + _instance_0_u(A._FunctionWorkItem.prototype, "get$run", "run$0", 0); + _instance_0_u(A._DeleteFileWorkItem.prototype, "get$run", "run$0", 2); + _instance_0_u(A._CreateFileWorkItem.prototype, "get$run", "run$0", 2); + _instance_0_u(A._WriteFileWorkItem.prototype, "get$run", "run$0", 2); + _instance_0_u(A.SimpleOpfsFileSystem.prototype, "get$close", "close$0", 0); + _static_1(A, "frame_Frame___parseVM_tearOff$closure", "Frame___parseVM_tearOff", 14); + _static_1(A, "frame_Frame___parseV8_tearOff$closure", "Frame___parseV8_tearOff", 14); + _static_1(A, "frame_Frame___parseFirefox_tearOff$closure", "Frame___parseFirefox_tearOff", 14); + _static_1(A, "frame_Frame___parseFriendly_tearOff$closure", "Frame___parseFriendly_tearOff", 14); + _static_1(A, "trace_Trace___parseVM_tearOff$closure", "Trace___parseVM_tearOff", 28); + _static_1(A, "trace_Trace___parseFriendly_tearOff$closure", "Trace___parseFriendly_tearOff", 28); + })(); + (function inheritance() { + var _mixin = hunkHelpers.mixin, + _inherit = hunkHelpers.inherit, + _inheritMany = hunkHelpers.inheritMany; + _inherit(A.Object, null); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, A.SafeToStringHook, J.ArrayIterator, A.Iterable, A.CastIterator, A.Error, A.ListBase, A.Closure, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.SkipWhileIterator, A.EmptyIterator, A.WhereTypeIterator, A.IndexedIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.Symbol, A._Record, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A.MapBase, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.LinkedHashMapValueIterator, A.LinkedHashMapEntryIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A._UnmodifiableNativeByteBufferView, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A._SyncStarIterator, A.AsyncError, A.Stream, A._BufferingStreamSubscription, A._BroadcastStreamController, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.StreamTransformerBase, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._StreamIterator, A._EventSinkWrapper, A._HandlerEventSink, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._LinkedListIterator, A.LinkedListEntry, A._MapBaseValueIterator, A.Codec, A.Converter, A._Utf8Encoder, A._Utf8Decoder, A._BigIntImpl, A._FinalizationRegistryWrapper, A.DateTime, A.Duration, A._Enum, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.MapEntry, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.NullRejectionException, A._JSSecureRandom, A.DelegatingStreamSink, A.DefaultEquality, A.ListEquality, A.NonGrowableListMixin, A.UnmodifiableMapMixin, A.DriftCommunication, A._PendingRequest, A.ConnectionClosedException, A.DriftRemoteException, A.DriftProtocol, A.Message, A.PrimitiveResponsePayload, A.ExecuteQuery, A.RequestCancellation, A.ExecuteBatchedStatement, A.RunNestedExecutorControl, A.EnsureOpen, A.ServerInfo, A.RunBeforeOpen, A.NotifyTablesUpdated, A.SelectResult, A.ServerImplementation, A._ServerDbUser, A.WebProtocol, A.TableUpdate, A.CancellationToken, A.CancellationException, A.QueryExecutor, A.BatchedStatements, A.ArgumentsForBatchedStatement, A.QueryDelegate, A.TransactionDelegate, A.DbVersionDelegate, A.QueryResult, A.QueryInterceptor, A.OpeningDetails, A.PreparedStatementsCache, A.Lock, A.DedicatedDriftWorker, A.WasmInitializationMessage, A.DriftServerController, A.RunningWasmServer, A.WasmCompatibility, A.SharedDriftWorker, A.Context, A._PathDirection, A._PathRelation, A.Style, A.ParsedPath, A.PathException, A.SqliteException, A.AllowedArgumentCount, A.RawSqliteBindings, A.SqliteResult, A.RawSqliteDatabase, A.RawStatementCompiler, A.RawSqliteStatement, A.RawSqliteContext, A.RawSqliteValue, A.FinalizablePart, A.DatabaseImplementation, A.Sqlite3Implementation, A.CommonPreparedStatement, A.VirtualFileSystem, A.BaseVfsFile, A.Cursor, A._Row_Object_UnmodifiableMapMixin, A._ResultIterator, A.IndexedParameters, A.VfsException, A.Sqlite3Filename, A._CursorReader, A.RequestResponseSynchronizer, A.MessageSerializer, A.Message0, A._ResolvedPath, A.VfsWorker, A._OpenedFileHandle, A.AsynchronousIndexedDbFileSystem, A._FileWriteRequest, A._OffsetAndBuffer, A._IndexedDbFile, A.WasmBindings, A._InjectedValues, A.DartCallbacks, A.RegisteredFunctionSet, A.Chain, A.Frame, A.LazyTrace, A.Trace, A.UnparsedFrame, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.EventStreamProvider, A._EventStreamSubscription]); + _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]); + _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]); + _inherit(J.JSArraySafeToStringHook, A.SafeToStringHook); + _inherit(J.JSUnmodifiableArray, J.JSArray); + _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]); + _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.ExpandIterable, A.TakeIterable, A.SkipIterable, A.SkipWhileIterable, A.WhereTypeIterable, A.IndexedIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable, A._SyncStarIterable, A.LinkedList]); + _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]); + _inherit(A._EfficientLengthCastIterable, A.CastIterable); + _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin); + _inherit(A.CastList, A._CastListBase); + _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A.RuntimeError, A.AssertionError, A._Error, A.ArgumentError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError]); + _inheritMany(A.ListBase, [A.UnmodifiableListBase, A.ValueList, A.WasmValueList, A.TypedDataBuffer]); + _inherit(A.CodeUnits, A.UnmodifiableListBase); + _inheritMany(A.Closure, [A.Closure0Args, A.Instantiation, A.Closure2Args, A.TearOffClosure, A.assertInteropArgs_closure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._SyncBroadcastStreamController__sendData_closure, A._SyncBroadcastStreamController__sendError_closure, A._SyncBroadcastStreamController__sendDone_closure, A.Future_wait_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_length_closure, A.Stream_first_closure0, A.Stream_firstWhere_closure0, A.Stream_firstWhere__closure0, A._StreamHandlerTransformer_closure, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A._HashMap_values_closure, A.MapBase_entries_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.DriftCommunication_setRequestHandler_closure, A.DriftProtocol_decodePayload_readInt, A.DriftProtocol_decodePayload_readNullableInt, A.ServerImplementation_closure, A.ServerImplementation_serve_closure, A.ServerImplementation_serve_closure0, A.ServerImplementation__waitForTurn_closure, A.WebProtocol__serializeRequest_closure, A.WebProtocol__deserializeRequest_readBatched_closure, A.WebProtocol__deserializeRequest_readBatched_closure0, A.WebProtocol__deserializeRequest_closure, A.WebProtocol__serializeSelectResult_closure, A.WebProtocol__deserializeResponse_closure, A.QueryResult_asMap_closure, A.EnableNativeFunctions_useNativeFunctions_closure, A._unaryNumFunction_closure, A.LazyDatabase__awaitOpened_closure, A.LazyDatabase_ensureOpen_closure, A.Lock_synchronized_closure, A.WebPortToChannel_channel_closure, A.WebPortToChannel_channel_closure0, A.DedicatedDriftWorker_start_closure, A.SharedWorkerCompatibilityResult_SharedWorkerCompatibilityResult$fromJsPayload_asBoolean, A.checkIndexedDbExists_closure, A.opfsDatabases_closure, A.DriftServerController_serve___closure, A.RunningWasmServer_serve_closure, A.CompleteIdbRequest_complete_closure1, A.CompleteIdbRequest_complete_closure2, A.CompleteIdbRequest_complete_closure3, A.SharedDriftWorker_start_closure, A.SharedDriftWorker__newConnection_closure, A.SharedDriftWorker__startFeatureDetection_result, A.SharedDriftWorker__startFeatureDetection_closure, A.SharedDriftWorker__startFeatureDetection_closure0, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.WindowsStyle_absolutePathToUri_closure, A.SqliteException_toString_closure, A.disposeFinalizer_closure, A.AsyncJavaScriptIteratable_listen_fetchNext_closure, A._CursorReader_moveNext_closure, A._CursorReader_moveNext_closure0, A.CompleteIdbRequest_complete_closure, A.CompleteIdbRequest_complete_closure0, A.CompleteOpenIdbRequest_completeOrBlocked_closure, A.CompleteOpenIdbRequest_completeOrBlocked_closure0, A.CompleteOpenIdbRequest_completeOrBlocked_closure1, A.AsynchronousIndexedDbFileSystem_open_closure, A.AsynchronousIndexedDbFileSystem__readFile_closure, A.AsynchronousIndexedDbFileSystem__write_closure, A.SimpleOpfsFileSystem_inDirectory_open, A._InjectedValues_closure, A._InjectedValues_closure0, A._InjectedValues_closure1, A._InjectedValues_closure2, A._InjectedValues_closure3, A._InjectedValues_closure4, A._InjectedValues_closure7, A._InjectedValues_closure8, A._InjectedValues_closure9, A._InjectedValues_closure10, A._InjectedValues_closure17, A._InjectedValues_closure18, A._InjectedValues_closure19, A._InjectedValues_closure20, A._InjectedValues_closure21, A._InjectedValues_closure22, A._InjectedValues_closure23, A._InjectedValues_closure24, A._InjectedValues_closure25, A._InjectedValues_closure26, A._InjectedValues_closure29, A.Chain_Chain$parse_closure, A.Chain_toTrace_closure, A.Chain_toString_closure0, A.Chain_toString__closure0, A.Chain_toString_closure, A.Chain_toString__closure, A.Trace__parseVM_closure, A.Trace$parseV8_closure, A.Trace$parseJSCore_closure, A.Trace$parseFirefox_closure, A.Trace$parseFriendly_closure, A.Trace_toString_closure0, A.Trace_toString_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_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_closure, A.Future_Future$delayed_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainCoreFuture_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteErrorObject_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A.Stream_first_closure, A.Stream_firstWhere_closure, A.Stream_firstWhere__closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndError_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A._Utf8Decoder__decoder_closure, A._Utf8Decoder__decoderNonfatal_closure, A.DriftCommunication_closure, A.ServerImplementation__handleRequest_closure, A.ServerImplementation__handleRequest_closure0, A.ServerImplementation__waitForTurn_idIsActive, A.WebProtocol_deserialize_decodeRequest, A.WebProtocol_deserialize_decodeSuccess, A.WebProtocol__deserializeRequest_readBatched, A.runCancellable_closure, A._BaseExecutor__synchronized_closure, A._BaseExecutor_runSelect_closure, A._BaseExecutor_runDelete_closure, A._BaseExecutor_runInsert_closure, A._BaseExecutor_runCustom_closure, A._BaseExecutor_runBatched_closure, A._StatementBasedTransactionExecutor_ensureOpen_closure, A._StatementBasedTransactionExecutor_ensureOpen_closure0, A.DelegatedDatabase_ensureOpen_closure, A.DelegatedDatabase_close_closure, A._ExclusiveExecutor_ensureOpen_closure, A.Lock_synchronized_callBlockAndComplete, A.Lock_synchronized_callBlockAndComplete_closure, A.WebPortToChannel_channel_closure1, A.DedicatedDriftWorker__handleMessage_closure, A.DriftServerController_serve_closure, A.DriftServerController_serve__closure, A.DriftServerController_serve__closure0, A.DriftServerController_serve__closure1, A.DatabaseImplementation__prepareInternal_freeIntermediateResults, A.AsyncJavaScriptIteratable_listen_fetchNext, A.AsyncJavaScriptIteratable_listen_fetchNextIfNecessary, A.AsynchronousIndexedDbFileSystem_readFully_closure, A._FileWriteRequest__updateBlock_closure, A.IndexedDbFileSystem__startWorkingIfNeeded_closure, A._IndexedDbFile_xTruncate_closure, A._InjectedValues__closure13, A._InjectedValues__closure12, A._InjectedValues__closure11, A._InjectedValues__closure10, A._InjectedValues__closure9, A._InjectedValues__closure8, A._InjectedValues__closure7, A._InjectedValues__closure6, A._InjectedValues__closure5, A._InjectedValues__closure4, A._InjectedValues__closure3, A._InjectedValues__closure2, A._InjectedValues__closure1, A._InjectedValues__closure0, A._InjectedValues__closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$_parseFirefoxEval_closure, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, A.Trace_Trace$from_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure]); + _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeysIterable, A.LinkedHashMapValuesIterable, A.LinkedHashMapEntriesIterable, A._HashMapKeyIterable, A._MapBaseValueIterable]); + _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable]); + _inherit(A.EfficientLengthMappedIterable, A.MappedIterable); + _inherit(A.EfficientLengthTakeIterable, A.TakeIterable); + _inherit(A.EfficientLengthSkipIterable, A.SkipIterable); + _inherit(A.EfficientLengthIndexedIterable, A.IndexedIterable); + _inherit(A._Record2, A._Record); + _inheritMany(A._Record2, [A._Record_2, A._Record_2_file_outFlags]); + _inherit(A.ConstantStringMap, A.ConstantMap); + _inherit(A.Instantiation1, A.Instantiation); + _inherit(A.NullError, A.TypeError); + _inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]); + _inherit(A._AssertionError, A.AssertionError); + _inheritMany(A.MapBase, [A.JsLinkedHashMap, A._HashMap]); + _inheritMany(A.Closure2Args, [A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A.Future_wait_handleError, A._Future__propagateToListeners_handleWhenCompleteCallback_closure0, A._cancelAndErrorClosure_closure, A.HashMap_HashMap$from_closure, A.MapBase_mapToString_closure, A._BigIntImpl_hashCode_combine, A.Uri_parseIPv6Address_error, A.WasmInitializationMessage_sendToWorker_closure, A.WasmInitializationMessage_sendToPort_closure, A.WasmInitializationMessage_sendToClient_closure, A.DatabaseImplementation_createFunction_closure, A.WasmInstance_load_closure, A.WasmInstance_load__closure, A.AsynchronousIndexedDbFileSystem__write_writeBlock, A._InjectedValues_closure5, A._InjectedValues_closure6, A._InjectedValues_closure11, A._InjectedValues_closure12, A._InjectedValues_closure13, A._InjectedValues_closure14, A._InjectedValues_closure15, A._InjectedValues_closure16, A._InjectedValues_closure27, A._InjectedValues_closure28, A.Frame_Frame$parseV8_closure_parseJsLocation]); + _inherit(A.NativeArrayBuffer, A.NativeByteBuffer); + _inheritMany(A.NativeTypedData, [A.NativeByteData, A.NativeTypedArray]); + _inheritMany(A.NativeTypedArray, [A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]); + _inherit(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin); + _inherit(A.NativeTypedArrayOfDouble, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin); + _inherit(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin); + _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]); + _inherit(A._TypeError, A._Error); + _inheritMany(A.Stream, [A._StreamImpl, A._ForwardingStream, A._BoundSinkStream, A.AsyncJavaScriptIteratable, A._CloseGuaranteeStream, A._EventStream]); + _inherit(A._ControllerStream, A._StreamImpl); + _inherit(A._BroadcastStream, A._ControllerStream); + _inheritMany(A._BufferingStreamSubscription, [A._ControllerSubscription, A._ForwardingStreamSubscription, A._SinkTransformerStreamSubscription]); + _inherit(A._BroadcastSubscription, A._ControllerSubscription); + _inherit(A._SyncBroadcastStreamController, A._BroadcastStreamController); + _inheritMany(A._Completer, [A._AsyncCompleter, A._SyncCompleter]); + _inheritMany(A._StreamController, [A._AsyncStreamController, A._SyncStreamController]); + _inheritMany(A._DelayedEvent, [A._DelayedData, A._DelayedError]); + _inherit(A._MapStream, A._ForwardingStream); + _inherit(A._StreamSinkTransformer, A.StreamTransformerBase); + _inherit(A._StreamHandlerTransformer, A._StreamSinkTransformer); + _inheritMany(A._Zone, [A._CustomZone, A._RootZone]); + _inherit(A._IdentityHashMap, A._HashMap); + _inherit(A._SetBase, A.SetBase); + _inherit(A._LinkedHashSet, A._SetBase); + _inheritMany(A.Codec, [A.Encoding, A.Base64Codec, A._FusedCodec]); + _inheritMany(A.Encoding, [A.AsciiCodec, A.Utf8Codec]); + _inheritMany(A.Converter, [A._UnicodeSubsetEncoder, A.Base64Encoder, A.Utf8Encoder]); + _inherit(A.AsciiEncoder, A._UnicodeSubsetEncoder); + _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]); + _inherit(A._DataUri, A._Uri); + _inheritMany(A.Message, [A.Request, A.SuccessResponse, A.ErrorResponse, A.CancelledResponse]); + _inheritMany(A._Enum, [A.NoArgsRequest, A.StatementMethod, A.NestedExecutorControl, A.UpdateKind, A.SqlDialect, A.ProtocolVersion, A.WasmStorageImplementation, A.WebStorageApi, A.OpenMode, A.WorkerOperation, A.FileType]); + _inherit(A.DatabaseDelegate, A.QueryDelegate); + _inherit(A.NoTransactionDelegate, A.TransactionDelegate); + _inheritMany(A.DbVersionDelegate, [A.NoVersionDelegate, A.DynamicVersionDelegate]); + _inheritMany(A.QueryExecutor, [A._BaseExecutor, A._InterceptedExecutor, A.LazyDatabase]); + _inheritMany(A._BaseExecutor, [A._TransactionExecutor, A.DelegatedDatabase, A._BeforeOpeningExecutor, A._ExclusiveExecutor]); + _inherit(A._StatementBasedTransactionExecutor, A._TransactionExecutor); + _inherit(A._InterceptedTransactionExecutor, A._InterceptedExecutor); + _inherit(A.Sqlite3Delegate, A.DatabaseDelegate); + _inherit(A._SqliteVersionDelegate, A.DynamicVersionDelegate); + _inheritMany(A.WasmInitializationMessage, [A.CompatibilityResult, A.WorkerError, A.ServeDriftDatabase, A.RequestCompatibilityCheck, A.StartFileSystemServer, A.DeleteDatabase]); + _inheritMany(A.CompatibilityResult, [A.SharedWorkerCompatibilityResult, A.DedicatedWorkerCompatibilityResult]); + _inherit(A._CloseVfsOnClose, A.QueryInterceptor); + _inherit(A.WasmDatabase, A.DelegatedDatabase); + _inherit(A._WasmDelegate, A.Sqlite3Delegate); + _inherit(A.InternalStyle, A.Style); + _inheritMany(A.InternalStyle, [A.PosixStyle, A.UrlStyle, A.WindowsStyle]); + _inheritMany(A.FinalizablePart, [A.FinalizableDatabase, A.FinalizableStatement]); + _inherit(A.StatementImplementation, A.CommonPreparedStatement); + _inherit(A.BaseVirtualFileSystem, A.VirtualFileSystem); + _inheritMany(A.BaseVirtualFileSystem, [A.InMemoryFileSystem, A.WasmVfs, A.IndexedDbFileSystem, A.SimpleOpfsFileSystem]); + _inheritMany(A.BaseVfsFile, [A._InMemoryFile, A.WasmFile, A._SimpleOpfsFile]); + _inherit(A._ResultSet_Cursor_ListMixin, A.Cursor); + _inherit(A._ResultSet_Cursor_ListMixin_NonGrowableListMixin, A._ResultSet_Cursor_ListMixin); + _inherit(A.ResultSet, A._ResultSet_Cursor_ListMixin_NonGrowableListMixin); + _inherit(A._Row_Object_UnmodifiableMapMixin_MapMixin, A._Row_Object_UnmodifiableMapMixin); + _inherit(A.Row, A._Row_Object_UnmodifiableMapMixin_MapMixin); + _inherit(A.WasmSqliteBindings, A.RawSqliteBindings); + _inherit(A.WasmDatabase0, A.RawSqliteDatabase); + _inherit(A.WasmStatementCompiler, A.RawStatementCompiler); + _inherit(A.WasmStatement, A.RawSqliteStatement); + _inherit(A.WasmContext, A.RawSqliteContext); + _inherit(A.WasmValue, A.RawSqliteValue); + _inherit(A.WasmSqlite3, A.Sqlite3Implementation); + _inheritMany(A.Message0, [A.EmptyMessage, A.Flags]); + _inherit(A.NameAndInt32Flags, A.Flags); + _inherit(A._IndexedDbWorkItem, A.LinkedListEntry); + _inheritMany(A._IndexedDbWorkItem, [A._FunctionWorkItem, A._DeleteFileWorkItem, A._CreateFileWorkItem, A._WriteFileWorkItem]); + _inheritMany(A.StreamChannelMixin, [A.CloseGuaranteeChannel, A.GuaranteeChannel]); + _inherit(A._CloseGuaranteeSink, A.DelegatingStreamSink); + _inherit(A._IntBuffer, A.TypedDataBuffer); + _inherit(A.Uint8Buffer, A._IntBuffer); + _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); + _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin); + _mixin(A._AsyncStreamController, A._AsyncStreamControllerDispatch); + _mixin(A._SyncStreamController, A._SyncStreamControllerDispatch); + _mixin(A._ResultSet_Cursor_ListMixin, A.ListBase); + _mixin(A._ResultSet_Cursor_ListMixin_NonGrowableListMixin, A.NonGrowableListMixin); + _mixin(A._Row_Object_UnmodifiableMapMixin, A.UnmodifiableMapMixin); + _mixin(A._Row_Object_UnmodifiableMapMixin_MapMixin, A.MapBase); + })(); + var init = { + G: typeof self != "undefined" ? self : globalThis, + 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", JSObject: "JSObject"}, + mangledNames: {}, + types: ["~()", "~(JSObject)", "Future<~>()", "bool(String)", "int(int,int)", "double(num)", "Null()", "~(Object,StackTrace)", "String(String)", "~(Object?)", "Null(int)", "Frame()", "Null(JSObject)", "int(int)", "Frame(String)", "Object?(Object?)", "~(@)", "int(int,int,int)", "String(int)", "Future()", "~(JSObject?,List?)", "~(~())", "Null(int,int,int)", "Future()", "bool(~)", "int(int,int,int,int,int)", "int?(int)", "int(int,int,int,int)", "Trace(String)", "int(int,int,int,JavaScriptBigInt)", "~(Object[StackTrace?])", "int(Frame)", "String(Frame)", "@()", "bool()", "Null(@)", "num?(List)", "TableUpdate(Object?)", "Null(bool)", "Future()", "@(@,String)", "~(@,StackTrace)", "int()", "Future()", "Map(List)", "int(List)", "~(@,@)", "Null(QueryExecutor)", "Future(~)", "~(Object?,Object?)", "@(String)", "Null(@,StackTrace)", "bool(int)", "JSObject(JSArray)", "RunningWasmServer()", "Future()", "Future()", "~(EventSink)", "~(bool,bool,bool,List<+(WebStorageApi,String)>)", "~(int,@)", "String(String?)", "String(Object?)", "~(RawSqliteContext,List)", "~(FinalizablePart)", "~(String,Map)", "~(String,Object?)", "~(_OpenedFileHandle)", "JSObject(JSObject?)", "Future<~>(int,Uint8List)", "Future<~>(int)", "Uint8List()", "Future(String)", "0&(String,int?)", "bool(Object?)", "Null(~())", "Future<~>(Request)", "Null(Object,StackTrace)", "Null(~)", "int(int,JavaScriptBigInt)", "ResponsePayload?/(Request)", "Null(int,int,int,int,JavaScriptBigInt)", "Null(JavaScriptBigInt,int)", "List(Trace)", "int(Trace)", "@(@)", "String(Trace)", "Future()", "CancellationToken<@>?()", "Frame(String,String)", "Trace()", "int(@,@)", "Request()", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "0^(0^,0^)", "SuccessResponse()", "ExecuteBatchedStatement()", "bool?(List)", "bool?(List<@>)", "EmptyMessage(MessageSerializer)", "Flags(MessageSerializer)", "NameAndInt32Flags(MessageSerializer)", "List(JSArray)", "Null(int,int)"], + interceptorsByTag: null, + leafTags: null, + arrayRti: Symbol("$ti"), + rttc: { + "2;": (t1, t2) => o => o instanceof A._Record_2 && t1._is(o._0) && t2._is(o._1), + "2;file,outFlags": (t1, t2) => o => o instanceof A._Record_2_file_outFlags && t1._is(o._0) && t2._is(o._1) + } + }; + A._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"LegacyJavaScriptObject","PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","NativeSharedArrayBuffer":"NativeByteBuffer","JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[]},"JSArraySafeToStringHook":{"SafeToStringHook":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["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":[],"JSIndexable":["@"],"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"},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.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"],"Iterable.E":"2","ListIterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"ExpandIterator":{"Iterator":["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"]},"SkipWhileIterable":{"Iterable":["1"],"Iterable.E":"1"},"SkipWhileIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterator":{"Iterator":["1"]},"IndexedIterable":{"Iterable":["+(int,1)"],"Iterable.E":"+(int,1)"},"EfficientLengthIndexedIterable":{"IndexedIterable":["1"],"EfficientLengthIterable":["+(int,1)"],"Iterable":["+(int,1)"],"Iterable.E":"+(int,1)"},"IndexedIterator":{"Iterator":["+(int,1)"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"_Record_2":{"_Record2":[],"_Record":[]},"_Record_2_file_outFlags":{"_Record2":[],"_Record":[]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"Instantiation":{"Closure":[],"Function":[]},"Instantiation1":{"Closure":[],"Function":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Closure":[],"Function":[]},"Closure2Args":{"Closure":[],"Function":[]},"TearOffClosure":{"Closure":[],"Function":[]},"StaticClosure":{"Closure":[],"Function":[]},"BoundClosure":{"Closure":[],"Function":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeysIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"LinkedHashMapValuesIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapValueIterator":{"Iterator":["1"]},"LinkedHashMapEntriesIterable":{"EfficientLengthIterable":["MapEntry<1,2>"],"Iterable":["MapEntry<1,2>"],"Iterable.E":"MapEntry<1,2>"},"LinkedHashMapEntryIterator":{"Iterator":["MapEntry<1,2>"]},"_Record2":{"_Record":[]},"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"]},"NativeArrayBuffer":{"NativeByteBuffer":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeByteData":{"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeInt32List":{"NativeTypedArrayOfInt":[],"Int32List":[],"ListBase":["int"],"TypedDataList":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"Uint8List":[],"ListBase":["int"],"TypedDataList":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeByteBuffer":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[]},"_UnmodifiableNativeByteBufferView":{"ByteBuffer":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JSObject":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"NativeTypedArrayOfDouble":[],"Float32List":[],"ListBase":["double"],"TypedDataList":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"NativeTypedArrayOfDouble":[],"Float64List":[],"ListBase":["double"],"TypedDataList":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"Int16List":[],"ListBase":["int"],"TypedDataList":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"Int8List":[],"ListBase":["int"],"TypedDataList":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"Uint16List":[],"ListBase":["int"],"TypedDataList":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"Uint32List":[],"ListBase":["int"],"TypedDataList":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"Uint8ClampedList":[],"ListBase":["int"],"TypedDataList":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_HandlerEventSink":{"EventSink":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_SyncStarIterator":{"Iterator":["1"]},"_SyncStarIterable":{"Iterable":["1"],"Iterable.E":"1"},"_BroadcastStream":{"_ControllerStream":["1"],"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_BroadcastSubscription":{"_ControllerSubscription":["1"],"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_BroadcastStreamController":{"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncBroadcastStreamController":{"_BroadcastStreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_Future":{"Future":["1"]},"StreamTransformerBase":{"StreamTransformer":["1","2"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"EventSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"EventSink":["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"],"EventSink":["1"]},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_EventSinkWrapper":{"EventSink":["1"]},"_SinkTransformerStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_StreamSinkTransformer":{"StreamTransformer":["1","2"]},"_BoundSinkStream":{"Stream":["2"],"Stream.T":"2"},"_StreamHandlerTransformer":{"_StreamSinkTransformer":["1","2"],"StreamTransformer":["1","2"]},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedHashSetIterator":{"Iterator":["1"]},"LinkedList":{"Iterable":["1"],"Iterable.E":"1"},"_LinkedListIterator":{"Iterator":["1"]},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"_MapBaseValueIterable":{"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_MapBaseValueIterator":{"Iterator":["2"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"AsciiCodec":{"Codec":["String","List"]},"_UnicodeSubsetEncoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"AsciiEncoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Base64Codec":{"Codec":["List","String"]},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"_FusedCodec":{"Codec":["1","3"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"Utf8Codec":{"Codec":["String","List"]},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"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"]},"RegExpMatch":{"Match":[]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"_Enum":{"Enum":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"IntegerDivisionByZeroException":{"Exception":[],"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"NullRejectionException":{"Exception":[]},"_JSSecureRandom":{"Random":[]},"DelegatingStreamSink":{"StreamSink":["1"],"EventSink":["1"]},"ConnectionClosedException":{"Exception":[]},"DriftRemoteException":{"Exception":[]},"Request":{"Message":[]},"SuccessResponse":{"Message":[]},"StatementMethod":{"Enum":[]},"ExecuteBatchedStatement":{"RequestPayload":[]},"NestedExecutorControl":{"Enum":[]},"NotifyTablesUpdated":{"RequestPayload":[]},"PrimitiveResponsePayload":{"ResponsePayload":[]},"ErrorResponse":{"Message":[]},"CancelledResponse":{"Message":[]},"NoArgsRequest":{"Enum":[],"RequestPayload":[]},"ExecuteQuery":{"RequestPayload":[]},"RequestCancellation":{"RequestPayload":[]},"RunNestedExecutorControl":{"RequestPayload":[]},"EnsureOpen":{"RequestPayload":[]},"ServerInfo":{"RequestPayload":[]},"RunBeforeOpen":{"RequestPayload":[]},"SelectResult":{"ResponsePayload":[]},"ServerImplementation":{"DriftServer":[]},"_ServerDbUser":{"QueryExecutorUser":[]},"UpdateKind":{"Enum":[]},"CancellationException":{"Exception":[]},"NoVersionDelegate":{"DbVersionDelegate":[]},"DynamicVersionDelegate":{"DbVersionDelegate":[]},"_BaseExecutor":{"QueryExecutor":[]},"_TransactionExecutor":{"_BaseExecutor":[],"TransactionExecutor":[],"QueryExecutor":[]},"_StatementBasedTransactionExecutor":{"_BaseExecutor":[],"TransactionExecutor":[],"QueryExecutor":[]},"DelegatedDatabase":{"_BaseExecutor":[],"QueryExecutor":[]},"_BeforeOpeningExecutor":{"_BaseExecutor":[],"QueryExecutor":[]},"_ExclusiveExecutor":{"_BaseExecutor":[],"QueryExecutor":[]},"_InterceptedExecutor":{"QueryExecutor":[]},"_InterceptedTransactionExecutor":{"TransactionExecutor":[],"QueryExecutor":[]},"SqlDialect":{"Enum":[]},"Sqlite3Delegate":{"DatabaseDelegate":[]},"_SqliteVersionDelegate":{"DbVersionDelegate":[]},"LazyDatabase":{"QueryExecutor":[]},"SharedWorkerCompatibilityResult":{"WasmInitializationMessage":[]},"ProtocolVersion":{"Enum":[]},"CompatibilityResult":{"WasmInitializationMessage":[]},"WorkerError":{"WasmInitializationMessage":[],"Exception":[]},"ServeDriftDatabase":{"WasmInitializationMessage":[]},"RequestCompatibilityCheck":{"WasmInitializationMessage":[]},"DedicatedWorkerCompatibilityResult":{"WasmInitializationMessage":[]},"StartFileSystemServer":{"WasmInitializationMessage":[]},"DeleteDatabase":{"WasmInitializationMessage":[]},"_CloseVfsOnClose":{"QueryInterceptor":[]},"WasmStorageImplementation":{"Enum":[]},"WebStorageApi":{"Enum":[]},"WasmDatabase":{"DelegatedDatabase":[],"_BaseExecutor":[],"QueryExecutor":[]},"_WasmDelegate":{"Sqlite3Delegate":["CommonDatabase"],"DatabaseDelegate":[],"Sqlite3Delegate.0":"CommonDatabase"},"PathException":{"Exception":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"SqliteException":{"Exception":[]},"SqliteArguments":{"List":["Object?"],"EfficientLengthIterable":["Object?"],"Iterable":["Object?"]},"FinalizableDatabase":{"FinalizablePart":[]},"DatabaseImplementation":{"CommonDatabase":[]},"ValueList":{"ListBase":["Object?"],"List":["Object?"],"EfficientLengthIterable":["Object?"],"Iterable":["Object?"],"ListBase.E":"Object?"},"Sqlite3Implementation":{"CommonSqlite3":[]},"FinalizableStatement":{"FinalizablePart":[]},"StatementImplementation":{"CommonPreparedStatement":[]},"InMemoryFileSystem":{"VirtualFileSystem":[]},"_InMemoryFile":{"VirtualFileSystemFile":[]},"Row":{"UnmodifiableMapMixin":["String","@"],"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"ResultSet":{"ListBase":["Row"],"NonGrowableListMixin":["Row"],"List":["Row"],"EfficientLengthIterable":["Row"],"Cursor":[],"Iterable":["Row"],"ListBase.E":"Row"},"_ResultIterator":{"Iterator":["Row"]},"OpenMode":{"Enum":[]},"IndexedParameters":{"StatementParameters":[]},"VfsException":{"Exception":[]},"BaseVirtualFileSystem":{"VirtualFileSystem":[]},"BaseVfsFile":{"VirtualFileSystemFile":[]},"WasmValue":{"RawSqliteValue":[]},"WasmSqliteBindings":{"RawSqliteBindings":[]},"WasmDatabase0":{"RawSqliteDatabase":[]},"WasmStatement":{"RawSqliteStatement":[]},"WasmContext":{"RawSqliteContext":[]},"WasmValueList":{"ListBase":["WasmValue"],"List":["WasmValue"],"EfficientLengthIterable":["WasmValue"],"Iterable":["WasmValue"],"ListBase.E":"WasmValue"},"AsyncJavaScriptIteratable":{"Stream":["1"],"Stream.T":"1"},"WasmSqlite3":{"CommonSqlite3":[]},"WasmVfs":{"VirtualFileSystem":[]},"WasmFile":{"VirtualFileSystemFile":[]},"WorkerOperation":{"Enum":[]},"EmptyMessage":{"Message0":[]},"Flags":{"Message0":[]},"NameAndInt32Flags":{"Flags":[],"Message0":[]},"IndexedDbFileSystem":{"VirtualFileSystem":[]},"_IndexedDbWorkItem":{"LinkedListEntry":["_IndexedDbWorkItem"]},"_IndexedDbFile":{"VirtualFileSystemFile":[]},"_FunctionWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"_DeleteFileWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"_CreateFileWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"_WriteFileWorkItem":{"_IndexedDbWorkItem":[],"LinkedListEntry":["_IndexedDbWorkItem"],"LinkedListEntry.E":"_IndexedDbWorkItem"},"FileType":{"Enum":[]},"SimpleOpfsFileSystem":{"VirtualFileSystem":[]},"_SimpleOpfsFile":{"VirtualFileSystemFile":[]},"Chain":{"StackTrace":[]},"LazyTrace":{"Trace":[],"StackTrace":[]},"Trace":{"StackTrace":[]},"UnparsedFrame":{"Frame":[]},"CloseGuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannel":["1"]},"_CloseGuaranteeStream":{"Stream":["1"],"Stream.T":"1"},"_CloseGuaranteeSink":{"DelegatingStreamSink":["1"],"StreamSink":["1"],"EventSink":["1"]},"GuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"],"EventSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"Uint8Buffer":{"TypedDataBuffer":["int"],"ListBase":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","TypedDataBuffer.E":"int"},"TypedDataBuffer":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_IntBuffer":{"TypedDataBuffer":["int"],"ListBase":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"Int8List":{"TypedDataList":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"TypedDataList":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"TypedDataList":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"TypedDataList":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"TypedDataList":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"TypedDataList":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"TypedDataList":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"TypedDataList":["double"],"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"TypedDataList":["double"],"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}')); + A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"StreamTransformerBase":2,"_DelayedEvent":1,"AggregateContext":1}')); + var string$ = { + x00_____: "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\u03f6\x00\u0404\u03f4 \u03f4\u03f6\u01f6\u01f6\u03f6\u03fc\u01f4\u03ff\u03ff\u0584\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u05d4\u01f4\x00\u01f4\x00\u0504\u05c4\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u0400\x00\u0400\u0200\u03f7\u0200\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u0200\u0200\u0200\u03f7\x00", + x3d_____: "===== asynchronous gap ===========================\n", + Cannoteff: "Cannot extract a file path from a URI with a fragment component", + Cannotefq: "Cannot extract a file path from a URI with a query component", + Cannoten: "Cannot extract a non-Windows file path from a file URI with an authority", + Cannotf: "Cannot fire new event. Controller is already firing an event", + 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", + Tried_: "Tried to operate on a released prepared statement" + }; + var type$ = (function rtii() { + var findType = A.findType; + return { + AggregateContext_nullable_Object: findType("AggregateContext"), + AsyncError: findType("AsyncError"), + AsyncJavaScriptIteratable_JSArray_nullable_Object: findType("AsyncJavaScriptIteratable>"), + ByteBuffer: findType("ByteBuffer"), + ByteData: findType("ByteData"), + CancellationToken_dynamic: findType("CancellationToken<@>"), + CommonPreparedStatement: findType("CommonPreparedStatement"), + Comparable_dynamic: findType("Comparable<@>"), + DateTime: findType("DateTime"), + DedicatedWorkerCompatibilityResult: findType("DedicatedWorkerCompatibilityResult"), + DriftCommunication: findType("DriftCommunication"), + Duration: findType("Duration"), + EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"), + EmptyMessage: findType("EmptyMessage"), + Error: findType("Error"), + Exception: findType("Exception"), + FileType: findType("FileType"), + FinalizablePart: findType("FinalizablePart"), + Flags: findType("Flags"), + Float32List: findType("Float32List"), + Float64List: findType("Float64List"), + Frame: findType("Frame"), + Frame_Function_String: findType("Frame(String)"), + Function: findType("Function"), + FutureOr_nullable_ResponsePayload_Function_Request: findType("ResponsePayload?/(Request)"), + Future_bool: findType("Future"), + Future_nullable_ResponsePayload: findType("Future"), + Future_nullable_Uint8List: findType("Future"), + IndexedDbFileSystem: findType("IndexedDbFileSystem"), + Int16List: findType("Int16List"), + Int32List: findType("Int32List"), + Int8List: findType("Int8List"), + Iterable_String: findType("Iterable"), + Iterable_double: findType("Iterable"), + Iterable_dynamic: findType("Iterable<@>"), + Iterable_int: findType("Iterable"), + JSArray_ArgumentsForBatchedStatement: findType("JSArray"), + JSArray_CommonPreparedStatement: findType("JSArray"), + JSArray_FinalizableStatement: findType("JSArray"), + JSArray_Frame: findType("JSArray"), + JSArray_Future_void: findType("JSArray>"), + JSArray_JSArray_nullable_Object: findType("JSArray>"), + JSArray_JSObject: findType("JSArray"), + JSArray_List_dynamic: findType("JSArray>"), + JSArray_List_nullable_Object: findType("JSArray>"), + JSArray_Map_of_String_and_nullable_Object: findType("JSArray>"), + JSArray_Object: findType("JSArray"), + JSArray_Record_2_WebStorageApi_and_String: findType("JSArray<+(WebStorageApi,String)>"), + JSArray_StatementImplementation: findType("JSArray"), + JSArray_String: findType("JSArray"), + JSArray_TableUpdate: findType("JSArray"), + JSArray_Trace: findType("JSArray"), + JSArray__OffsetAndBuffer: findType("JSArray<_OffsetAndBuffer>"), + JSArray_double: findType("JSArray"), + JSArray_dynamic: findType("JSArray<@>"), + JSArray_int: findType("JSArray"), + JSArray_nullable_Object: findType("JSArray"), + JSArray_nullable_String: findType("JSArray"), + JSArray_nullable_double: findType("JSArray"), + JSArray_nullable_int: findType("JSArray"), + JSArray_of_void_Function: findType("JSArray<~()>"), + JSIndexable_dynamic: findType("JSIndexable<@>"), + JSNull: findType("JSNull"), + JSObject: findType("JSObject"), + JavaScriptBigInt: findType("JavaScriptBigInt"), + JavaScriptFunction: findType("JavaScriptFunction"), + JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), + JavaScriptSymbol: findType("JavaScriptSymbol"), + LinkedList__IndexedDbWorkItem: findType("LinkedList<_IndexedDbWorkItem>"), + List_JSArray_nullable_Object: findType("List>"), + List_JSObject: findType("List"), + List_Map_of_String_and_nullable_Object: findType("List>"), + List_RawSqliteValue: findType("List"), + List_Record_2_WebStorageApi_and_String: findType("List<+(WebStorageApi,String)>"), + List_String: findType("List"), + List_dynamic: findType("List<@>"), + List_int: findType("List"), + List_nullable_Object: findType("List"), + Map_String_JSObject: findType("Map"), + Map_String_int: findType("Map"), + Map_dynamic_dynamic: findType("Map<@,@>"), + Map_of_String_and_Map_String_JSObject: findType("Map>"), + Map_of_String_and_nullable_Object: findType("Map"), + MappedIterable_String_Frame: findType("MappedIterable"), + MappedListIterable_String_Trace: findType("MappedListIterable"), + MappedListIterable_String_dynamic: findType("MappedListIterable"), + Message: findType("Message"), + Message_2: findType("Message0"), + NameAndInt32Flags: findType("NameAndInt32Flags"), + NativeArrayBuffer: findType("NativeArrayBuffer"), + NativeByteData: findType("NativeByteData"), + NativeInt32List: findType("NativeInt32List"), + NativeTypedArrayOfDouble: findType("NativeTypedArrayOfDouble"), + NativeTypedArrayOfInt: findType("NativeTypedArrayOfInt"), + NativeUint8List: findType("NativeUint8List"), + NotifyTablesUpdated: findType("NotifyTablesUpdated"), + Null: findType("Null"), + Object: findType("Object"), + QueryExecutor: findType("QueryExecutor"), + QueryResult: findType("QueryResult"), + Record: findType("Record"), + Record_0: findType("+()"), + Record_2_nullable_JSObject_and_JSObject: findType("+(JSObject?,JSObject)"), + Record_2_nullable_Object_and_int: findType("+(Object?,int)"), + RegExpMatch: findType("RegExpMatch"), + RegisteredFunctionSet: findType("RegisteredFunctionSet"), + Request: findType("Request"), + ResponsePayload: findType("ResponsePayload"), + ReversedListIterable_String: findType("ReversedListIterable"), + Row: findType("Row"), + RunningWasmServer: findType("RunningWasmServer"), + SelectResult: findType("SelectResult"), + ServeDriftDatabase: findType("ServeDriftDatabase"), + SessionApplyCallbacks: findType("SessionApplyCallbacks"), + SharedWorkerCompatibilityResult: findType("SharedWorkerCompatibilityResult"), + SimpleOpfsFileSystem: findType("SimpleOpfsFileSystem"), + SqlDialect: findType("SqlDialect"), + SqliteException: findType("SqliteException"), + SqliteResult_nullable_RawSqliteStatement: findType("SqliteResult"), + StackTrace: findType("StackTrace"), + StatementImplementation: findType("StatementImplementation"), + StreamChannelController_nullable_Object: findType("StreamChannelController"), + String: findType("String"), + Timer: findType("Timer"), + Trace: findType("Trace"), + Trace_Function_String: findType("Trace(String)"), + TransactionExecutor: findType("TransactionExecutor"), + TrustedGetRuntimeType: findType("TrustedGetRuntimeType"), + TypeError: findType("TypeError"), + Uint16List: findType("Uint16List"), + Uint32List: findType("Uint32List"), + Uint8Buffer: findType("Uint8Buffer"), + Uint8ClampedList: findType("Uint8ClampedList"), + Uint8List: findType("Uint8List"), + UnknownJavaScriptObject: findType("UnknownJavaScriptObject"), + Uri: findType("Uri"), + VfsWorker: findType("VfsWorker"), + VirtualFileSystem: findType("VirtualFileSystem"), + VirtualFileSystemFile: findType("VirtualFileSystemFile"), + WasmBindings: findType("WasmBindings"), + WasmSqlite3: findType("WasmSqlite3"), + WasmStorageImplementation: findType("WasmStorageImplementation"), + WasmValue: findType("WasmValue"), + WasmVfs: findType("WasmVfs"), + WhereIterable_String: findType("WhereIterable"), + WhereTypeIterable_String: findType("WhereTypeIterable"), + WorkerOperation_Flags_EmptyMessage: findType("WorkerOperation"), + WorkerOperation_Flags_Flags: findType("WorkerOperation"), + WorkerOperation_NameAndInt32Flags_Flags: findType("WorkerOperation"), + Zone: findType("Zone"), + _AsyncCompleter_SharedWorkerCompatibilityResult: findType("_AsyncCompleter"), + _AsyncCompleter_bool: findType("_AsyncCompleter"), + _AsyncCompleter_nullable_Uint8List: findType("_AsyncCompleter"), + _AsyncCompleter_void: findType("_AsyncCompleter<~>"), + _BigIntImpl: findType("_BigIntImpl"), + _CursorReader_JSObject: findType("_CursorReader"), + _EventStream_JSObject: findType("_EventStream"), + _Future_JSObject: findType("_Future"), + _Future_SharedWorkerCompatibilityResult: findType("_Future"), + _Future_bool: findType("_Future"), + _Future_dynamic: findType("_Future<@>"), + _Future_int: findType("_Future"), + _Future_nullable_Uint8List: findType("_Future"), + _Future_void: findType("_Future<~>"), + _IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap"), + _OpenedFileHandle: findType("_OpenedFileHandle"), + _PendingRequest: findType("_PendingRequest"), + _ResolvedPath: findType("_ResolvedPath"), + _StreamControllerAddStreamState_nullable_Object: findType("_StreamControllerAddStreamState"), + _StreamIterator_JSObject: findType("_StreamIterator"), + _SyncBroadcastStreamController_void: findType("_SyncBroadcastStreamController<~>"), + _SyncCompleter_JSObject: findType("_SyncCompleter"), + _SyncCompleter_bool: findType("_SyncCompleter"), + _SyncCompleter_void: findType("_SyncCompleter<~>"), + _ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace: findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,Object,StackTrace)>"), + bool: findType("bool"), + bool_Function_Object: findType("bool(Object)"), + bool_Function_String: findType("bool(String)"), + double: findType("double"), + dynamic: findType("@"), + dynamic_Function: findType("@()"), + dynamic_Function_Object: findType("@(Object)"), + dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), + dynamic_Function_String: findType("@(String)"), + int: findType("int"), + nullable_FutureOr_nullable_Uint8List_Function: findType("Uint8List?/()?"), + nullable_Future_Null: findType("Future?"), + nullable_JSObject: findType("JSObject?"), + nullable_JavaScriptFunction: findType("JavaScriptFunction?"), + nullable_List_JSObject: findType("List?"), + nullable_Map_of_nullable_Object_and_nullable_Object: findType("Map?"), + nullable_NativeUint8List: findType("NativeUint8List?"), + nullable_Object: findType("Object?"), + nullable_Object_Function_SqliteArguments: findType("Object?(SqliteArguments)"), + nullable_RequestPayload: findType("RequestPayload?"), + nullable_ResponsePayload: findType("ResponsePayload?"), + nullable_StackTrace: findType("StackTrace?"), + nullable_String: findType("String?"), + nullable_Uint8Buffer: findType("Uint8Buffer?"), + nullable_Uint8List: findType("Uint8List?"), + nullable_Zone: findType("Zone?"), + nullable_ZoneDelegate: findType("ZoneDelegate?"), + nullable_ZoneSpecification: findType("ZoneSpecification?"), + nullable__DelayedEvent_dynamic: findType("_DelayedEvent<@>?"), + nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"), + nullable__LinkedHashSetCell: findType("_LinkedHashSetCell?"), + nullable_bool: findType("bool?"), + nullable_double: findType("double?"), + nullable_int: findType("int?"), + nullable_int_Function: findType("int()?"), + nullable_num: findType("num?"), + nullable_void_Function: findType("~()?"), + nullable_void_Function_2_RawSqliteContext_and_List_RawSqliteValue: findType("~(RawSqliteContext,List)?"), + nullable_void_Function_JSObject: findType("~(JSObject)?"), + nullable_void_Function_int_String_int: findType("~(int,String,int)?"), + num: findType("num"), + void: findType("~"), + void_Function: findType("~()"), + void_Function_2_nullable_JSObject_and_nullable_List_JSObject: findType("~(JSObject?,List?)"), + void_Function_Object: findType("~(Object)"), + void_Function_Object_StackTrace: findType("~(Object,StackTrace)"), + void_Function_Timer: findType("~(Timer)") + }; + })(); + (function constants() { + var makeConstList = hunkHelpers.makeConstList; + B.Interceptor_methods = J.Interceptor.prototype; + B.JSArray_methods = J.JSArray.prototype; + B.JSInt_methods = J.JSInt.prototype; + B.JSNumber_methods = J.JSNumber.prototype; + B.JSString_methods = J.JSString.prototype; + B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; + B.JavaScriptObject_methods = J.JavaScriptObject.prototype; + B.NativeByteData_methods = A.NativeByteData.prototype; + B.NativeUint8List_methods = A.NativeUint8List.prototype; + B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; + B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; + B.AllowedArgumentCount_0 = new A.AllowedArgumentCount(0); + B.AllowedArgumentCount_1 = new A.AllowedArgumentCount(1); + B.AllowedArgumentCount_2 = new A.AllowedArgumentCount(2); + B.AllowedArgumentCount_3 = new A.AllowedArgumentCount(3); + B.AllowedArgumentCount_m1 = new A.AllowedArgumentCount(-1); + B.AsciiEncoder_127 = new A.AsciiEncoder(127); + B.CONSTANT = new A.Instantiation1(A.math__max$closure(), A.findType("Instantiation1")); + B.C_AsciiCodec = new A.AsciiCodec(); + B.C_Base64Encoder = new A.Base64Encoder(); + B.C_Base64Codec = new A.Base64Codec(); + B.C_CancellationException = new A.CancellationException(); + B.C_ConnectionClosedException = new A.ConnectionClosedException(); + B.C_DefaultEquality = new A.DefaultEquality(A.findType("DefaultEquality<0&>")); + B.C_DriftProtocol = new A.DriftProtocol(); + B.C_EmptyIterator = new A.EmptyIterator(A.findType("EmptyIterator<0&>")); + B.C_EmptyMessage = new A.EmptyMessage(); + B.C_IntegerDivisionByZeroException = new A.IntegerDivisionByZeroException(); + B.C_JS_CONST = function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +}; + B.C_JS_CONST0 = function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof HTMLElement == "function"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +}; + B.C_JS_CONST6 = function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("DumpRenderTree") >= 0) return hooks; + if (userAgent.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +}; + B.C_JS_CONST1 = function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +}; + B.C_JS_CONST5 = function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +}; + B.C_JS_CONST4 = function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +}; + B.C_JS_CONST2 = function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +}; + B.C_JS_CONST3 = function(hooks) { return hooks; } +; + B.C_ListEquality = new A.ListEquality(A.findType("ListEquality")); + B.C_NoTransactionDelegate = new A.NoTransactionDelegate(); + B.C_NoVersionDelegate = new A.NoVersionDelegate(); + B.C_OutOfMemoryError = new A.OutOfMemoryError(); + B.C_SentinelValue = new A.SentinelValue(); + B.C_Utf8Codec = new A.Utf8Codec(); + B.C_Utf8Encoder = new A.Utf8Encoder(); + B.C__DelayedDone = new A._DelayedDone(); + B.C__RootZone = new A._RootZone(); + B.Duration_0 = new A.Duration(0); + B.FormatException_IWx = new A.FormatException("Unknown tag", null, null); + B.FormatException_NvI = new A.FormatException("Cannot read message", null, null); + B.List_11 = makeConstList([11], type$.JSArray_int); + B.WebStorageApi_0 = new A.WebStorageApi(0, "opfs"); + B.WasmStorageImplementation_0_opfsShared = new A.WasmStorageImplementation(0, "opfsShared"); + B.WasmStorageImplementation_1_opfsLocks = new A.WasmStorageImplementation(1, "opfsLocks"); + B.WebStorageApi_1 = new A.WebStorageApi(1, "indexedDb"); + B.WasmStorageImplementation_2_sharedIndexedDb = new A.WasmStorageImplementation(2, "sharedIndexedDb"); + B.WasmStorageImplementation_3_unsafeIndexedDb = new A.WasmStorageImplementation(3, "unsafeIndexedDb"); + B.WasmStorageImplementation_4_inMemory = new A.WasmStorageImplementation(4, "inMemory"); + B.List_5sp = makeConstList([B.WasmStorageImplementation_0_opfsShared, B.WasmStorageImplementation_1_opfsLocks, B.WasmStorageImplementation_2_sharedIndexedDb, B.WasmStorageImplementation_3_unsafeIndexedDb, B.WasmStorageImplementation_4_inMemory], A.findType("JSArray")); + B.UpdateKind_0 = new A.UpdateKind(0, "insert"); + B.UpdateKind_1 = new A.UpdateKind(1, "update"); + B.UpdateKind_2 = new A.UpdateKind(2, "delete"); + B.List_L4j = makeConstList([B.UpdateKind_0, B.UpdateKind_1, B.UpdateKind_2], A.findType("JSArray")); + B.List_WebStorageApi_0_WebStorageApi_1 = makeConstList([B.WebStorageApi_0, B.WebStorageApi_1], A.findType("JSArray")); + B.List_empty = makeConstList([], type$.JSArray_JSObject); + B.List_empty2 = makeConstList([], type$.JSArray_List_nullable_Object); + B.List_empty3 = makeConstList([], type$.JSArray_Object); + B.List_empty0 = makeConstList([], type$.JSArray_String); + B.List_empty1 = makeConstList([], type$.JSArray_nullable_Object); + B.List_empty4 = makeConstList([], type$.JSArray_Record_2_WebStorageApi_and_String); + B.FileType_Gi5 = new A.FileType("/database", 0, "database"); + B.FileType_Pwc = new A.FileType("/database-journal", 1, "journal"); + B.List_fyc = makeConstList([B.FileType_Gi5, B.FileType_Pwc], A.findType("JSArray")); + B.WorkerOperation_W3i = new A.WorkerOperation(A.sync_channel_MessageSerializer_readNameAndFlags$closure(), A.sync_channel_MessageSerializer_readFlags$closure(), 0, "xAccess", type$.WorkerOperation_NameAndInt32Flags_Flags); + B.WorkerOperation_aCN = new A.WorkerOperation(A.sync_channel_MessageSerializer_readNameAndFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 1, "xDelete", A.findType("WorkerOperation")); + B.WorkerOperation_readNameAndFlags_readFlags_2_xOpen = new A.WorkerOperation(A.sync_channel_MessageSerializer_readNameAndFlags$closure(), A.sync_channel_MessageSerializer_readFlags$closure(), 2, "xOpen", type$.WorkerOperation_NameAndInt32Flags_Flags); + B.WorkerOperation_readFlags_readFlags_3_xRead = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readFlags$closure(), 3, "xRead", type$.WorkerOperation_Flags_Flags); + B.WorkerOperation_readFlags_readEmpty_4_xWrite = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 4, "xWrite", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_5_xSleep = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 5, "xSleep", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_6_xClose = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 6, "xClose", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readFlags_7_xFileSize = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readFlags$closure(), 7, "xFileSize", type$.WorkerOperation_Flags_Flags); + B.WorkerOperation_readFlags_readEmpty_8_xSync = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 8, "xSync", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_9_xTruncate = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 9, "xTruncate", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_10_xLock = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 10, "xLock", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readFlags_readEmpty_11_xUnlock = new A.WorkerOperation(A.sync_channel_MessageSerializer_readFlags$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 11, "xUnlock", type$.WorkerOperation_Flags_EmptyMessage); + B.WorkerOperation_readEmpty_readEmpty_12_stopServer = new A.WorkerOperation(A.sync_channel_MessageSerializer_readEmpty$closure(), A.sync_channel_MessageSerializer_readEmpty$closure(), 12, "stopServer", A.findType("WorkerOperation")); + B.List_mvT = makeConstList([B.WorkerOperation_W3i, B.WorkerOperation_aCN, B.WorkerOperation_readNameAndFlags_readFlags_2_xOpen, B.WorkerOperation_readFlags_readFlags_3_xRead, B.WorkerOperation_readFlags_readEmpty_4_xWrite, B.WorkerOperation_readFlags_readEmpty_5_xSleep, B.WorkerOperation_readFlags_readEmpty_6_xClose, B.WorkerOperation_readFlags_readFlags_7_xFileSize, B.WorkerOperation_readFlags_readEmpty_8_xSync, B.WorkerOperation_readFlags_readEmpty_9_xTruncate, B.WorkerOperation_readFlags_readEmpty_10_xLock, B.WorkerOperation_readFlags_readEmpty_11_xUnlock, B.WorkerOperation_readEmpty_readEmpty_12_stopServer], A.findType("JSArray>")); + B.SqlDialect_0_sqlite = new A.SqlDialect(0, "sqlite"); + B.SqlDialect_1_mysql = new A.SqlDialect(1, "mysql"); + B.SqlDialect_2_postgres = new A.SqlDialect(2, "postgres"); + B.SqlDialect_3_mariadb = new A.SqlDialect(3, "mariadb"); + B.List_rcv = makeConstList([B.SqlDialect_0_sqlite, B.SqlDialect_1_mysql, B.SqlDialect_2_postgres, B.SqlDialect_3_mariadb], A.findType("JSArray")); + B.StatementMethod_0 = new A.StatementMethod(0, "custom"); + B.StatementMethod_1 = new A.StatementMethod(1, "deleteOrUpdate"); + B.StatementMethod_2 = new A.StatementMethod(2, "insert"); + B.StatementMethod_3 = new A.StatementMethod(3, "select"); + B.List_s6K = makeConstList([B.StatementMethod_0, B.StatementMethod_1, B.StatementMethod_2, B.StatementMethod_3], A.findType("JSArray")); + B.NestedExecutorControl_0 = new A.NestedExecutorControl(0, "beginTransaction"); + B.NestedExecutorControl_1 = new A.NestedExecutorControl(1, "commit"); + B.NestedExecutorControl_2 = new A.NestedExecutorControl(2, "rollback"); + B.NestedExecutorControl_3 = new A.NestedExecutorControl(3, "startExclusive"); + B.NestedExecutorControl_4 = new A.NestedExecutorControl(4, "endExclusive"); + B.List_ttt = makeConstList([B.NestedExecutorControl_0, B.NestedExecutorControl_1, B.NestedExecutorControl_2, B.NestedExecutorControl_3, B.NestedExecutorControl_4], A.findType("JSArray")); + B.Object_empty = {}; + B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); + B.NoArgsRequest_0 = new A.NoArgsRequest(0, "terminateAll"); + B.OpenMode_2 = new A.OpenMode(2, "readWriteCreate"); + B.ProtocolVersion_0_0_legacy = new A.ProtocolVersion(0, 0, "legacy"); + B.ProtocolVersion_1_1_v1 = new A.ProtocolVersion(1, 1, "v1"); + B.ProtocolVersion_2_2_v2 = new A.ProtocolVersion(2, 2, "v2"); + B.ProtocolVersion_3_3_v3 = new A.ProtocolVersion(3, 3, "v3"); + B.ProtocolVersion_4_4_v4 = new A.ProtocolVersion(4, 4, "v4"); + B.List_empty5 = makeConstList([], type$.JSArray_Map_of_String_and_nullable_Object); + B.SelectResult_List_empty = new A.SelectResult(B.List_empty5); + B.Symbol_hNH = new A.Symbol("drift.runtime.cancellation"); + B.Type_ByteBuffer_rqD = A.typeLiteral("ByteBuffer"); + B.Type_ByteData_9dB = A.typeLiteral("ByteData"); + B.Type_Float32List_9Kz = A.typeLiteral("Float32List"); + B.Type_Float64List_9Kz = A.typeLiteral("Float64List"); + B.Type_Int16List_s5h = A.typeLiteral("Int16List"); + B.Type_Int32List_O8Z = A.typeLiteral("Int32List"); + B.Type_Int8List_rFV = A.typeLiteral("Int8List"); + B.Type_Object_A4p = A.typeLiteral("Object"); + B.Type_Uint16List_kmP = A.typeLiteral("Uint16List"); + B.Type_Uint32List_kmP = A.typeLiteral("Uint32List"); + B.Type_Uint8ClampedList_04U = A.typeLiteral("Uint8ClampedList"); + B.Type_Uint8List_8Eb = A.typeLiteral("Uint8List"); + B.VfsException_10 = new A.VfsException(10); + B.VfsException_12 = new A.VfsException(12); + B.VfsException_14 = new A.VfsException(14); + B.VfsException_2570 = new A.VfsException(2570); + B.VfsException_3850 = new A.VfsException(3850); + B.VfsException_522 = new A.VfsException(522); + B.VfsException_778 = new A.VfsException(778); + B.VfsException_8 = new A.VfsException(8); + B._PathDirection_6kc = new A._PathDirection("reaches root"); + B._PathDirection_Wme = new A._PathDirection("below root"); + B._PathDirection_dMN = new A._PathDirection("at root"); + B._PathDirection_vgO = new A._PathDirection("above root"); + B._PathRelation_different = new A._PathRelation("different"); + B._PathRelation_equal = new A._PathRelation("equal"); + B._PathRelation_inconclusive = new A._PathRelation("inconclusive"); + B._PathRelation_within = new A._PathRelation("within"); + B._StringStackTrace_OdL = new A._StringStackTrace(""); + B._ZoneFunction_KjJ = new A._ZoneFunction(B.C__RootZone, A.async___rootHandleUncaughtError$closure(), type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace); + B._ZoneFunction_PAY = new A._ZoneFunction(B.C__RootZone, A.async___rootCreatePeriodicTimer$closure(), A.findType("_ZoneFunction")); + B._ZoneFunction_Xkh = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterUnaryCallback$closure(), A.findType("_ZoneFunction<0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))>")); + B._ZoneFunction__RootZone__rootCreateTimer = new A._ZoneFunction(B.C__RootZone, A.async___rootCreateTimer$closure(), A.findType("_ZoneFunction")); + B._ZoneFunction__RootZone__rootErrorCallback = new A._ZoneFunction(B.C__RootZone, A.async___rootErrorCallback$closure(), A.findType("_ZoneFunction")); + B._ZoneFunction__RootZone__rootFork = new A._ZoneFunction(B.C__RootZone, A.async___rootFork$closure(), A.findType("_ZoneFunction?)>")); + B._ZoneFunction__RootZone__rootPrint = new A._ZoneFunction(B.C__RootZone, A.async___rootPrint$closure(), A.findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,String)>")); + B._ZoneFunction__RootZone__rootRegisterCallback = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterCallback$closure(), A.findType("_ZoneFunction<0^()(Zone,ZoneDelegate,Zone,0^())>")); + B._ZoneFunction__RootZone__rootRun = new A._ZoneFunction(B.C__RootZone, A.async___rootRun$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^())>")); + B._ZoneFunction__RootZone__rootRunBinary = new A._ZoneFunction(B.C__RootZone, A.async___rootRunBinary$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^(1^,2^),1^,2^)>")); + B._ZoneFunction__RootZone__rootRunUnary = new A._ZoneFunction(B.C__RootZone, A.async___rootRunUnary$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^(1^),1^)>")); + B._ZoneFunction__RootZone__rootScheduleMicrotask = new A._ZoneFunction(B.C__RootZone, A.async___rootScheduleMicrotask$closure(), A.findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,~())>")); + B._ZoneFunction_e9o = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterBinaryCallback$closure(), A.findType("_ZoneFunction<0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))>")); + B._ZoneSpecification_Ipa = new A._ZoneSpecification(null, null, null, null, null, null, null, null, null, null, null, null, null); + })(); + (function staticFields() { + $._JS_INTEROP_INTERCEPTOR_TAG = null; + $.toStringVisiting = A._setArrayType([], type$.JSArray_Object); + $.printToZone = null; + $.Primitives__identityHashCodeProperty = null; + $.BoundClosure__receiverFieldNameCache = null; + $.BoundClosure__interceptorFieldNameCache = null; + $.getTagFunction = null; + $.alternateTagFunction = null; + $.prototypeForTagFunction = null; + $.dispatchRecordsForInstanceTags = null; + $.interceptorsForUncacheableTags = null; + $.initNativeDispatchFlag = null; + $._Record__computedFieldKeys = A._setArrayType([], A.findType("JSArray?>")); + $._nextCallback = null; + $._lastCallback = null; + $._lastPriorityCallback = null; + $._isInCallbackLoop = false; + $.Zone__current = B.C__RootZone; + $._RootZone__rootDelegate = null; + $._BigIntImpl__lastDividendDigits = null; + $._BigIntImpl__lastDividendUsed = null; + $._BigIntImpl__lastDivisorDigits = null; + $._BigIntImpl__lastDivisorUsed = null; + $._BigIntImpl____lastQuoRemDigits = A._Cell$named("_lastQuoRemDigits"); + $._BigIntImpl____lastQuoRemUsed = A._Cell$named("_lastQuoRemUsed"); + $._BigIntImpl____lastRemUsed = A._Cell$named("_lastRemUsed"); + $._BigIntImpl____lastRem_nsh = A._Cell$named("_lastRem_nsh"); + $.Uri__cachedBaseString = ""; + $.Uri__cachedBaseUri = null; + $._currentUriBase = null; + $._current = null; + })(); + (function lazyInitializers() { + var _lazyFinal = hunkHelpers.lazyFinal, + _lazy = hunkHelpers.lazy; + _lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartClosure")); + _lazyFinal($, "nullFuture", "$get$nullFuture", () => B.C__RootZone.run$1$1(new A.nullFuture_closure(), A.findType("Future<~>"))); + _lazyFinal($, "_safeToStringHooks", "$get$_safeToStringHooks", () => A._setArrayType([new J.JSArraySafeToStringHook()], A.findType("JSArray"))); + _lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({ + toString: function() { + return "$receiver$"; + } + }))); + _lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({$method$: null, + toString: function() { + return "$receiver$"; + } + }))); + _lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(null))); + _lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + null.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(void 0))); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() { + var $argumentsExpr$ = "$arguments$"; + try { + (void 0).$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(null))); + _lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { + try { + null.$method$; + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(void 0))); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() { + try { + (void 0).$method$; + } catch (e) { + return e.message; + } + }())); + _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", () => A._AsyncRun__initializeScheduleImmediate()); + _lazyFinal($, "Future__nullFuture", "$get$Future__nullFuture", () => $.$get$nullFuture()); + _lazyFinal($, "Future__falseFuture", "$get$Future__falseFuture", () => A._Future$zoneValue(false, B.C__RootZone, type$.bool)); + _lazyFinal($, "_RootZone__rootMap", "$get$_RootZone__rootMap", () => { + var t1 = type$.dynamic; + return A.HashMap_HashMap(t1, t1); + }); + _lazyFinal($, "_Utf8Decoder__reusableBuffer", "$get$_Utf8Decoder__reusableBuffer", () => A.NativeUint8List_NativeUint8List(4096)); + _lazyFinal($, "_Utf8Decoder__decoder", "$get$_Utf8Decoder__decoder", () => new A._Utf8Decoder__decoder_closure().call$0()); + _lazyFinal($, "_Utf8Decoder__decoderNonfatal", "$get$_Utf8Decoder__decoderNonfatal", () => new A._Utf8Decoder__decoderNonfatal_closure().call$0()); + _lazyFinal($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", () => A.NativeInt8List__create1(A._ensureNativeList(A._setArrayType([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2], type$.JSArray_int)))); + _lazyFinal($, "_BigIntImpl_zero", "$get$_BigIntImpl_zero", () => A._BigIntImpl__BigIntImpl$_fromInt(0)); + _lazyFinal($, "_BigIntImpl_one", "$get$_BigIntImpl_one", () => A._BigIntImpl__BigIntImpl$_fromInt(1)); + _lazyFinal($, "_BigIntImpl_two", "$get$_BigIntImpl_two", () => A._BigIntImpl__BigIntImpl$_fromInt(2)); + _lazyFinal($, "_BigIntImpl__minusOne", "$get$_BigIntImpl__minusOne", () => $.$get$_BigIntImpl_one().$negate(0)); + _lazyFinal($, "_BigIntImpl__bigInt10000", "$get$_BigIntImpl__bigInt10000", () => A._BigIntImpl__BigIntImpl$_fromInt(10000)); + _lazy($, "_BigIntImpl__parseRE", "$get$_BigIntImpl__parseRE", () => A.RegExp_RegExp("^\\s*([+-]?)((0x[a-f0-9]+)|(\\d+)|([a-z0-9]+))\\s*$", false, false, false, false)); + _lazyFinal($, "_BigIntImpl__bitsForFromDouble", "$get$_BigIntImpl__bitsForFromDouble", () => A.NativeUint8List_NativeUint8List(8)); + _lazyFinal($, "_FinalizationRegistryWrapper__finalizationRegistryConstructor", "$get$_FinalizationRegistryWrapper__finalizationRegistryConstructor", () => typeof FinalizationRegistry == "function" ? FinalizationRegistry : null); + _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false, false, false)); + _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_A4p)); + _lazyFinal($, "Random__secureRandom", "$get$Random__secureRandom", () => { + var t1 = new A._JSSecureRandom(new DataView(new ArrayBuffer(A._checkLength(8)))); + t1._JSSecureRandom$0(); + return t1; + }); + _lazyFinal($, "WebStorageApi_byName", "$get$WebStorageApi_byName", () => A.EnumByName_asNameMap(B.List_WebStorageApi_0_WebStorageApi_1, A.findType("WebStorageApi"))); + _lazyFinal($, "windows", "$get$windows", () => A.Context_Context(null, $.$get$Style_windows())); + _lazyFinal($, "url", "$get$url", () => A.Context_Context(null, $.$get$Style_url())); + _lazyFinal($, "context", "$get$context", () => new A.Context($.$get$Style_platform(), null)); + _lazyFinal($, "Style_posix", "$get$Style_posix", () => new A.PosixStyle(A.RegExp_RegExp("/", true, false, false, false), A.RegExp_RegExp("[^/]$", true, false, false, false), A.RegExp_RegExp("^/", true, false, false, false))); + _lazyFinal($, "Style_windows", "$get$Style_windows", () => new A.WindowsStyle(A.RegExp_RegExp("[/\\\\]", true, false, false, false), A.RegExp_RegExp("[^/\\\\]$", true, false, false, false), A.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", true, false, false, false), A.RegExp_RegExp("^[/\\\\](?![/\\\\])", true, false, false, false))); + _lazyFinal($, "Style_url", "$get$Style_url", () => new A.UrlStyle(A.RegExp_RegExp("/", true, false, false, false), A.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", true, false, false, false), A.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", true, false, false, false), A.RegExp_RegExp("^/", true, false, false, false))); + _lazyFinal($, "Style_platform", "$get$Style_platform", () => A.Style__getPlatformStyle()); + _lazyFinal($, "bigIntMinValue64", "$get$bigIntMinValue64", () => A.BigInt_parse("-9223372036854775808")); + _lazyFinal($, "bigIntMaxValue64", "$get$bigIntMaxValue64", () => A.BigInt_parse("9223372036854775807")); + _lazyFinal($, "disposeFinalizer", "$get$disposeFinalizer", () => { + var t1 = $.$get$_FinalizationRegistryWrapper__finalizationRegistryConstructor(); + t1 = t1 == null ? null : new t1(A.convertDartClosureToJS(A.wrapZoneUnaryCallback(new A.disposeFinalizer_closure(), type$.FinalizablePart), 1)); + return new A._FinalizationRegistryWrapper(t1, A.findType("_FinalizationRegistryWrapper")); + }); + _lazyFinal($, "BaseVirtualFileSystem__fallbackRandom", "$get$BaseVirtualFileSystem__fallbackRandom", () => $.$get$Random__secureRandom()); + _lazyFinal($, "AsynchronousIndexedDbFileSystem__storesJs", "$get$AsynchronousIndexedDbFileSystem__storesJs", () => A.ListToJSArray_get_toJS(A._setArrayType(["files", "blocks"], type$.JSArray_String), type$.String)); + _lazyFinal($, "FileType_byName", "$get$FileType_byName", () => { + var _i, entry, + t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.FileType); + for (_i = 0; _i < 2; ++_i) { + entry = B.List_fyc[_i]; + t1.$indexSet(0, entry.filePath, entry); + } + return t1; + }); + _lazyFinal($, "DartCallbacks_sqliteVfsPointer", "$get$DartCallbacks_sqliteVfsPointer", () => new A.Expando(new WeakMap(), A.findType("Expando"))); + _lazyFinal($, "_vmFrame", "$get$_vmFrame", () => A.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", true, false, false, false)); + _lazyFinal($, "_v8JsFrame", "$get$_v8JsFrame", () => A.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", true, false, false, false)); + _lazyFinal($, "_v8JsUrlLocation", "$get$_v8JsUrlLocation", () => A.RegExp_RegExp("^(.*?):(\\d+)(?::(\\d+))?$|native$", true, false, false, false)); + _lazyFinal($, "_v8WasmFrame", "$get$_v8WasmFrame", () => A.RegExp_RegExp("^\\s*at (?:(?.+) )?(?:\\(?(?:(?\\S+):wasm-function\\[(?\\d+)\\]\\:0x(?[0-9a-fA-F]+))\\)?)$", true, false, false, false)); + _lazyFinal($, "_v8EvalLocation", "$get$_v8EvalLocation", () => A.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", true, false, false, false)); + _lazyFinal($, "_firefoxEvalLocation", "$get$_firefoxEvalLocation", () => A.RegExp_RegExp("(\\S+)@(\\S+) line (\\d+) >.* (Function|eval):\\d+:\\d+", true, false, false, false)); + _lazyFinal($, "_firefoxSafariJSFrame", "$get$_firefoxSafariJSFrame", () => A.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", true, false, false, false)); + _lazyFinal($, "_firefoxWasmFrame", "$get$_firefoxWasmFrame", () => A.RegExp_RegExp("^(?.*?)@(?:(?\\S+).*?:wasm-function\\[(?\\d+)\\]:0x(?[0-9a-fA-F]+))$", true, false, false, false)); + _lazyFinal($, "_safariWasmFrame", "$get$_safariWasmFrame", () => A.RegExp_RegExp("^.*?wasm-function\\[(?.*)\\]@\\[wasm code\\]$", true, false, false, false)); + _lazyFinal($, "_friendlyFrame", "$get$_friendlyFrame", () => A.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$", true, false, false, false)); + _lazyFinal($, "_asyncBody", "$get$_asyncBody", () => A.RegExp_RegExp("<(|[^>]+)_async_body>", true, false, false, false)); + _lazyFinal($, "_initialDot", "$get$_initialDot", () => A.RegExp_RegExp("^\\.", true, false, false, false)); + _lazyFinal($, "Frame__uriRegExp", "$get$Frame__uriRegExp", () => A.RegExp_RegExp("^[a-zA-Z][-+.a-zA-Z\\d]*://", true, false, false, false)); + _lazyFinal($, "Frame__windowsRegExp", "$get$Frame__windowsRegExp", () => A.RegExp_RegExp("^([a-zA-Z]:[\\\\/]|\\\\\\\\)", true, false, false, false)); + _lazyFinal($, "_v8Trace", "$get$_v8Trace", () => A.RegExp_RegExp("\\n ?at ", true, false, false, false)); + _lazyFinal($, "_v8TraceLine", "$get$_v8TraceLine", () => A.RegExp_RegExp(" ?at ", true, false, false, false)); + _lazyFinal($, "_firefoxEvalTrace", "$get$_firefoxEvalTrace", () => A.RegExp_RegExp("@\\S+ line \\d+ >.* (Function|eval):\\d+:\\d+", true, false, false, false)); + _lazyFinal($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", () => A.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true, false, true, false)); + _lazyFinal($, "_friendlyTrace", "$get$_friendlyTrace", () => A.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true, false, true, false)); + _lazyFinal($, "vmChainGap", "$get$vmChainGap", () => A.RegExp_RegExp("^\\n?$", true, false, true, false)); + })(); + (function nativeSupport() { + !function() { + var intern = function(s) { + var o = {}; + o[s] = 1; + return Object.keys(hunkHelpers.convertToFastObject(o))[0]; + }; + init.getIsolateTag = function(name) { + return intern("___dart_" + name + init.isolateTag); + }; + var tableProperty = "___dart_isolate_tags_"; + var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null)); + var rootProperty = "_ZxYxX"; + for (var i = 0;; i++) { + var property = intern(rootProperty + "_" + i + "_"); + if (!(property in usedProperties)) { + usedProperties[property] = 1; + init.isolateTag = property; + break; + } + } + init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); + }(); + hunkHelpers.setOrUpdateInterceptorsByTag({SharedArrayBuffer: A.NativeByteBuffer, ArrayBuffer: A.NativeArrayBuffer, 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}); + hunkHelpers.setOrUpdateLeafTags({SharedArrayBuffer: 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}); + A.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; + A.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView"; + })(); + Function.prototype.call$0 = function() { + return this(); + }; + Function.prototype.call$1 = function(a) { + return this(a); + }; + Function.prototype.call$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$3$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$2$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$1$1 = function(a) { + return this(a); + }; + Function.prototype.call$2$1 = function(a) { + return this(a); + }; + Function.prototype.call$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$3$1 = function(a) { + return this(a); + }; + Function.prototype.call$2$3 = function(a, b, c) { + return this(a, b, c); + }; + Function.prototype.call$1$2 = function(a, b) { + return this(a, b); + }; + Function.prototype.call$5 = function(a, b, c, d, e) { + return this(a, b, c, d, e); + }; + Function.prototype.call$3$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$2$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$1$4 = function(a, b, c, d) { + return this(a, b, c, d); + }; + Function.prototype.call$3$6 = function(a, b, c, d, e, f) { + return this(a, b, c, d, e, f); + }; + Function.prototype.call$2$5 = function(a, b, c, d, e) { + return this(a, b, c, d, e); + }; + Function.prototype.call$1$0 = function() { + return this(); + }; + convertAllToFastObject(holders); + convertToFastObject($); + (function(callback) { + if (typeof document === "undefined") { + callback(null); + return; + } + if (typeof document.currentScript != "undefined") { + callback(document.currentScript); + return; + } + var scripts = document.scripts; + function onLoad(event) { + for (var i = 0; i < scripts.length; ++i) { + scripts[i].removeEventListener("load", onLoad, false); + } + callback(event.target); + } + for (var i = 0; i < scripts.length; ++i) { + scripts[i].addEventListener("load", onLoad, false); + } + })(function(currentScript) { + init.currentScript = currentScript; + var callMain = A.main; + if (typeof dartMainRunner === "function") { + dartMainRunner(callMain, []); + } else { + callMain([]); + } + }); +})(); + +//# sourceMappingURL=worker.dart.js.map diff --git a/web/index.html b/web/index.html index 83a8baa..2c7ddf7 100644 --- a/web/index.html +++ b/web/index.html @@ -34,6 +34,5 @@ - diff --git a/web/sqlite3.wasm b/web/sqlite3.wasm new file mode 100644 index 0000000000000000000000000000000000000000..be71fe4b2c81a6306153abdff0da1745c73e328f GIT binary patch literal 706316 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�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%0Av--thdSG41 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

2!!( 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 literal 0 HcmV?d00001 diff --git a/web/worker.dart b/web/worker.dart new file mode 100644 index 0000000..21e90d5 --- /dev/null +++ b/web/worker.dart @@ -0,0 +1,9 @@ +import 'package:drift/wasm.dart'; + +/// This Dart program is the entrypoint of a web worker that will be compiled to +/// JavaScript by running `build_runner build`. The resulting JavaScript file +/// (`shared_worker.dart.js`) is part of the build result and will be shipped +/// with the rest of the application when running or building a Flutter web app. +void main() { + return WasmDatabase.workerMainForOpen(); +}